INT_MAX definition in gmp-impl.h conflicts with limits.h
Torbjorn Granlund
tg at gmplib.org
Wed Nov 23 13:30:41 CET 2011
Marc Glisse <marc.glisse at inria.fr> writes:
I was compiling gmp with clang (no issue except for the use of jb,pt
in mpn/x86_64/mod_34lsub1.asm), and then I ran the testsuite and hit
this issue: on linux, limits.h includes bits/xopen_lim.h which
contains this code:
#ifdef INT_MAX
# if INT_MAX == 32767
# define WORD_BIT 16
...
On the other hand, gmp-impl.h defines INT_MAX as something not
preprocessor-friendly (with casts). The combination doesn't work. I
can work around it by including tests.h before gmp-impl.h in the C++
test files, but that doesn't feel right.
Any opinion on the best way to go about this?
Why is only one compiler affected? Does GMP somehow #include different
files for different compilers?
--
Torbjörn
More information about the gmp-bugs
mailing list