From: Luca Bruno Date: Sun, 19 Jun 2011 06:34:14 +0000 (+0200) Subject: codegen: Use create_temp_value in copy_value X-Git-Tag: 0.13.2~176 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7947aab1726b690bfdb903d1b2d72bcbbe71538b;p=thirdparty%2Fvala.git codegen: Use create_temp_value in copy_value --- diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala index e0d9c4643..02daf58c4 100644 --- a/codegen/valaccodebasemodule.vala +++ b/codegen/valaccodebasemodule.vala @@ -3762,9 +3762,8 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { if (type is ValueType && !type.nullable) { // normal value type, no null check - var decl = get_temp_variable (type, false, node); - emit_temp_var (decl); - var ctemp = get_variable_cexpression (decl.name); + var temp_value = create_temp_value (type, true, node, true); + var ctemp = get_cvalue_ (temp_value); var vt = (ValueType) type; var st = (Struct) vt.type_symbol; @@ -3795,15 +3794,13 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { ccode.add_else (); // g_value_init/copy must not be called for uninitialized values - store_local (decl, value, true); + store_value (temp_value, value); ccode.close (); } else { ccode.add_expression (copy_call); } - result.value_type = decl.variable_type; - result.cvalue = ctemp; - return result; + return temp_value; } /* (temp = expr, temp == NULL ? NULL : ref (temp))