From: Luca Bruno Date: Fri, 26 Aug 2011 07:34:15 +0000 (+0200) Subject: codegen: Drop useless temp variable when creating structs X-Git-Tag: 0.13.4~38 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2a526194a2117988effd2f798f9447fbd5981c18;p=thirdparty%2Fvala.git codegen: Drop useless temp variable when creating structs Partially fixes 657378. --- diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala index 4685ec2e3..0017ea295 100644 --- a/codegen/valaccodebasemodule.vala +++ b/codegen/valaccodebasemodule.vala @@ -4336,7 +4336,6 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { // no temporary variable necessary ccode.add_expression (creation_expr); set_cvalue (expr, instance); - return; } else if (instance != null) { if (expr.type_reference.data_type is Struct) { ccode.add_expression (creation_expr); @@ -4363,10 +4362,8 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { } } - creation_expr = instance; - } - - if (creation_expr != null) { + set_cvalue (expr, instance); + } else if (creation_expr != null) { var temp_value = create_temp_value (expr.value_type, false, expr); ccode.add_assignment (get_cvalue_ (temp_value), creation_expr); expr.target_value = temp_value;