This will need to be unsigned for a subsequent patch. Also adds the constant NUM_X86_64_MS_CLOBBERED_REGS for brievity. --- gcc/config/i386/i386.c | 8 +++----- gcc/config/i386/i386.h | 4 +++- 2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index a5c4ba7..56cc67d 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -2421,7 +2421,7 @@ static int const x86_64_int_return_registers[4] = /* Additional registers that are clobbered by SYSV calls. */ -int const x86_64_ms_sysv_extra_clobbered_registers[12] = +unsigned const x86_64_ms_sysv_extra_clobbered_registers[12] = { SI_REG, DI_REG, XMM6_REG, XMM7_REG, @@ -28209,11 +28209,9 @@ ix86_expand_call (rtx retval, rtx fnaddr, rtx callarg1, else if (TARGET_64BIT_MS_ABI && (!callarg2 || INTVAL (callarg2) != -2)) { - int const cregs_size - = ARRAY_SIZE (x86_64_ms_sysv_extra_clobbered_registers); - int i; + unsigned i; - for (i = 0; i < cregs_size; i++) + for (i = 0; i < NUM_X86_64_MS_CLOBBERED_REGS; i++) { int regno = x86_64_ms_sysv_extra_clobbered_registers[i]; machine_mode mode = SSE_REGNO_P (regno) ? TImode : DImode; diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index add7a64..a45b66a 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -2172,7 +2172,9 @@ extern int const dbx_register_map[FIRST_PSEUDO_REGISTER]; extern int const dbx64_register_map[FIRST_PSEUDO_REGISTER]; extern int const svr4_dbx_register_map[FIRST_PSEUDO_REGISTER]; -extern int const x86_64_ms_sysv_extra_clobbered_registers[12]; +extern unsigned const x86_64_ms_sysv_extra_clobbered_registers[12]; +#define NUM_X86_64_MS_CLOBBERED_REGS \ + (ARRAY_SIZE (x86_64_ms_sysv_extra_clobbered_registers)) /* Before the prologue, RA is at 0(%esp). */ #define INCOMING_RETURN_ADDR_RTX \ -- 2.9.0