From: Stefan Behnel Date: Mon, 23 Feb 2009 20:54:30 +0000 (+0100) Subject: do it right this time: call generate_post_assignment_code X-Git-Tag: 0.11.rc~46 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=736bb2e380f422d0115311451520455aaea66ef5;p=cython.git do it right this time: call generate_post_assignment_code --- diff --git a/Cython/Compiler/Nodes.py b/Cython/Compiler/Nodes.py index 57dce96a..80863610 100644 --- a/Cython/Compiler/Nodes.py +++ b/Cython/Compiler/Nodes.py @@ -1234,17 +1234,13 @@ class FuncDefNode(StatNode, BlockNode): if not default.is_literal: default.generate_evaluation_code(code) default.make_owned_reference(code) - if default.is_temp and default.type.is_pyobject: - cleanup = " %s = 0;" % default.result() - else: - cleanup = '' code.putln( - "%s = %s;%s" % ( + "%s = %s;" % ( arg.default_entry.cname, - default.result_as(arg.default_entry.type), - cleanup)) - code.put_giveref(arg.default_entry.cname) + default.result_as(arg.default_entry.type))) + default.generate_post_assignment_code(code) default.free_temps(code) + code.put_giveref(arg.default_entry.cname) # For Python class methods, create and store function object if self.assmt: self.assmt.generate_execution_code(code)