summaryrefslogtreecommitdiff
path: root/Cython/Compiler/ModuleNode.py
diff options
context:
space:
mode:
authorStefan Behnel <stefan_ml@behnel.de>2019-06-01 09:05:18 +0200
committerStefan Behnel <stefan_ml@behnel.de>2019-06-01 09:05:18 +0200
commit6947db1c25142007aea389d39580d31c29ea8c09 (patch)
tree3b01585430764e573126356bbdc106b4b8133ca7 /Cython/Compiler/ModuleNode.py
parentc8190c4de6745454022c481b014c8bca253ddec1 (diff)
downloadcython-6947db1c25142007aea389d39580d31c29ea8c09.tar.gz
Avoid checking Py_TPFLAGS_HAVE_FINALIZE in Py3.8 and later since CPython now relies on the feature being there.
Diffstat (limited to 'Cython/Compiler/ModuleNode.py')
-rw-r--r--Cython/Compiler/ModuleNode.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/Cython/Compiler/ModuleNode.py b/Cython/Compiler/ModuleNode.py
index a705dfd48..2762c2d5b 100644
--- a/Cython/Compiler/ModuleNode.py
+++ b/Cython/Compiler/ModuleNode.py
@@ -1458,7 +1458,8 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode):
finalised_check = (
'(!PyType_IS_GC(Py_TYPE(o)) || !_PyGC_FINALIZED(o))')
code.putln(
- "if (unlikely(PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE)"
+ "if (unlikely("
+ "(PY_VERSION_HEX >= 0x03080000 || PyType_HasFeature(Py_TYPE(o), Py_TPFLAGS_HAVE_FINALIZE))"
" && Py_TYPE(o)->tp_finalize) && %s) {" % finalised_check)
# if instance was resurrected by finaliser, return
code.putln("if (PyObject_CallFinalizerFromDealloc(o)) return;")