compile: initialize local REGS to NIT_NULL
authorJean Privat <jean@pryen.org>
Fri, 14 Aug 2009 16:58:05 +0000 (12:58 -0400)
committerJean Privat <jean@pryen.org>
Mon, 17 Aug 2009 20:15:29 +0000 (16:15 -0400)
Signed-off-by: Jean Privat <jean@pryen.org>

src/compiling/compiling_icode.nit

index e7c063a..7902aea 100644 (file)
@@ -272,7 +272,11 @@ redef class IRoutine
                if std_slots_nb == 0 then
                        v.add_decl("val_t *REG = NULL;")
                else
-                       v.add_decl("val_t REG[{std_slots_nb}];")
+                       var init_vals = new Buffer
+                       init_vals.append "val_t REG[{std_slots_nb}] = \{ NIT_NULL"
+                       for i in [1..std_slots_nb[ do init_vals.append(", NIT_NULL")
+                       init_vals.append " \};"
+                       v.add_decl(init_vals.to_s)
                end
                for i in [0..tag_slots_nb[ do
                        v.add_decl("val_t REGB{i};")