Hi Jim,

> Then, look carefully and you'll see that all three branches
> are the same, so you can condense them into one:
>
>   #if @HAVE_LONG_64BIT@ || @HAVE_LONG_LONG_64BIT@ || defined _MSC_VER
>   # define INT64_MIN   (~INT64_MIN)
>   # define INT64_MAX   INT64_C(9223372036854775807)
>   # define UINT64_MAX UINT64_C(18446744073709551615)
>   #endif

Looks nicer than the existing code.

But when used from C++, <stdint.h> must *not* define INT64_C, UINT64_C
etc. if __STDC_CONSTANT_MACROS is not defined. So if a user wants only
the __STDC_LIMIT_MACROS and not the __STDC_CONSTANT_MACROS, our stdint_.h
should still work. We could escape to using __INT64_C and __UINT64_C,
like glibc does, but this bears the risk of conflicts with the system
headers.

Bruno



_______________________________________________
bug-gnulib mailing list
bug-gnulib@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-gnulib

Reply via email to