mirror of
https://github.com/frida/tinycc
synced 2025-01-07 04:22:09 +03:00
riscv64: adjust for cast changes
gfunc_call plays with types and needs to retain the unsignedness
now (this was a latent problem before commit 35475b5
).
This commit is contained in:
parent
d30d68d738
commit
2d17e5a6c4
@ -569,7 +569,7 @@ ST_FUNC void gfunc_call(int nb_args)
|
|||||||
test_lvalue();
|
test_lvalue();
|
||||||
vpushv(vtop);
|
vpushv(vtop);
|
||||||
}
|
}
|
||||||
vtop->type.t = loadt;
|
vtop->type.t = loadt | (vtop->type.t & VT_UNSIGNED);
|
||||||
gv(r < 8 ? RC_R(r) : RC_F(r - 8));
|
gv(r < 8 ? RC_R(r) : RC_F(r - 8));
|
||||||
vtop->type = origtype;
|
vtop->type = origtype;
|
||||||
|
|
||||||
@ -588,7 +588,7 @@ ST_FUNC void gfunc_call(int nb_args)
|
|||||||
loadt = (ii >> 16) & VT_BTYPE;
|
loadt = (ii >> 16) & VT_BTYPE;
|
||||||
}
|
}
|
||||||
save_reg_upstack(r2, 1);
|
save_reg_upstack(r2, 1);
|
||||||
vtop->type.t = loadt;
|
vtop->type.t = loadt | (vtop->type.t & VT_UNSIGNED);
|
||||||
load(r2, vtop);
|
load(r2, vtop);
|
||||||
assert(r2 < VT_CONST);
|
assert(r2 < VT_CONST);
|
||||||
vtop--;
|
vtop--;
|
||||||
|
Loading…
Reference in New Issue
Block a user