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?