summaryrefslogtreecommitdiff
path: root/Cython/Compiler/ModuleNode.py
diff options
context:
space:
mode:
authorRobert Bradshaw <robertwb@gmail.com>2014-10-29 23:32:08 -0700
committerRobert Bradshaw <robertwb@gmail.com>2014-10-29 23:32:08 -0700
commit2c104e675ece92bd89ec032593fe52f7ec695919 (patch)
tree591431521f6c2fb28bbb661049960d1819112952 /Cython/Compiler/ModuleNode.py
parent39cae5e928a0105a3242b490a514741477edbe4e (diff)
downloadcython-2c104e675ece92bd89ec032593fe52f7ec695919.tar.gz
Only define used ctuples.
Diffstat (limited to 'Cython/Compiler/ModuleNode.py')
-rw-r--r--Cython/Compiler/ModuleNode.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/Cython/Compiler/ModuleNode.py b/Cython/Compiler/ModuleNode.py
index 4e7a38a1c..560acc1b8 100644
--- a/Cython/Compiler/ModuleNode.py
+++ b/Cython/Compiler/ModuleNode.py
@@ -721,6 +721,8 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode):
pass
elif type.is_struct_or_union or type.is_cpp_class:
self.generate_struct_union_predeclaration(entry, code)
+ elif type.is_ctuple and entry.used:
+ self.generate_struct_union_predeclaration(entry.type.struct_entry, code)
elif type.is_extension_type:
self.generate_objstruct_predeclaration(type, code)
# Actual declarations
@@ -734,6 +736,8 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode):
self.generate_enum_definition(entry, code)
elif type.is_struct_or_union:
self.generate_struct_union_definition(entry, code)
+ elif type.is_ctuple and entry.used:
+ self.generate_struct_union_definition(entry.type.struct_entry, code)
elif type.is_cpp_class:
self.generate_cpp_class_definition(entry, code)
elif type.is_extension_type: