Adding -Wshadow to binutils builds
Nick Clifton
nickc@redhat.com
Fri Dec 11 09:07:00 GMT 2009
Hi Guys,
Last week I ran across a nasty bug in the MN10300 port due to one
local variable shadowing another. As I was fixing it I realised
that the problem would have been found a lot earlier if we had
-Wshadow specified on the gcc command line when building the
binutils. So I have spent the rest of the week adding this switch
and then fixing up all of the new warning messages that arise. The
result is the attached patch (warning: large) which I plan to apply
later on today.
I tested the patch with the following toolchains: (If anybody knows
of any targets that I did not try, and which are not just simple
variants of the targets listed, then please let me know).
alpha-linuxecoff alpha-linux-gnu alpha-unknown-freebsd4.7
alpha-unknown-osf4.0 am33_2.0-linux-gnu arc-elf
arm-aout arm-epoc-pe arm-netbsdelf
arm-none-eabi arm-nto arm-symbianelf
arm-vxworks arm-wince-pe avr-elf
bfin-elf cr16-elf crx-elf
cris-elf crisv32-elf d10v-elf
d30v-elf dlx-elf fr30-elf
frv-elf h8300-elf h8300-rtems
hppa-linux-gnu hppa64-linux i370-linux
i386-coff i386-lynxos i386-netware
i386-rdos i586-aout i686-pc-beos
i686-pc-cygwin i686-pc-elf i686-pc-linux-gnu
i686-pc-linux-gnu-gold i686-pc-mingw32 i860-stardent-elf
ia64-x-freebsd5 ia64-linux ip2k-elf
iq2000-elf lm32-elf lm32-rtems4.10
m32c-elf m32r-elf m68hc11-elf
m68k-elf m68k-rtems m68k-uclinux
mcore-elf mcore-pe mep-elf
mingw32-pe mips-ecoff mips-elf
mips-sgi-irix6 mipsel-linux-gnu mipsisa32el-linux
mips64-linux mips64vrel-elf mmix-mmixware
mn10200-elf mn10300-elf msp430-elf
mt-elf ns32k-netbsd openrisc-elf
or32-elf pdp11-dec-aout pj-elf
powerpc-eabisim powerpc-ibm-aix5.2.0 powerpc-nto
powerpc-wrs-vxworks powerpc64-linux ppc-lynxos
rs6000-aix4.3.3 s390-linux s390x-ibm-tpf
score-elf sh64-superh-linux-gnu sh-elf
sh-linux sh-nto sh-symbianelf
shl-unknown-netbsdelf sparc64-linux-gnu sparc64-netbsd
sparc-linux-gnu spu-elf stt-common
tic30-unknown-aout tic4x-coff tic54x-coff
tx39-elf v850-elf vax-netbsdelf
x86_64-linux x86_64-mingw32 x86_64-solaris2
xc16x-elf xscale-elf xstormy16-elf
xtensa-elf z8k-coff all-64
Cheers
Nick
bfd/ChangeLog
2009-12-11 Nick Clifton <nickc@redhat.com>
* warning.m4 (GCC_WARN_CFLAGS): Add -Wshadow.
* configure: Regenerate.
* Makefile.in: Regenerate.
* doc/Makefile.in: Regenerate.
* aout-arm.c: Fix shadowed variable warnings.
* aout-tic30.c: Likewise.
* aoutx.h: Likewise.
* archive.c: Likewise.
* coff-alpha.c: Likewise.
* coff-i386.c: Likewise.
* coff-x86_64.c: Likewise.
* coffgen.c: Likewise.
* dwarf2.c: Likewise.
* ecoff.c: Likewise.
* elf-eh-frame.c: Likewise.
* elf-m10300.c: Likewise.
* elf.c: Likewise.
* elf32-arm.c: Likewise.
* elf32-avr.c: Likewise.
* elf32-bfin.c: Likewise.
* elf32-cr16.c: Likewise.
* elf32-i386.c: Likewise.
* elf32-ip2k.c: Likewise.
* elf32-lm32.c: Likewise.
* elf32-m68hc1x.c: Likewise.
* elf32-microblaze.c: Likewise.
* elf32-ppc.c: Likewise.
* elf32-rx.c: Likewise.
* elf32-score.c: Likewise.
* elf32-score7.c: Likewise.
* elf32-sh.c: Likewise.
* elf32-spu.c: Likewise.
* elf32-v850.c: Likewise.
* elf32-xtensa.c: Likewise.
* elf64-hppa.c: Likewise.
* elf64-ppc.c: Likewise.
* elf64-x86-64.c: Likewise.
* elflink.c: Likewise.
* elfxx-ia64.c: Likewise.
* elfxx-mips.c: Likewise.
* elfxx-sparc.c: Likewise.
* hash.c: Likewise.
* ieee.c: Likewise.
* libbfd.c: Likewise.
* mach-o.c: Likewise.
* merge.c: Likewise.
* nlm32-sparc.c: Likewise.
* oasys.c: Likewise.
* opncls.c: Likewise.
* pdp11.c: Likewise.
* peXXigen.c: Likewise.
* pef.c: Likewise.
* versados.c: Likewise.
* vms-gsd.c: Likewise.
* vms-hdr.c: Likewise.
* vms-tir.c: Likewise.
* vms.c: Likewise.
* xcofflink.c: Likewise.
* xsym.c: Likewise.
* xtensa-isa.c: Likewise.
binutils/ChangeLog
2009-12-11 Nick Clifton <nickc@redhat.com>
* Makefile.in: Regenerate.
* doc/Makefile.in: Regenerate.
* ar.c: Fix shadowed variable warnings.
* bucomm.c: Likewise.
* coffgrok.c: Likewise.
* configure: Likewise.
* dlltool.c: Likewise.
* dllwrap.c: Likewise.
* dwarf.c: Likewise.
* ieee.c: Likewise.
* nlmconv.c: Likewise.
* nm.c: Likewise.
* objcopy.c: Likewise.
* objdump.c: Likewise.
* prdbg.c: Likewise.
* readelf.c: Likewise.
* resbin.c: Likewise.
* resrc.c: Likewise.
* resres.c: Likewise.
* srconv.c: Likewise.
* stabs.c: Likewise.
* sysdump.c: Likewise.
* sysinfo.y: Likewise.
* wrstabs.c: Likewise.
cgen/ChangeLog
2009-12-11 Nick Clifton <nickc@redhat.com>
* cpu/fr30.opc: Fix shadowed variable warnings.
cpu/ChangeLog
2009-12-11 Nick Clifton <nickc@redhat.com>
* frv.opc: Fix shadowed variable warnings.
* m32c.opc: Fix shadowed variable warnings.
elfcpp/ChangeLog
2009-12-11 Nick Clifton <nickc@redhat.com>
* elfcpp_file.h: Fix shadowed variable warnings.
gas/ChangeLog
2009-12-11 Nick Clifton <nickc@redhat.com>
* Makefile.in: Regenerate.
* doc/Makefile.in: Regenerate.
* configure: Regenerate.
* dw2gencfi.c: Fix shadowed variable warnings.
* dwarf2dbg.c: Likewise.
* expr.c: Likewise.
* hash.c: Likewise.
* listing.c: Likewise.
* macro.c: Likewise.
* read.c: Likewise.
* stabs.c: Likewise.
* symbols.c: Likewise.
* write.c: Likewise.
* config/bfin-parse.y: Likewise.
* config/obj-coff.c: Likewise.
* config/tc-arm.c: Likewise.
* config/tc-bfin.c: Likewise.
* config/tc-cr16.c: Likewise.
* config/tc-crx.c: Likewise.
* config/tc-d10v.c: Likewise.
* config/tc-d30v.c: Likewise.
* config/tc-frv.c: Likewise.
* config/tc-i370.c: Likewise.
* config/tc-i386-intel.c: Likewise.
* config/tc-i386.c: Likewise.
* config/tc-ia64.c: Likewise.
* config/tc-m32r.c: Likewise.
* config/tc-m68hc11.c: Likewise.
* config/tc-mips.c: Likewise.
* config/tc-mn10200.c: Likewise.
* config/tc-mn10300.c: Likewise.
* config/tc-ns32k.c: Likewise.
* config/tc-ppc.c: Likewise.
* config/tc-score.c: Likewise.
* config/tc-score7.c: Likewise.
* config/tc-sh.c: Likewise.
* config/tc-sh64.c: Likewise.
* config/tc-sparc.c: Likewise.
* config/tc-tic30.c: Likewise.
* config/tc-tic4x.c: Likewise.
* config/tc-tic54x.c: Likewise.
* config/tc-xtensa.c: Likewise.
* config/tc-z8k.c: Likewise.
gold/ChangeLog
2009-12-11 Nick Clifton <nickc@redhat.com>
* archive.cc: Fix shadowed variable warnings.
* arm.cc: Likewise.
* compressed_output.cc: Likewise.
* compressed_output.h: Likewise.
* configure: Likewise.
* dwarf_reader.cc: Likewise.
* dynobj.cc: Likewise.
* dynobj.h: Likewise.
* ehframe.cc: Likewise.
* ehframe.h: Likewise.
* errors.cc: Likewise.
* expression.cc: Likewise.
* fileread.cc: Likewise.
* fileread.h: Likewise.
* freebsd.h: Likewise.
* i386.cc: Likewise.
* icf.cc: Likewise.
* incremental.h: Likewise.
* layout.cc: Likewise.
* layout.h: Likewise.
* mapfile.cc: Likewise.
* merge.cc: Likewise.
* merge.h: Likewise.
* object.cc: Likewise.
* object.h: Likewise.
* options.h: Likewise.
* output.cc: Likewise.
* output.h: Likewise.
* parameters.cc: Likewise.
* plugin.cc: Likewise.
* powerpc.cc: Likewise.
* reduced_debug_output.cc: Likewise.
* reduced_debug_output.h: Likewise.
* reloc.cc: Likewise.
* reloc.h: Likewise.
* resolve.cc: Likewise.
* script-sections.cc: Likewise.
* script.cc: Likewise.
* script.h: Likewise.
* sparc.cc: Likewise.
* symtab.cc: Likewise.
* symtab.h: Likewise.
* target-select.cc: Likewise.
* target-select.h: Likewise.
* token.h: Likewise.
* workqueue.cc: Likewise.
* workqueue.h: Likewise.
* x86_64.cc: Likewise.
gprof/ChangeLog
2009-12-11 Nick Clifton <nickc@redhat.com>
* Makefile.in: Regenerate.
* cg_arcs.c: Fix shadowed variable warnings.
* cg_dfn.c: Likewise.
* cg_print.c: Likewise.
* configure: Likewise.
* hist.c: Likewise.
ld/ChangeLog
2009-12-11 Nick Clifton <nickc@redhat.com>
* Makefile.in: Regenerate.
* configure: Regenerate.
* deffilep.y: Fix shadowed variable warnings.
* ldlang.c: Likewise.
* ldmain.c: Likewise.
* pe-dll.c: Likewise.
* emultempl/elf32.em: Likewise.
opcodes/ChangeLog
2009-12-11 Nick Clifton <nickc@redhat.com>
* Makefile.in: Regenerate.
* configure: Regenerate.
* arm-dis.c: Fix shadowed variable warnings.
* cgen-opc.c: Likewise.
* cr16-dis.c: Likewise.
* crx-dis.c: Likewise.
* d30v-dis.c: Likewise.
* fr30-dis.c: Likewise.
* frv-opc.c: Likewise.
* h8500-dis.c: Likewise.
* i386-dis.c: Likewise.
* i960-dis.c: Likewise.
* ia64-gen.c: Likewise.
* ia64-opc.c: Likewise.
* m32c-asm.c: Likewise.
* m32c-dis.c: Likewise.
* m68k-dis.c: Likewise.
* maxq-dis.c: Likewise.
* mcore-dis.c: Likewise.
* mep-asm.c: Likewise.
* microblaze-dis.c: Likewise.
* mmix-dis.c: Likewise.
* ns32k-dis.c: Likewise.
* or32-opc.c: Likewise.
* s390-dis.c: Likewise.
* sh64-dis.c: Likewise.
* spu-dis.c: Likewise.
* tic30-dis.c: Likewise.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: wshadow.patch.lzma
Type: application/octet-stream
Size: 167312 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20091211/869e53da/attachment.obj>
More information about the Binutils
mailing list