diff options
author | Paolo Carlini <paolo.carlini@oracle.com> | 2008-09-09 21:33:46 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2008-09-09 21:33:46 +0000 |
commit | 802841eb8c993791522e6dadc4aa64fac3badec4 (patch) | |
tree | 59f780bc075b4a18cf800b7f31a102bec88b4b97 | |
parent | e56f5f3e5aad70d12c6ea019c99028a4daf5dc2b (diff) | |
download | gcc-802841eb8c993791522e6dadc4aa64fac3badec4.zip gcc-802841eb8c993791522e6dadc4aa64fac3badec4.tar.gz gcc-802841eb8c993791522e6dadc4aa64fac3badec4.tar.bz2 |
cinttypes: Restore __STDC_FORMAT_MACRO after inclusion of <inttypes.h>.
2008-09-09 Paolo Carlini <paolo.carlini@oracle.com>
* include/tr1_impl/cinttypes: Restore __STDC_FORMAT_MACRO after
inclusion of <inttypes.h>.
* include/tr1_impl/cstdint: Likewise for __STDC_LIMIT_MACROS and
__STDC_CONSTANT_MACROS after <stdint.h>.
* include/bits/postypes.h: Likewise.
From-SVN: r140174
-rw-r--r-- | libstdc++-v3/ChangeLog | 8 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/postypes.h | 18 | ||||
-rw-r--r-- | libstdc++-v3/include/tr1_impl/cinttypes | 11 | ||||
-rw-r--r-- | libstdc++-v3/include/tr1_impl/cstdint | 10 |
4 files changed, 42 insertions, 5 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index d8f8b94..3adbedc 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,11 @@ +2008-09-09 Paolo Carlini <paolo.carlini@oracle.com> + + * include/tr1_impl/cinttypes: Restore __STDC_FORMAT_MACRO after + inclusion of <inttypes.h>. + * include/tr1_impl/cstdint: Likewise for __STDC_LIMIT_MACROS and + __STDC_CONSTANT_MACROS after <stdint.h>. + * include/bits/postypes.h: Likewise. + 2008-09-09 Andreas Schwab <schwab@suse.de> * acinclude.m4 (GLIBCXX_CHECK_STANDARD_LAYOUT): Fix compile check diff --git a/libstdc++-v3/include/bits/postypes.h b/libstdc++-v3/include/bits/postypes.h index 6d57a24..c186285 100644 --- a/libstdc++-v3/include/bits/postypes.h +++ b/libstdc++-v3/include/bits/postypes.h @@ -46,18 +46,30 @@ #include <cwchar> // For mbstate_t -// XXX If <stdint.h> is really needed, make sure to define the macros, -// in order not to break <tr1/cstdint> (and <cstdint> in C++0x). -// Reconsider all this as soon as possible... +// XXX If <stdint.h> is really needed, make sure to define the macros +// before including it, in order not to break <tr1/cstdint> (and <cstdint> +// in C++0x). Reconsider all this as soon as possible... #if (defined(_GLIBCXX_HAVE_INT64_T) && !defined(_GLIBCXX_HAVE_INT64_T_LONG) \ && !defined(_GLIBCXX_HAVE_INT64_T_LONG_LONG)) + #ifndef __STDC_LIMIT_MACROS +# define _UNDEF__STDC_LIMIT_MACROS # define __STDC_LIMIT_MACROS #endif #ifndef __STDC_CONSTANT_MACROS +# define _UNDEF__STDC_CONSTANT_MACROS # define __STDC_CONSTANT_MACROS #endif #include <stdint.h> // For int64_t +#ifdef _UNDEF__STDC_LIMIT_MACROS +# undef __STDC_LIMIT_MACROS +# undef _UNDEF__STDC_LIMIT_MACROS +#endif +#ifdef _UNDEF__STDC_CONSTANT_MACROS +# undef __STDC_CONSTANT_MACROS +# undef _UNDEF__STDC_CONSTANT_MACROS +#endif + #endif _GLIBCXX_BEGIN_NAMESPACE(std) diff --git a/libstdc++-v3/include/tr1_impl/cinttypes b/libstdc++-v3/include/tr1_impl/cinttypes index 2dfafa8..a6b7435 100644 --- a/libstdc++-v3/include/tr1_impl/cinttypes +++ b/libstdc++-v3/include/tr1_impl/cinttypes @@ -36,9 +36,16 @@ #if _GLIBCXX_USE_C99_INTTYPES_TR1 -// For 8.11.1/1 (see C99, Note 184) -#define __STDC_FORMAT_MACROS +// For 8.11.1/1 (see C99, Note 184) +#ifndef __STDC_FORMAT_MACROS +# define _UNDEF__STDC_FORMAT_MACROS +# define __STDC_FORMAT_MACROS +#endif #include_next <inttypes.h> +#ifdef _UNDEF__STDC_FORMAT_MACROS +# undef __STDC_FORMAT_MACROS +# undef _UNDEF__STDC_FORMAT_MACROS +#endif namespace std { diff --git a/libstdc++-v3/include/tr1_impl/cstdint b/libstdc++-v3/include/tr1_impl/cstdint index 93edf7c..7ba2fa0 100644 --- a/libstdc++-v3/include/tr1_impl/cstdint +++ b/libstdc++-v3/include/tr1_impl/cstdint @@ -38,12 +38,22 @@ // For 8.22.1/1 (see C99, Notes 219, 220, 222) #ifndef __STDC_LIMIT_MACROS +# define _UNDEF__STDC_LIMIT_MACROS # define __STDC_LIMIT_MACROS #endif #ifndef __STDC_CONSTANT_MACROS +# define _UNDEF__STDC_CONSTANT_MACROS # define __STDC_CONSTANT_MACROS #endif #include_next <stdint.h> +#ifdef _UNDEF__STDC_LIMIT_MACROS +# undef __STDC_LIMIT_MACROS +# undef _UNDEF__STDC_LIMIT_MACROS +#endif +#ifdef _UNDEF__STDC_CONSTANT_MACROS +# undef __STDC_CONSTANT_MACROS +# undef _UNDEF__STDC_CONSTANT_MACROS +#endif namespace std { |