diff options
| -rw-r--r-- | arm-gen.c | 2 | ||||
| -rw-r--r-- | c67-gen.c | 2 | ||||
| -rw-r--r-- | i386-gen.c | 2 | ||||
| -rw-r--r-- | il-gen.c | 2 |
4 files changed, 4 insertions, 4 deletions
@@ -956,7 +956,7 @@ void gfunc_prolog(CType *func_type) #ifdef TCC_ARM_EABI addr = (addr + align - 1) & -align; #endif - sym_push(sym->v & ~SYM_FIELD, type, VT_LOCAL | VT_LVAL, addr); + sym_push(sym->v & ~SYM_FIELD, type, VT_LOCAL | lvalue_type(type->t), addr); addr += size; } last_itod_magic=0; @@ -1964,7 +1964,7 @@ void gfunc_prolog(CType * func_type) /* define parameters */ while ((sym = sym->next) != NULL) { type = &sym->type; - sym_push(sym->v & ~SYM_FIELD, type, VT_LOCAL | VT_LVAL, addr); + sym_push(sym->v & ~SYM_FIELD, type, VT_LOCAL | lvalue_type(type->t), addr); size = type_size(type, &align); size = (size + 3) & ~3; @@ -471,7 +471,7 @@ void gfunc_prolog(CType *func_type) addr += size; } sym_push(sym->v & ~SYM_FIELD, type, - VT_LOCAL | VT_LVAL, param_addr); + VT_LOCAL | lvalue_type(type->t), param_addr); param_index++; } func_ret_sub = 0; @@ -449,7 +449,7 @@ void gfunc_prolog(int t) while ((sym = sym->next) != NULL) { u = sym->t; sym_push(sym->v & ~SYM_FIELD, u, - VT_LOCAL | VT_LVAL, addr); + VT_LOCAL | lvalue_type(sym->type.t), addr); addr++; } } |
