summaryrefslogtreecommitdiff
path: root/Cython/Compiler/ModuleNode.py
diff options
context:
space:
mode:
authorStefan Behnel <stefan_ml@behnel.de>2018-06-17 16:42:24 +0200
committerStefan Behnel <stefan_ml@behnel.de>2018-06-17 16:43:10 +0200
commit771fe73056af92a77cfc42789c113934ad9855fc (patch)
treebcdf0fa8787183b539bfb68f1b0affe94392ed96 /Cython/Compiler/ModuleNode.py
parent46b39552d9f309001964527175e2c3d884eb7e4c (diff)
downloadcython-771fe73056af92a77cfc42789c113934ad9855fc.tar.gz
Repair inclusion of TypeImport utility code for api .h files.
Diffstat (limited to 'Cython/Compiler/ModuleNode.py')
-rw-r--r--Cython/Compiler/ModuleNode.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/Cython/Compiler/ModuleNode.py b/Cython/Compiler/ModuleNode.py
index 0f8d353e3..39184c3b1 100644
--- a/Cython/Compiler/ModuleNode.py
+++ b/Cython/Compiler/ModuleNode.py
@@ -2980,6 +2980,10 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode):
# table pointer if any.
if type in env.types_imported:
return
+ if type.name not in Code.ctypedef_builtins_map:
+ # see corresponding condition in generate_type_import_call() below!
+ code.globalstate.use_utility_code(
+ UtilityCode.load_cached("TypeImport", "ImportExport.c"))
self.generate_type_import_call(type, code, import_generator, error_pos=pos)
if type.vtabptr_cname:
code.globalstate.use_utility_code(
@@ -3018,8 +3022,6 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode):
assert error_pos is not None
error_code = code.error_goto(error_pos)
- code.globalstate.use_utility_code(
- UtilityCode.load_cached("TypeImport", "ImportExport.c"))
module = import_generator.imported_module(module_name, error_code)
code.put('%s = __Pyx_ImportType(%s, %s,' % (
type.typeptr_cname,