diff options
author | Stefan Krah <skrah@bytereef.org> | 2013-12-14 11:58:09 (GMT) |
---|---|---|
committer | Stefan Krah <skrah@bytereef.org> | 2013-12-14 11:58:09 (GMT) |
commit | 01e5f800b40992f2f61f4fd6ac4eca4ae1847cc0 (patch) | |
tree | 662df124f2ea7afe329ae0fe620667e36fdb69d3 /Modules | |
parent | 956040a7cce05aada13e833478273485f7f74722 (diff) | |
download | cpython-01e5f800b40992f2f61f4fd6ac4eca4ae1847cc0.zip cpython-01e5f800b40992f2f61f4fd6ac4eca4ae1847cc0.tar.gz cpython-01e5f800b40992f2f61f4fd6ac4eca4ae1847cc0.tar.bz2 |
Fix C++ header usage. This __STDC_LIMIT_MACROS scheme can still be subverted
by including stdint.h before mpdecimal.h. In that case the only option left
is to compile with -D_STDC_LIMIT_MACROS.
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/_decimal/libmpdec/mpdecimal.h | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/Modules/_decimal/libmpdec/mpdecimal.h b/Modules/_decimal/libmpdec/mpdecimal.h index 203275b..58bee02 100644 --- a/Modules/_decimal/libmpdec/mpdecimal.h +++ b/Modules/_decimal/libmpdec/mpdecimal.h @@ -32,6 +32,10 @@ #ifdef __cplusplus extern "C" { + #ifndef __STDC_LIMIT_MACROS + #define __STDC_LIMIT_MACROS + #define MPD_CLEAR_STDC_LIMIT_MACROS + #endif #endif @@ -55,18 +59,12 @@ extern "C" { #define MPD_HIDE_SYMBOLS_END #define EXTINLINE extern inline #else + #ifdef HAVE_STDINT_H + #include <stdint.h> + #endif #ifdef HAVE_INTTYPES_H #include <inttypes.h> #endif - #ifdef HAVE_STDINT_H - #if defined(__cplusplus) && !defined(__STDC_LIMIT_MACROS) - #define __STDC_LIMIT_MACROS - #include <stdint.h> - #undef __STDC_LIMIT_MACROS - #else - #include <stdint.h> - #endif - #endif #ifndef __GNUC_STDC_INLINE__ #define __GNUC_STDC_INLINE__ 1 #endif @@ -835,6 +833,10 @@ MPD_PRAGMA(MPD_HIDE_SYMBOLS_END) /* restore previous scope rules */ #ifdef __cplusplus + #ifdef MPD_CLEAR_STDC_LIMIT_MACROS + #undef MPD_CLEAR_STDC_LIMIT_MACROS + #undef __STDC_LIMIT_MACROS + #endif } /* END extern "C" */ #endif |