]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
codegen: Use separate C statements for array resize expressions
authorJürg Billeter <j@bitron.ch>
Tue, 21 Dec 2010 16:34:33 +0000 (17:34 +0100)
committerJürg Billeter <j@bitron.ch>
Tue, 21 Dec 2010 17:53:51 +0000 (18:53 +0100)
codegen/valaccodemethodcallmodule.vala

index f37d57f2c650dbaf46b08118cd387e987e7c8723..0ba0e4eeb0966a9f6f5d82fc70f3c8e986312bdf 100644 (file)
@@ -721,21 +721,18 @@ public class Vala.CCodeMethodCallModule : CCodeAssignmentModule {
                        czero.add_argument (new CCodeConstant ("0"));
                        czero.add_argument (new CCodeBinaryExpression (CCodeBinaryOperator.MUL, csizeof, cdelta));
 
-                       var ccomma = new CCodeCommaExpression ();
-                       ccomma.append_expression (new CCodeAssignment (temp_ref, new_size));
-                       ccomma.append_expression (ccall_expr);
-                       ccomma.append_expression (new CCodeConditionalExpression (ccheck, czero, new CCodeConstant ("NULL")));
-                       ccomma.append_expression (new CCodeAssignment (get_array_length_cexpression (ma.inner, 1), temp_ref));
+                       ccode.add_expression (new CCodeAssignment (temp_ref, new_size));
+                       ccode.add_expression (ccall_expr);
+                       ccode.add_expression (new CCodeConditionalExpression (ccheck, czero, new CCodeConstant ("NULL")));
+                       ccode.add_expression (new CCodeAssignment (get_array_length_cexpression (ma.inner, 1), temp_ref));
 
                        var array_var = ma.inner.symbol_reference;
                        var array_local = array_var as LocalVariable;
                        if (array_var != null && array_var.is_internal_symbol ()
                            && ((array_var is LocalVariable && !array_local.captured) || array_var is Field)) {
-                               ccomma.append_expression (new CCodeAssignment (get_array_size_cvalue (ma.inner.target_value), temp_ref));
+                               ccode.add_expression (new CCodeAssignment (get_array_size_cvalue (ma.inner.target_value), temp_ref));
                        }
 
-                       set_cvalue (expr, ccomma);
-
                        return;
                }