From: Robert Bradshaw Date: Thu, 12 Sep 2013 20:59:51 +0000 (-0700) Subject: Set correct baseclass for heap allocated type subclasses. X-Git-Tag: 0.20b1~329 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e8b54dec4cdc94764abda4a107bc37dcd58e6f13;p=platform%2Fupstream%2Fpython-cython.git Set correct baseclass for heap allocated type subclasses. --- diff --git a/Cython/Compiler/ModuleNode.py b/Cython/Compiler/ModuleNode.py index 399f07a..bc2ff51 100644 --- a/Cython/Compiler/ModuleNode.py +++ b/Cython/Compiler/ModuleNode.py @@ -903,10 +903,14 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode): code.putln(header) base_type = type.base_type if base_type: + basestruct_cname = base_type.objstruct_cname + if basestruct_cname == "PyTypeObject": + # User-defined subclasses of type are heap allocated. + basestruct_cname = "PyHeapTypeObject" code.putln( "%s%s %s;" % ( ("struct ", "")[base_type.typedef_flag], - base_type.objstruct_cname, + basestruct_cname, Naming.obj_base_cname)) else: code.putln(