mirror of
https://github.com/frida/tinycc
synced 2025-01-16 00:09:23 +03:00
Set VT_LVAL_xxx flags for function arguments in gfunc_prolog (Daniel Glöckner)
This commit is contained in:
parent
8f7e3f325d
commit
2c657f6608
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user