From 4f5fc85d6c6e33d8282f4c5164fb5187cdff96d1 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Mon, 11 Nov 2019 13:27:47 +0100 Subject: [PATCH] Arm64: fix build with old glibc Some old glibc versions have string.h surface "index", which some compilers then warn about if shadowed by a local variable. Re-use an existing variable instead. --- opcodes/ChangeLog | 5 +++++ opcodes/aarch64-opc.c | 17 +++++++---------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 04442417c96..1f9d4a545ea 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,8 @@ +2019-11-11 Jan Beulich + + * aarch64-opc.c (operand_general_constraint_met_p): Replace + "index" local variable by that of the already existing "num". + 2019-11-08 H.J. Lu PR gas/25167 diff --git a/opcodes/aarch64-opc.c b/opcodes/aarch64-opc.c index 11b04b58bbd..61547b403df 100644 --- a/opcodes/aarch64-opc.c +++ b/opcodes/aarch64-opc.c @@ -2546,17 +2546,14 @@ operand_general_constraint_met_p (const aarch64_opnd_info *opnds, int idx, case AARCH64_OPND_SVE_SHRIMM_PRED: case AARCH64_OPND_SVE_SHRIMM_UNPRED: case AARCH64_OPND_SVE_SHRIMM_UNPRED_22: + num = (type == AARCH64_OPND_SVE_SHRIMM_UNPRED_22) ? 2 : 1; + size = aarch64_get_qualifier_esize (opnds[idx - num].qualifier); + if (!value_in_range_p (opnd->imm.value, 1, 8 * size)) { - unsigned int index = - (type == AARCH64_OPND_SVE_SHRIMM_UNPRED_22) ? 2 : 1; - size = aarch64_get_qualifier_esize (opnds[idx - index].qualifier); - if (!value_in_range_p (opnd->imm.value, 1, 8 * size)) - { - set_imm_out_of_range_error (mismatch_detail, idx, 1, 8*size); - return 0; - } - break; - } + set_imm_out_of_range_error (mismatch_detail, idx, 1, 8*size); + return 0; + } + break; default: break; -- 2.30.2