summaryrefslogtreecommitdiff
path: root/Cython/Utility/ModuleSetupCode.c
diff options
context:
space:
mode:
authorStefan Behnel <stefan_ml@behnel.de>2018-05-18 18:35:40 +0200
committerStefan Behnel <stefan_ml@behnel.de>2018-05-18 18:35:40 +0200
commit0c3e3613554f73080f266fafeb0efdc4f354c3ce (patch)
tree64d26847a9f25a5fbfc44d57ef8c1e260c4f47c4 /Cython/Utility/ModuleSetupCode.c
parent3143d776654f34e311beb0602c3e4f360054923e (diff)
parent8e618b58edbfc145c81b23f8bb7208cce0d3221c (diff)
downloadcython-0c3e3613554f73080f266fafeb0efdc4f354c3ce.tar.gz
Merge branch '0.28.x'
Diffstat (limited to 'Cython/Utility/ModuleSetupCode.c')
-rw-r--r--Cython/Utility/ModuleSetupCode.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/Cython/Utility/ModuleSetupCode.c b/Cython/Utility/ModuleSetupCode.c
index cfb51358f..e0e887d6e 100644
--- a/Cython/Utility/ModuleSetupCode.c
+++ b/Cython/Utility/ModuleSetupCode.c
@@ -697,7 +697,8 @@ static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) {
#ifndef CYTHON_SMALL_CODE
#if defined(__clang__)
#define CYTHON_SMALL_CODE
-#elif defined(__GNUC__)
+#elif defined(__GNUC__) && (!(defined(__cplusplus)) || (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4)))
+ // At least g++ 4.4.7 can generate crashing code with this option. (GH #2235)
#define CYTHON_SMALL_CODE __attribute__((optimize("Os")))
#else
#define CYTHON_SMALL_CODE