Including <limits.h> in gmp-impl.h
Torbjorn Granlund
tg at gmplib.org
Wed Dec 25 12:28:20 UTC 2013
Vincent Lefevre <vincent at vinc17.net> writes:
On 2013-12-25 12:13:39 +0100, Marc Glisse wrote:
> Oups, looks like I already asked about that:
> https://gmplib.org/list-archives/gmp-bugs/2011-November/002443.html
>
> and the reply was to try including tests.h before gmp-impl.h.
I'd say that it would be better to fix GMP. Reusing standard macros
(even when there are not supposed to be defined under some conditions)
is ugly. For instance, GMP_INT_MAX could be used instead of INT_MAX,
and there would be no risk of clashes.
Including tests.h before gmp-impl.h is probably not a good solution
because in such tests, <limits.h> (from tests.h) may be used instead
of GMP's definitions. So, if don't trust <limits.h>, that's incorrect.
I'd also say that if <limits.h> is incorrect, lots of programs will
fail to build correctly. So, GMP's trick to redefine limits will be
useful only for users who use GMP in their own applications, without
using <limits.h> in their applications either.
IIRC, limits.h was unreliable for many years, and our workarounds
allowed GMP to work on more systems.
--
Torbjörn
More information about the gmp-devel
mailing list