binutils/dwarf.c: Correct an `index' global shadowing error for pre-4.8 GCC

In older gcc, shadowing a function name with a local variable name is
flagged as an error, certainly a bug but which is usually worked
around in binutils:

gcc -DHAVE_CONFIG_H -I. -I$SRC/binutils  -I. -I$SRC/binutils -I../bfd -I$SRC/binutils/../bfd -I$SRC/binutils/../include -DLOCALEDIR="\"/usr/local/share/locale\"" -Dbin_dummy_emulation=bin_vanilla_emulation  -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -I$SRC/binutils/../zlib -g -O2 -MT dwarf.o -MD -MP -MF $depbase.Tpo -c -o dwarf.o $SRC/binutils/dwarf.c &&\
	mv -f $depbase.Tpo $depbase.Po
cc1: warnings being treated as errors
$SRC/binutils/dwarf.c: In function 'display_debug_str_offsets':
$SRC/binutils/dwarf.c:6913: error: declaration of 'index' shadows a global declaration
/usr/include/string.h:309: error: shadowed declaration is here
make[4]: *** [dwarf.o] Error 1

See also GCC PR c/53066.  This is just another one that crept in since
I and others last had to use an old version.  The name "idx" was used
in the preceding function, display_debug_addr.  Also, it was declared
c99 style (after a statement in the block).  Committed as obvious.

binutils:
	* dwarf.c (display_debug_str_offsets): Rename local variable
	index to idx.  Move to top of function.
This commit is contained in:
Hans-Peter Nilsson 2020-06-29 03:50:45 +02:00
parent 07d22f648e
commit 9f27c36482
2 changed files with 10 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2020-06-29 Hans-Peter Nilsson <hp@bitrange.com>
* dwarf.c (display_debug_str_offsets): Rename local variable
index to idx. Move to top of function.
2020-06-29 Alan Modra <amodra@gmail.com>
* dwarf.c: Use C style comments.

View File

@ -6848,6 +6848,8 @@ static int
display_debug_str_offsets (struct dwarf_section *section,
void *file ATTRIBUTE_UNUSED)
{
unsigned long idx;
if (section->size == 0)
{
printf (_("\nThe %s section is empty.\n"), section->name);
@ -6910,8 +6912,7 @@ display_debug_str_offsets (struct dwarf_section *section,
printf (_(" Index Offset [String]\n"));
}
unsigned long index;
for (index = 0; length >= entry_length && curr < end; index ++)
for (idx = 0; length >= entry_length && curr < end; idx++)
{
dwarf_vma offset;
const unsigned char * string;
@ -6919,11 +6920,11 @@ display_debug_str_offsets (struct dwarf_section *section,
SAFE_BYTE_GET_AND_INC (offset, curr, entry_length, end);
if (dwo)
string = (const unsigned char *)
fetch_indexed_string (index, NULL, entry_length, dwo);
fetch_indexed_string (idx, NULL, entry_length, dwo);
else
string = fetch_indirect_string (offset);
printf (" %8lu %8s %s\n", index, dwarf_vmatoa ("x", offset),
printf (" %8lu %8s %s\n", idx, dwarf_vmatoa ("x", offset),
string);
}
}