On Apr 23, 2010, at 3:04 PM, ext Paul Eggert wrote: > 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?
Sorry, I can't parse stdint.m4. If it is up to me, it'll take some time to come up to speed with the Autoconf Way. Jarno