diff --git a/Cython/Compiler/ModuleNode.py b/Cython/Compiler/ModuleNode.py index a50702a839c89ae0b2bf843f0c7e99343eb58003..88e6ae0462f22c5d7241a098a44fcc9cc5104508 100644 --- a/Cython/Compiler/ModuleNode.py +++ b/Cython/Compiler/ModuleNode.py @@ -1252,8 +1252,10 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode): if base_type.scope and base_type.scope.needs_gc(): code.putln("PyObject_GC_Track(o);") else: - code.putln("if (PyType_IS_GC(Py_TYPE(o)->tp_base))" - " PyObject_GC_Track(o);") + code.putln("#if CYTHON_COMPILING_IN_CPYTHON") + code.putln("if (PyType_IS_GC(Py_TYPE(o)->tp_base))") + code.putln("#endif") + code.putln("PyObject_GC_Track(o);") tp_dealloc = TypeSlots.get_base_slot_function(scope, tp_slot) if tp_dealloc is not None: