From: Jürg Billeter Date: Thu, 14 Oct 2010 09:13:08 +0000 (+0200) Subject: codegen: Use separate C statements for memory management X-Git-Tag: 0.11.1~116 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c6bf7d99ec9ae543b4c60838aa0f1f3cb0a0475c;p=thirdparty%2Fvala.git codegen: Use separate C statements for memory management --- diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala index 005ac366e..209aaa91b 100644 --- a/codegen/valaccodebasemodule.vala +++ b/codegen/valaccodebasemodule.vala @@ -5095,7 +5095,11 @@ public class Vala.CCodeBaseModule : CodeGenerator { if (node == null) { node = expression_type; } - cexpr = get_ref_cexpression (target_type, cexpr, expr, node); + + var decl = get_temp_variable (target_type, true, node, false); + emit_temp_var (decl); + ccode.add_expression (new CCodeAssignment (get_variable_cexpression (decl.name), get_ref_cexpression (target_type, cexpr, expr, node))); + cexpr = get_variable_cexpression (decl.name); } }