summaryrefslogtreecommitdiff
path: root/Cython/Utility/ModuleSetupCode.c
diff options
context:
space:
mode:
authorVitja Makarov <vitja.makarov@gmail.com>2013-05-23 19:56:19 +0400
committerVitja Makarov <vitja.makarov@gmail.com>2013-05-24 10:59:39 +0400
commit0b4143878fd45ed611753bbc805ef5eba61906b7 (patch)
treecf078bf3dcabdb754ae2ad02dd8acfa9d58dedfe /Cython/Utility/ModuleSetupCode.c
parentd0627fcb5e68c038903e12ee9f84385a7a27c63c (diff)
downloadcython-0b4143878fd45ed611753bbc805ef5eba61906b7.tar.gz
Fix external reference assignment
Diffstat (limited to 'Cython/Utility/ModuleSetupCode.c')
-rw-r--r--Cython/Utility/ModuleSetupCode.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/Cython/Utility/ModuleSetupCode.c b/Cython/Utility/ModuleSetupCode.c
index 13d4418f3..c0c59f61d 100644
--- a/Cython/Utility/ModuleSetupCode.c
+++ b/Cython/Utility/ModuleSetupCode.c
@@ -531,6 +531,15 @@ static int __Pyx_check_binary_version(void) {
#define __Pyx_XGIVEREF(r)
#endif /* CYTHON_REFNANNY */
+#define __Pyx_XDECREF_SET(r, v) do { \
+ PyObject *tmp = (PyObject *) r; \
+ r = v; __Pyx_XDECREF(tmp); \
+ } while (0)
+#define __Pyx_DECREF_SET(r, v) do { \
+ PyObject *tmp = (PyObject *) r; \
+ r = v; __Pyx_DECREF(tmp); \
+ } while (0)
+
#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)