[binutils-gdb] WebAssembly: Correct an `index' global shadowing error for pre-4.8 GCC

Maciej W.Rozycki macro@sourceware.org
Tue Feb 13 13:03:00 GMT 2018


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

commit 87993319a56af838d3ab7e251fa4902476ca63c8
Author: Maciej W. Rozycki <macro@mips.com>
Date:   Tue Feb 13 12:56:29 2018 +0000

    WebAssembly: Correct an `index' global shadowing error for pre-4.8 GCC
    
    Remove `-Wshadow' compilation errors:
    
    cc1: warnings being treated as errors
    .../bfd/wasm-module.c: In function 'wasm_scan_name_function_section':
    .../bfd/wasm-module.c:312: error: declaration of 'index' shadows a global declaration
    /usr/include/string.h:303: error: shadowed declaration is here
    .../bfd/wasm-module.c: In function 'wasm_register_section':
    .../bfd/wasm-module.c:494: error: declaration of 'index' shadows a global declaration
    /usr/include/string.h:303: error: shadowed declaration is here
    .../bfd/wasm-module.c: In function 'wasm_compute_custom_section_file_position':
    .../bfd/wasm-module.c:523: error: declaration of 'index' shadows a global declaration
    /usr/include/string.h:303: error: shadowed declaration is here
    
    and:
    
    cc1: warnings being treated as errors
    .../opcodes/wasm32-dis.c: In function 'print_insn_wasm32':
    .../opcodes/wasm32-dis.c:272: error: declaration of 'index' shadows a global declaration
    /usr/include/string.h:303: error: shadowed declaration is here
    make[4]: *** [wasm32-dis.lo] Error 1
    
    which for versions of GCC before 4.8 prevent support for the WebAssembly
    target from being built.  See also GCC PR c/53066.
    
    	bfd/
    	* wasm-module.c (wasm_scan_name_function_section): Rename
    	`index' local variable to `idx'.
    
    	opcodes/
    	* wasm32-dis.c (print_insn_wasm32): Rename `index' local
    	variable to `function_index'.

Diff:
---
 bfd/ChangeLog        |  5 +++++
 bfd/wasm-module.c    | 18 +++++++++---------
 opcodes/ChangeLog    |  5 +++++
 opcodes/wasm32-dis.c |  6 +++---
 4 files changed, 22 insertions(+), 12 deletions(-)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 35fc174..6b9e1d1 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2018-02-13  Maciej W. Rozycki  <macro@mips.com>
+
+	* wasm-module.c (wasm_scan_name_function_section): Rename
+	`index' local variable to `idx'.
+
 2018-02-13  Alan Modra  <amodra@gmail.com>
 
 	PR 22836
diff --git a/bfd/wasm-module.c b/bfd/wasm-module.c
index 7525e63..2d5822d 100644
--- a/bfd/wasm-module.c
+++ b/bfd/wasm-module.c
@@ -309,12 +309,12 @@ wasm_scan_name_function_section (bfd *abfd, sec_ptr asect)
 
   for (symcount = 0; p < end && symcount < tdata->symcount; symcount++)
     {
-      bfd_vma index;
+      bfd_vma idx;
       bfd_vma len;
       char *name;
       asymbol *sym;
 
-      READ_LEB128 (index, p, end);
+      READ_LEB128 (idx, p, end);
       READ_LEB128 (len, p, end);
 
       if (p + len < p || p + len > end)
@@ -330,7 +330,7 @@ wasm_scan_name_function_section (bfd *abfd, sec_ptr asect)
       sym = &symbols[symcount];
       sym->the_bfd = abfd;
       sym->name = name;
-      sym->value = index;
+      sym->value = idx;
       sym->flags = BSF_GLOBAL | BSF_FUNCTION;
       sym->section = space_function_index;
       sym->udata.p = NULL;
@@ -491,12 +491,12 @@ wasm_register_section (bfd *abfd ATTRIBUTE_UNUSED,
 		       void *fsarg)
 {
   sec_ptr *numbered_sections = fsarg;
-  int index = wasm_section_name_to_code (asect->name);
+  int idx = wasm_section_name_to_code (asect->name);
 
-  if (index == 0)
+  if (idx == 0)
     return;
 
-  numbered_sections[index] = asect;
+  numbered_sections[idx] = asect;
 }
 
 struct compute_section_arg
@@ -520,14 +520,14 @@ wasm_compute_custom_section_file_position (bfd *abfd,
 					   void *fsarg)
 {
   struct compute_section_arg *fs = fsarg;
-  int index;
+  int idx;
 
   if (fs->failed)
     return;
 
-  index = wasm_section_name_to_code (asect->name);
+  idx = wasm_section_name_to_code (asect->name);
 
-  if (index != 0)
+  if (idx != 0)
     return;
 
   if (CONST_STRNEQ (asect->name, WASM_SECTION_PREFIX))
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index c4f9039..bfae54b 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,8 @@
+2018-02-13  Maciej W. Rozycki  <macro@mips.com>
+
+	* wasm32-dis.c (print_insn_wasm32): Rename `index' local
+	variable to `function_index'.
+
 2018-02-12  Henry Wong <henry@stuffedcow.net>
 
 	* mips-opc.c (mips_builtin_opcodes): Correct "sigrie" encoding.
diff --git a/opcodes/wasm32-dis.c b/opcodes/wasm32-dis.c
index dbb1897..d6f1697 100644
--- a/opcodes/wasm32-dis.c
+++ b/opcodes/wasm32-dis.c
@@ -269,7 +269,7 @@ print_insn_wasm32 (bfd_vma pc, struct disassemble_info *info)
   long flags = 0;
   long offset = 0;
   long depth = 0;
-  long index = 0;
+  long function_index = 0;
   long target_count = 0;
   long block_type = 0;
   int len = 1;
@@ -416,14 +416,14 @@ print_insn_wasm32 (bfd_vma pc, struct disassemble_info *info)
           break;
 
         case wasm_call:
-          index = wasm_read_leb128
+          function_index = wasm_read_leb128
             (pc + len, info, &error, &bytes_read, FALSE);
           if (error)
             return -1;
           len += bytes_read;
           prin (stream, " ");
           private_data->section_prefix = ".space.function_index";
-          (*info->print_address_func) ((bfd_vma) index, info);
+          (*info->print_address_func) ((bfd_vma) function_index, info);
           private_data->section_prefix = NULL;
           break;



More information about the Binutils-cvs mailing list