RISC-V/GAS: Correct an `expr' global shadowing error for pre-4.8 GCC
authorMaciej W. Rozycki <macro@mips.com>
Mon, 5 Feb 2018 14:05:51 +0000 (14:05 +0000)
committerMaciej W. Rozycki <macro@mips.com>
Mon, 5 Feb 2018 14:06:46 +0000 (14:06 +0000)
Correct a commit f0531ed6a429 ("Compress loads/stores with implicit 0
offset.") regression and remove a `-Wshadow' compilation error:

cc1: warnings being treated as errors
.../gas/config/tc-riscv.c: In function 'riscv_handle_implicit_zero_offset':
.../gas/config/tc-riscv.c:1194: error: declaration of 'expr' shadows a global declaration
.../gas/expr.h:180: error: shadowed declaration is here
make[4]: *** [tc-riscv.o] Error 1

which for versions of GCC before 4.8 prevents GAS for RISC-V targets
from being built.  See also GCC PR c/53066.

gas/
* config/tc-riscv.c (riscv_handle_implicit_zero_offset): Rename
`expr' parameter to `ep'.

gas/ChangeLog
gas/config/tc-riscv.c

index 6c9ff3e..45ad93b 100644 (file)
@@ -1,5 +1,10 @@
 2018-02-05  Maciej W. Rozycki  <macro@mips.com>
 
+       * config/tc-riscv.c (riscv_handle_implicit_zero_offset): Rename
+       `expr' parameter to `ep'.
+
+2018-02-05  Maciej W. Rozycki  <macro@mips.com>
+
        * testsuite/gas/mips/reginfo-2.d: New test.
        * testsuite/gas/mips/reginfo-2-n32.d: New test.
        * testsuite/gas/mips/reginfo-2.l: New test stderr output.
index a84240d..f1bc7f9 100644 (file)
@@ -1191,14 +1191,14 @@ my_getSmallExpression (expressionS *ep, bfd_reloc_code_real_type *reloc,
    an implicit offset was detected.  */
 
 static bfd_boolean
-riscv_handle_implicit_zero_offset (expressionS *expr, const char *s)
+riscv_handle_implicit_zero_offset (expressionS *ep, const char *s)
 {
   /* Check whether there is only a single bracketed expression left.
      If so, it must be the base register and the constant must be zero.  */
   if (*s == '(' && strchr (s + 1, '(') == 0)
     {
-      expr->X_op = O_constant;
-      expr->X_add_number = 0;
+      ep->X_op = O_constant;
+      ep->X_add_number = 0;
       return TRUE;
     }