This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix -Wshadow warning in libiberty/cp-demangle.c
- From: Mark Wielaard <mark at klomp dot org>
- To: Eric Gallager <egall at gwmail dot gwu dot edu>
- Cc: Ian Lance Taylor <iant at google dot com>, gcc-patches <gcc-patches at gcc dot gnu dot org>, Jason Merrill <jason at redhat dot com>, Paolo Bonzini <bonzini at gnu dot org>
- Date: Sun, 06 Nov 2016 19:03:34 +0100
- Subject: Re: [PATCH] Fix -Wshadow warning in libiberty/cp-demangle.c
- Authentication-results: sourceware.org; auth=none
- References: <1473466003-19517-1-git-send-email-mjw@redhat.com> <CAKOQZ8zU6NOkwo+9_p=Dn_xp9eh-NuqzAiWDfM6fBrejn=hqyg@mail.gmail.com> <CAMfHzOszteR0Ky_+7ioFkpu9-K5m8NRozqGJhh0FNGcFDSWPZg@mail.gmail.com>
On Sat, 2016-09-10 at 09:51 -0400, Eric Gallager wrote:
> On 9/10/16, Ian Lance Taylor <iant@google.com> wrote:
> > I'm not sure about the patch to configure.ac/configure. The last I
> > looked -Wshadow would warn if a local variable shadows a global
> > variable. That can cause a pointless build break if some system
> > header file defines a global variable that happens to have the same
> > name as a local variable. It's not a likely scenario but I don't see
> > a need to court a build breakage.
> >
> Maybe if the patch to add -Wshadow-local went in, the configure script
> could use that instead?
We now have -Wshadow=local. So the attached patch uses that for
libiberty. Is the attached patch OK to commit?
Thanks,
Mark
From f6f938e8053b6caf393c35c6f96c946073ca9373 Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mjw@redhat.com>
Date: Sun, 6 Nov 2016 17:36:06 +0100
Subject: [PATCH] libiberty: Add -Wshadow=local to warning flags (if
supported).
libiberty/ChangeLog:
* configure.ac (ac_libiberty_warn_cflags): Add -Wshadow=local.
* configure: Regenerated.
---
diff --git a/libiberty/configure b/libiberty/configure
index 0f8e9b9..5c4dda5 100755
--- a/libiberty/configure
+++ b/libiberty/configure
@@ -4398,7 +4398,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_libiberty_warn_cflags=
save_CFLAGS="$CFLAGS"
for real_option in -W -Wall -Wwrite-strings -Wc++-compat \
- -Wstrict-prototypes; do
+ -Wstrict-prototypes \
+ -Wshadow=local; do
# Do the check with the no- prefix removed since gcc silently
# accepts any -Wno-* option on purpose
case $real_option in
diff --git a/libiberty/configure.ac b/libiberty/configure.ac
index 9d3f298..1aa0c7c 100644
--- a/libiberty/configure.ac
+++ b/libiberty/configure.ac
@@ -160,7 +160,8 @@ AC_SYS_LARGEFILE
AC_PROG_CPP_WERROR
ACX_PROG_CC_WARNING_OPTS([-W -Wall -Wwrite-strings -Wc++-compat \
- -Wstrict-prototypes], [ac_libiberty_warn_cflags])
+ -Wstrict-prototypes \
+ -Wshadow=local], [ac_libiberty_warn_cflags])
ACX_PROG_CC_WARNING_ALMOST_PEDANTIC([], [ac_libiberty_warn_cflags])
AC_PROG_CC_C_O
--
1.8.3.1