Jarno Rajahalme <jarno.rajaha...@nsn.com> writes:

> So it seems that the aim is for the gnulib/stdint.h types and the
> macros be consistent with the system versions. If so, why not use the
> system versions for defining them, if they exist?

Because the system versions are often wrong.  gnulib/m4/stdint.m4
contains a fairly strict test of the system version, and if this test
fails, we don't trust the system version.

> -#if LONG_MAX >> 31 >> 31 == 1
> +/* OSX needs int64_t to be "long long" rather than "long int" */
> +#if LONG_MAX >> 31 >> 31 == 1 && !(defined (__APPLE__) && defined (__MACH__))

This is not the Autoconf Way.  We should instead test (in stdint.m4)
that the system stdint.h defines int64_t to an appropriate type, and if
so, set a flag that stdint.in.h uses to avoid redefining int64_t.  Can
you write a patch along those lines?


Reply via email to