INT_MAX definition in gmp-impl.h conflicts with limits.h
Marc Glisse
marc.glisse at inria.fr
Wed Nov 23 15:35:33 CET 2011
On Wed, 23 Nov 2011, Vincent Lefevre wrote:
> On 2011-11-23 14:48:32 +0100, Torbjorn Granlund wrote:
>> Marc Glisse <marc.glisse at inria.fr> writes:
>>
>> For now we could work around the problem by including tests.h before
>> gmp-impl.h, and postpone thinking about this until that breaks
>> too. But I wanted to check if you had a better idea.
>>
>> OK.
>>
>> I support ugly hacks in the GMP test suite, while we of course want to
>> keep the GMP lib code as clean as possible...
>
> Are you sure that this works with every other platforms, configure
> options and so on?
>
> I'm wondering... tests/tests.h has:
>
> #if HAVE_CALLING_CONVENTIONS
>
> where HAVE_CALLING_CONVENTIONS can be defined in config.h, which is
> included from gmp-impl.h. So, I would say that tests/tests.h depends
> on gmp-impl.h, so that including tests.h before gmp-impl.h could
> yield an incorrect build of the tests.
Ah. Maybe including limits.h in gmp-impl.h before defining INTMAX and
such? It is already done for CRAY, I could make it be included also in
C++/glibc when the #include <string> defined some macro characteristic of
libc++.
Actually, tests.h already includes config.h. If there is a dependency
between tests.h and gmp-impl.h, we should probably include one in the
other, but config.h is not such a dependency.
--
Marc Glisse
More information about the gmp-bugs
mailing list