#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>.
+2007-07-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ * 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>.
+
2007-07-01 Bruno Haible <bruno@clisp.org>
* lib/unistdio.h: New file.
#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>