fix store op for nil as parameter
authorWolfgang Bumiller <blub@speed.at>
Mon, 31 Dec 2012 12:19:34 +0000 (13:19 +0100)
committerWolfgang Bumiller <blub@speed.at>
Mon, 31 Dec 2012 12:19:34 +0000 (13:19 +0100)
ir.c

diff --git a/ir.c b/ir.c
index 4e50d7f26b31db9c477d30de31ef90a94bfb5a2a..d3d61f54abc8a9487766d570e24ff838e9083628 100644 (file)
--- a/ir.c
+++ b/ir.c
@@ -2932,6 +2932,8 @@ tailcall:
 
                 if (param->vtype == TYPE_FIELD)
                     stmt.opcode = field_store_instr[param->fieldtype];
+                else if (param->vtype == TYPE_NIL)
+                    stmt.opcode = INSTR_STORE_V;
                 else
                     stmt.opcode = type_store_instr[param->vtype];
                 stmt.o1.u1 = ir_value_code_addr(param);
@@ -2959,6 +2961,8 @@ tailcall:
 
                 if (param->vtype == TYPE_FIELD)
                     stmt.opcode = field_store_instr[param->fieldtype];
+                else if (param->vtype == TYPE_NIL)
+                    stmt.opcode = INSTR_STORE_V;
                 else
                     stmt.opcode = type_store_instr[param->vtype];
                 stmt.o1.u1 = ir_value_code_addr(param);