INT_MAX definition in gmp-impl.h conflicts with limits.h

Marc Glisse marc.glisse at
Tue Nov 22 01:29:42 CET 2011

On Tue, 22 Nov 2011, Vincent Lefevre wrote:

> On 2011-11-21 20:26:06 +0100, Marc Glisse wrote:
>> Hello,
>> 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.
> We had similar problems too between MPFR and gmp-impl.h in the past.
> The answer by Torbjorn was that gmp-impl.h is a GMP internal and
> mustn't be included by users.

Er, ok, but that doesn't tell me how to make the GMP testsuite pass (I am 
not talking about external use).

Marc Glisse

More information about the gmp-bugs mailing list