diff --git a/Cython/Utility/Exceptions.c b/Cython/Utility/Exceptions.c index 07d3f0d239e6d5935e5798261fda0a833764400b..ade2dd09f5c20e49da35b7ef87e3abb82d1d4b07 100644 --- a/Cython/Utility/Exceptions.c +++ b/Cython/Utility/Exceptions.c @@ -11,7 +11,15 @@ #if CYTHON_FAST_THREAD_STATE #define __Pyx_PyThreadState_declare PyThreadState *$local_tstate_cname; -#define __Pyx_PyThreadState_assign $local_tstate_cname = PyThreadState_GET(); +#if PY_VERSION_HEX >= 0x03050000 + #define __Pyx_PyThreadState_assign $local_tstate_cname = _PyThreadState_UncheckedGet(); +#elif PY_VERSION_HEX >= 0x03000000 + #define __Pyx_PyThreadState_assign $local_tstate_cname = PyThreadState_Get(); +#elif PY_VERSION_HEX >= 0x02070000 + #define __Pyx_PyThreadState_assign $local_tstate_cname = _PyThreadState_Current; +#else + #define __Pyx_PyThreadState_assign $local_tstate_cname = PyThreadState_Get(); +#endif #else #define __Pyx_PyThreadState_declare #define __Pyx_PyThreadState_assign