]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
codegen: Use separate C statements for memory management
authorJürg Billeter <j@bitron.ch>
Thu, 14 Oct 2010 09:13:08 +0000 (11:13 +0200)
committerJürg Billeter <j@bitron.ch>
Thu, 14 Oct 2010 12:53:15 +0000 (14:53 +0200)
codegen/valaccodebasemodule.vala

index 005ac366eb8d90196307f84ba4897ee31a866c0a..209aaa91b77af18bb377ac14560e9ea174c66cf4 100644 (file)
@@ -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);
                        }
                }