From 2d17e5a6c435c39fb2ee6c0268c18804d83684ab Mon Sep 17 00:00:00 2001 From: Michael Matz Date: Tue, 17 Dec 2019 00:48:57 +0100 Subject: [PATCH] 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). --- riscv64-gen.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/riscv64-gen.c b/riscv64-gen.c index 73ceefb0..47961b3a 100644 --- a/riscv64-gen.c +++ b/riscv64-gen.c @@ -569,7 +569,7 @@ ST_FUNC void gfunc_call(int nb_args) test_lvalue(); 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)); vtop->type = origtype; @@ -588,7 +588,7 @@ ST_FUNC void gfunc_call(int nb_args) loadt = (ii >> 16) & VT_BTYPE; } save_reg_upstack(r2, 1); - vtop->type.t = loadt; + vtop->type.t = loadt | (vtop->type.t & VT_UNSIGNED); load(r2, vtop); assert(r2 < VT_CONST); vtop--; -- 2.11.4.GIT