From: notaz Date: Sat, 12 Apr 2025 21:57:05 +0000 (+0300) Subject: drc: make gcc11 happier X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a7864494887ff9cf2e43896185d6da843c64d351;p=pcsx_rearmed.git drc: make gcc11 happier -Warray-bounds only under -O3, apparently --- diff --git a/libpcsxcore/new_dynarec/assem_arm.c b/libpcsxcore/new_dynarec/assem_arm.c index 5caa536e..aabf1c25 100644 --- a/libpcsxcore/new_dynarec/assem_arm.c +++ b/libpcsxcore/new_dynarec/assem_arm.c @@ -468,15 +468,15 @@ static void emit_loadreg(int r, int hr) static void emit_storereg(int r, int hr) { assert(hr != EXCLUDE_REG); - int addr = (int)&psxRegs.GPR.r[r]; + void *addr; switch (r) { //case HIREG: addr = &hi; break; //case LOREG: addr = &lo; break; - case CCREG: addr = (int)&cycle_count; break; - default: assert(r < 34); break; + case CCREG: addr = &cycle_count; break; + default: assert(r < 34u); addr = &psxRegs.GPR.r[r]; break; } - u_int offset = addr-(u_int)&dynarec_local; - assert(offset<4096); + uintptr_t offset = (char *)addr - (char *)&dynarec_local; + assert(offset < 4096u); assem_debug("str %s,fp+%d # r%d\n",regname[hr],offset,r); output_w32(0xe5800000|rd_rn_rm(hr,FP,0)|offset); } diff --git a/libpcsxcore/new_dynarec/assem_arm64.c b/libpcsxcore/new_dynarec/assem_arm64.c index 8f174fde..dabacae5 100644 --- a/libpcsxcore/new_dynarec/assem_arm64.c +++ b/libpcsxcore/new_dynarec/assem_arm64.c @@ -523,12 +523,12 @@ static void emit_writedword(u_int rt, void *addr) static void emit_storereg(u_int r, u_int hr) { assert(r < 64); - void *addr = &psxRegs.GPR.r[r]; + void *addr; switch (r) { //case HIREG: addr = &hi; break; //case LOREG: addr = &lo; break; case CCREG: addr = &cycle_count; break; - default: assert(r < 34); break; + default: assert(r < 34u); addr = &psxRegs.GPR.r[r]; break; } emit_writeword(hr, addr); }