]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
codegen: Don't implicitly initialize local variables with an initializer
authorRico Tzschichholz <ricotz@ubuntu.com>
Thu, 10 Nov 2016 10:52:16 +0000 (11:52 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Thu, 10 Nov 2016 14:46:03 +0000 (15:46 +0100)
codegen/valaccodebasemodule.vala

index a95023c1076628e614582b27e43543a55b05fd83..939b256ca4c8b1a26884b7b36f5e92bb8f157578 100644 (file)
@@ -2358,7 +2358,9 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
 
                                // try to initialize uninitialized variables
                                // initialization not necessary for variables stored in closure
-                               cvar.initializer = default_value_for_type (local.variable_type, true);
+                               if (local.initializer == null) {
+                                       cvar.initializer = default_value_for_type (local.variable_type, true);
+                               }
                                cvar.init0 = true;
 
                                ccode.add_declaration (get_ccode_name (local.variable_type), cvar);
@@ -3488,7 +3490,9 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
                } else {
                        var cvar = new CCodeVariableDeclarator (local.name, null, get_ccode_declarator_suffix (local.variable_type));
                        if (init) {
-                               cvar.initializer = default_value_for_type (local.variable_type, true);
+                               if (local.initializer == null) {
+                                       cvar.initializer = default_value_for_type (local.variable_type, true);
+                               }
                                cvar.init0 = true;
                        }
                        ccode.add_declaration (get_ccode_name (local.variable_type), cvar);