mirror of
https://github.com/frida/tinycc
synced 2024-12-26 23:09:41 +03:00
revert vstore()
This commit is contained in:
parent
1fa0fe2786
commit
f26fdaefd8
8
tccgen.c
8
tccgen.c
@ -2552,6 +2552,11 @@ ST_FUNC void vstore(void)
|
||||
/* remove bit field info to avoid loops */
|
||||
vtop[-1].type.t = ft & ~(VT_BITFIELD | (-1 << VT_STRUCT_SHIFT));
|
||||
|
||||
/* duplicate source into other register */
|
||||
gv_dup();
|
||||
vswap();
|
||||
vrott(3);
|
||||
|
||||
if((ft & VT_BTYPE) == VT_BOOL) {
|
||||
gen_cast(&vtop[-1].type);
|
||||
vtop[-1].type.t = (vtop[-1].type.t & ~VT_BTYPE) | (VT_BYTE | VT_UNSIGNED);
|
||||
@ -2583,6 +2588,9 @@ ST_FUNC void vstore(void)
|
||||
gen_op('|');
|
||||
/* store result */
|
||||
vstore();
|
||||
|
||||
/* pop off shifted source from "duplicate source..." above */
|
||||
vpop();
|
||||
} else {
|
||||
#ifdef CONFIG_TCC_BCHECK
|
||||
/* bound check case */
|
||||
|
Loading…
Reference in New Issue
Block a user