"Joel E. Denny" <[EMAIL PROTECTED]> writes: > Thanks. Could Gnulib's lib/stdint_.h define __STDC_LIMIT_MACROS for C++?
That sounds like the simplest workaround, for now anyway. I installed this into gnulib. I can think of more complicated but namespace-clean fixes but I'm not sure they're worth the bother. 2007-07-02 Paul Eggert <[EMAIL PROTECTED]> * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]: #define __STDC_LIMIT_MACROS temporarily while including <stdint.h>, so that __STDC_LIMIT_MACROS is defined. Problem reported by Joel E. Denny in <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>. --- lib/inttypes_.h 21 Jun 2007 04:39:10 -0000 1.13 +++ lib/inttypes_.h 2 Jul 2007 08:19:51 -0000 @@ -35,7 +35,17 @@ #define INTTYPES_H /* Include <stdint.h> or the gnulib replacement. */ -#include <stdint.h> +#if ! defined __cplusplus || defined __STDC_LIMIT_MACROS +# include <stdint.h> +#else +/* Macros like INT32_MIN are used below, so define __STDC_LIMIT_MACROS + while including <stdint.h>; this isn't namespace clean for C++, + unfortunately. */ +# define __STDC_LIMIT_MACROS +# include <stdint.h> +# undef __STDC_LIMIT_MACROS +#endif + /* Get CHAR_BIT. */ #include <limits.h>