summaryrefslogtreecommitdiff
path: root/Modules/_decimal
diff options
context:
space:
mode:
authorStefan Krah <skrah@bytereef.org>2013-12-14 12:58:09 +0100
committerStefan Krah <skrah@bytereef.org>2013-12-14 12:58:09 +0100
commitb54f7da5de2884d676d26db953d604e631b845a5 (patch)
tree7a0e2e5354e4fe9cba6122daa96d87026a7067a8 /Modules/_decimal
parent1a1fe4df5915be073d9996254150c27d58264d44 (diff)
downloadcpython-b54f7da5de2884d676d26db953d604e631b845a5.tar.gz
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/_decimal')
-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 203275bcd1..58bee02253 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