[committed] AArch64/opcodes: Correct an `index' global shadowing error

Maciej W. Rozycki macro@imgtec.com
Tue Oct 18 03:46:00 GMT 2016


Fix a commit 4df068de5214 ("Add support for SVE addressing modes") build 
regression:

cc1: warnings being treated as errors
.../opcodes/aarch64-dis.c: In function 'aarch64_ext_sve_addr_rr_lsl':
.../opcodes/aarch64-dis.c:1324: error: declaration of 'index' shadows a global declaration
/usr/include/string.h:303: error: shadowed declaration is here
make[3]: *** [aarch64-dis.lo] Error 1

in a way following commit 91d6fa6a035c ("Add -Wshadow to the gcc command 
line options used when compiling the binutils.").

	opcodes/
	* aarch64-dis.c (aarch64_ext_sve_addr_rr_lsl): Rename `index' 
	local variable to `index_regno'.
---
 Discovered in an `--enable-targets=all' build and committed as obvious.

  Maciej

binutils-aarch64-opcodes-index-regno-fix.diff
Index: binutils/opcodes/aarch64-dis.c
===================================================================
--- binutils.orig/opcodes/aarch64-dis.c	2016-10-06 22:43:02.000000000 +0100
+++ binutils/opcodes/aarch64-dis.c	2016-10-15 00:45:48.319797941 +0100
@@ -1321,14 +1321,14 @@ aarch64_ext_sve_addr_rr_lsl (const aarch
 			     aarch64_opnd_info *info, aarch64_insn code,
 			     const aarch64_inst *inst ATTRIBUTE_UNUSED)
 {
-  int index;
+  int index_regno;
 
-  index = extract_field (self->fields[1], code, 0);
-  if (index == 31 && (self->flags & OPD_F_NO_ZR) != 0)
+  index_regno = extract_field (self->fields[1], code, 0);
+  if (index_regno == 31 && (self->flags & OPD_F_NO_ZR) != 0)
     return 0;
 
   info->addr.base_regno = extract_field (self->fields[0], code, 0);
-  info->addr.offset.regno = index;
+  info->addr.offset.regno = index_regno;
   info->addr.offset.is_reg = TRUE;
   info->addr.writeback = FALSE;
   info->addr.preind = TRUE;



More information about the Binutils mailing list