From 2c657f6608fd192e785d5b2eed2594007777842b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20Gl=C3=B6ckner?= Date: Wed, 20 Aug 2008 01:44:12 +0200 Subject: [PATCH] =?utf8?q?Set=20VT=5FLVAL=5Fxxx=20flags=20for=20function?= =?utf8?q?=20arguments=20in=20gfunc=5Fprolog=20(Daniel=20Gl=C3=B6ckner)?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- arm-gen.c | 2 +- c67-gen.c | 2 +- i386-gen.c | 2 +- il-gen.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arm-gen.c b/arm-gen.c index 189f3625..e3a5629b 100644 --- a/arm-gen.c +++ b/arm-gen.c @@ -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; diff --git a/c67-gen.c b/c67-gen.c index 40554bd4..04f8a12b 100644 --- a/c67-gen.c +++ b/c67-gen.c @@ -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; diff --git a/i386-gen.c b/i386-gen.c index a3d27434..a2564f3d 100644 --- a/i386-gen.c +++ b/i386-gen.c @@ -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; diff --git a/il-gen.c b/il-gen.c index fef6194a..29f05265 100644 --- a/il-gen.c +++ b/il-gen.c @@ -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++; } } -- 2.11.4.GIT