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.
+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.
2020-06-29 Alan Modra <amodra@gmail.com>
* dwarf.c: Use C style comments.
display_debug_str_offsets (struct dwarf_section *section,
void *file ATTRIBUTE_UNUSED)
{
display_debug_str_offsets (struct dwarf_section *section,
void *file ATTRIBUTE_UNUSED)
{
if (section->size == 0)
{
printf (_("\nThe %s section is empty.\n"), section->name);
if (section->size == 0)
{
printf (_("\nThe %s section is empty.\n"), section->name);
printf (_(" Index Offset [String]\n"));
}
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;
{
dwarf_vma offset;
const unsigned char * string;
SAFE_BYTE_GET_AND_INC (offset, curr, entry_length, end);
if (dwo)
string = (const unsigned char *)
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);
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),