From 736bb2e380f422d0115311451520455aaea66ef5 Mon Sep 17 00:00:00 2001 From: Stefan Behnel Date: Mon, 23 Feb 2009 21:54:30 +0100 Subject: [PATCH] do it right this time: call generate_post_assignment_code --- Cython/Compiler/Nodes.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) 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) -- 2.26.2