[binutils-gdb] S12Z/opcodes: Correct a `reg' global shadowing error for pre-4.8 GCC

Maciej W.Rozycki macro@sourceware.org
Mon Jul 9 14:52:00 GMT 2018


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=9dcb0ba4457b8845fb704635e824471bf1faf092

commit 9dcb0ba4457b8845fb704635e824471bf1faf092
Author: Maciej W. Rozycki <macro@mips.com>
Date:   Mon Jul 9 15:50:57 2018 +0100

    S12Z/opcodes: Correct a `reg' global shadowing error for pre-4.8 GCC
    
    Remove `-Wshadow' compilation errors:
    
    cc1: warnings being treated as errors
    .../opcodes/s12z-dis.c: In function 'lea_reg_xys_opr':
    .../opcodes/s12z-dis.c:814: error: declaration of 'reg' shadows a global declaration
    .../opcodes/s12z-dis.c:783: error: shadowed declaration is here
    .../opcodes/s12z-dis.c: In function 'lea_reg_xys':
    .../opcodes/s12z-dis.c:843: error: declaration of 'reg' shadows a global declaration
    .../opcodes/s12z-dis.c:783: error: shadowed declaration is here
    .../opcodes/s12z-dis.c: In function 'print_insn_loop_primitive':
    .../opcodes/s12z-dis.c:2206: error: declaration of 'reg' shadows a global declaration
    .../opcodes/s12z-dis.c:783: error: shadowed declaration is here
    
    which for versions of GCC before 4.8 prevent support for S12Z targets
    from being built.  See also GCC PR c/53066.
    
    	opcodes/
    	* s12z-dis.c (lea_reg_xys_opr): Rename `reg' local variable to
    	`reg_xys'.
    	(lea_reg_xys): Likewise.
    	(print_insn_loop_primitive): Rename `reg' local variable to
    	`reg_dxy'.

Diff:
---
 opcodes/ChangeLog  |  8 ++++++++
 opcodes/s12z-dis.c | 28 ++++++++++++++--------------
 2 files changed, 22 insertions(+), 14 deletions(-)

diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 3b92887..f8272b8 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,11 @@
+2018-07-09  Maciej W. Rozycki  <macro@mips.com>
+
+	* s12z-dis.c (lea_reg_xys_opr): Rename `reg' local variable to
+	`reg_xys'.
+	(lea_reg_xys): Likewise.
+	(print_insn_loop_primitive): Rename `reg' local variable to
+	`reg_dxy'.
+
 2018-07-06  Tamar Christina  <tamar.christina@arm.com>
 
 	PR binutils/23242
diff --git a/opcodes/s12z-dis.c b/opcodes/s12z-dis.c
index 4512311..47f8616 100644
--- a/opcodes/s12z-dis.c
+++ b/opcodes/s12z-dis.c
@@ -811,22 +811,22 @@ lea_reg_xys_opr (bfd_vma memaddr, struct disassemble_info* info)
   if (status < 0)
     return;
 
-  char *reg = NULL;
+  char *reg_xys = NULL;
   switch (byte & 0x03)
     {
     case 0x00:
-      reg = "x";
+      reg_xys = "x";
       break;
     case 0x01:
-      reg = "y";
+      reg_xys = "y";
       break;
     case 0x02:
-      reg = "s";
+      reg_xys = "s";
       break;
     }
 
   operand_separator (info);
-  (*info->fprintf_func) (info->stream, "%s", reg);
+  (*info->fprintf_func) (info->stream, "%s", reg_xys);
   opr_decode (memaddr, info);
 }
 
@@ -840,17 +840,17 @@ lea_reg_xys (bfd_vma memaddr, struct disassemble_info* info)
   if (status < 0)
     return;
 
-  char *reg = NULL;
+  char *reg_xys = NULL;
   switch (byte & 0x03)
     {
     case 0x00:
-      reg = "x";
+      reg_xys = "x";
       break;
     case 0x01:
-      reg = "y";
+      reg_xys = "y";
       break;
     case 0x02:
-      reg = "s";
+      reg_xys = "s";
       break;
     }
 
@@ -861,7 +861,7 @@ lea_reg_xys (bfd_vma memaddr, struct disassemble_info* info)
   int8_t v = byte;
 
   operand_separator (info);
-  (*info->fprintf_func) (info->stream, "%s, (%d,%s)", reg, v, reg);
+  (*info->fprintf_func) (info->stream, "%s, (%d,%s)", reg_xys, v, reg_xys);
 }
 
 
@@ -2203,7 +2203,7 @@ print_insn_loop_primitive (bfd_vma memaddr, struct disassemble_info* info)
   stpcpy (mnemonic + x, lb_condition [(lb & 0x70) >> 4]);
   x += 2;
 
-  const char *reg  = NULL;
+  const char *reg_dxy  = NULL;
   enum LP_MODE mode = -1;
   size_t i;
   for (i = 0; i < sizeof (lp_mode) / sizeof (lp_mode[0]); ++i)
@@ -2219,10 +2219,10 @@ print_insn_loop_primitive (bfd_vma memaddr, struct disassemble_info* info)
   switch (mode)
     {
     case LP_REG:
-      reg = registers [lb & 0x07].name;
+      reg_dxy = registers [lb & 0x07].name;
       break;
     case LP_XY:
-      reg = (lb & 0x1) ? "y" : "x";
+      reg_dxy = (lb & 0x1) ? "y" : "x";
       break;
     case LP_OPR:
       mnemonic[x++] = '.';
@@ -2240,7 +2240,7 @@ print_insn_loop_primitive (bfd_vma memaddr, struct disassemble_info* info)
   else
     {
       operand_separator (info);
-      (*info->fprintf_func) (info->stream, "%s", reg);
+      (*info->fprintf_func) (info->stream, "%s", reg_dxy);
     }
 
   rel_15_7 (memaddr + offs, info, offs + 1);



More information about the Binutils-cvs mailing list