fix temp allocation when importing external C functions
authorStefan Behnel <scoder@users.berlios.de>
Tue, 7 Apr 2009 13:56:49 +0000 (15:56 +0200)
committerStefan Behnel <scoder@users.berlios.de>
Tue, 7 Apr 2009 13:56:49 +0000 (15:56 +0200)
Cython/Compiler/ModuleNode.py

index 4234fa39849d6b2739f5202ea458f07780bd78b0..ec6fa73336060d34e4f839d52d1969409f8fc320 100644 (file)
@@ -37,7 +37,6 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode):
     #  body      StatListNode
     #
     #  referenced_modules   [ModuleScope]
-    #  module_temp_cname    string
     #  full_module_name     string
     #
     #  scope                The module scope.
@@ -63,9 +62,6 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode):
         env.return_type = PyrexTypes.c_void_type
         self.referenced_modules = []
         self.find_referenced_modules(env, self.referenced_modules, {})
-        if self.has_imported_c_functions():
-            self.module_temp_cname = env.allocate_temp_pyobject()
-            env.release_temp(self.module_temp_cname)
         if options.recursive:
             self.generate_dep_file(env, result)
         self.generate_c_code(env, options, result)
@@ -1831,7 +1827,7 @@ class ModuleNode(Nodes.Node, Nodes.BlockNode):
         if entries:
             env.use_utility_code(import_module_utility_code)
             env.use_utility_code(function_import_utility_code)
-            temp = self.module_temp_cname
+            temp = code.globalstate.allocate_temp(py_object_type)
             code.putln(
                 '%s = __Pyx_ImportModule("%s"); if (!%s) %s' % (
                     temp,