summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorStefan Krah <skrah@bytereef.org>2013-12-14 11:58:09 (GMT)
committerStefan Krah <skrah@bytereef.org>2013-12-14 11:58:09 (GMT)
commit01e5f800b40992f2f61f4fd6ac4eca4ae1847cc0 (patch)
tree662df124f2ea7afe329ae0fe620667e36fdb69d3 /Modules
parent956040a7cce05aada13e833478273485f7f74722 (diff)
downloadcpython-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.h20
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