From a7864494887ff9cf2e43896185d6da843c64d351 Mon Sep 17 00:00:00 2001 From: notaz Date: Sun, 13 Apr 2025 00:57:05 +0300 Subject: [PATCH] drc: make gcc11 happier -Warray-bounds only under -O3, apparently --- libpcsxcore/new_dynarec/assem_arm.c | 10 +++++----- libpcsxcore/new_dynarec/assem_arm64.c | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) 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); } -- 2.39.5