xdecref cleanup of star args only when required
authorStefan Behnel <scoder@users.berlios.de>
Wed, 23 Jan 2008 19:37:01 +0000 (20:37 +0100)
committerStefan Behnel <scoder@users.berlios.de>
Wed, 23 Jan 2008 19:37:01 +0000 (20:37 +0100)
Cython/Compiler/Nodes.py

index 08a87a9e70882b61e992092fb06171e6c4e803b3..ffc4c63de0055973389825761e9094dfdd7f7637 100644 (file)
@@ -1352,6 +1352,7 @@ class DefNode(FuncDefNode):
                     nargs,
                     star_arg_addr,
                     self.error_value()))
+            self.star_arg.entry.xdecref_cleanup = 0
         elif self.entry.signature.has_generic_args:
             # make sure supernumerous positional arguments do not run
             # into keyword-only arguments and provide a more helpful
@@ -1373,6 +1374,7 @@ class DefNode(FuncDefNode):
                     Naming.kwdlist_cname,
                     self.arg_address(self.starstar_arg),
                     self.reqd_kw_flags_cname))
+            self.starstar_arg.entry.xdecref_cleanup = 0
         elif self.num_required_kw_args:
             handle_error = 1
             code.put("if (unlikely(__Pyx_CheckRequiredKeywords(%s, %s, %s) < 0)) " % (