public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Tom Tromey <tom@tromey.com>
To: gdb-patches@sourceware.org
Cc: Tom Tromey <tom@tromey.com>
Subject: [RFA 13/13] Add -Wunused-variable to warnings.m4
Date: Thu, 12 Jul 2018 20:52:00 -0000	[thread overview]
Message-ID: <20180712205208.32646-14-tom@tromey.com> (raw)
In-Reply-To: <20180712205208.32646-1-tom@tromey.com>

This adds -Wunused-variable to the build.  This required a special
check in configure in order to work around a bug in GCC 4.9.  Simon
ound the correct test to use, so I've added him to the ChangeLog.

2018-07-12  Simon Marchi  <simon.marchi@polymtl.ca>
	    Tom Tromey  <tom@tromey.com>

	* warning.m4 (AM_GDB_WARNINGS): Add -Wunused-variable and special
	test for it.
	* configure: Rebuild.

gdb/gdbserver/ChangeLog
2018-07-12  Tom Tromey  <tom@tromey.com>

	* configure: Rebuild.
---
 gdb/ChangeLog           |  7 +++++++
 gdb/configure           | 28 ++++++++++++++++++++++++++--
 gdb/gdbserver/ChangeLog |  4 ++++
 gdb/gdbserver/configure | 28 ++++++++++++++++++++++++++--
 gdb/warning.m4          | 17 +++++++++++++++--
 5 files changed, 78 insertions(+), 6 deletions(-)

diff --git a/gdb/configure b/gdb/configure
index 28756ed9826..1a1b3e9dafd 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -15467,7 +15467,7 @@ fi
 
 # The options we'll try to enable.
 build_warnings="-Wall -Wpointer-arith \
--Wno-unused -Wunused-value -Wunused-function \
+-Wno-unused -Wunused-value -Wunused-variable -Wunused-function \
 -Wno-switch -Wno-char-subscripts \
 -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable \
 -Wno-sign-compare -Wno-narrowing -Wno-error=maybe-uninitialized \
@@ -15556,7 +15556,30 @@ $as_echo_n "checking compiler warning flags... " >&6; }
 	    CFLAGS="$CFLAGS -Werror $wtest"
 	    saved_CXXFLAGS="$CXXFLAGS"
 	    CXXFLAGS="$CXXFLAGS -Werror $wtest"
-	    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+	    if test "x$w" = "x-Wunused-variable"; then
+	      # Check for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38958,
+	      # fixed in GCC 4.9.  This test is derived from the gdb
+	      # source code that triggered this bug in GCC.
+	      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+struct scoped_restore_base {};
+                 struct scoped_restore_tmpl : public scoped_restore_base {
+		   ~scoped_restore_tmpl() {}
+		 };
+int
+main ()
+{
+const scoped_restore_base &b = scoped_restore_tmpl();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  WARN_CFLAGS="${WARN_CFLAGS} $w"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+	    else
+	      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -15571,6 +15594,7 @@ if ac_fn_cxx_try_compile "$LINENO"; then :
   WARN_CFLAGS="${WARN_CFLAGS} $w"
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+	    fi
 	    CFLAGS="$saved_CFLAGS"
 	    CXXFLAGS="$saved_CXXFLAGS"
 	esac
diff --git a/gdb/gdbserver/configure b/gdb/gdbserver/configure
index 6064a1eb10f..043bc216e43 100755
--- a/gdb/gdbserver/configure
+++ b/gdb/gdbserver/configure
@@ -7237,7 +7237,7 @@ fi
 
 # The options we'll try to enable.
 build_warnings="-Wall -Wpointer-arith \
--Wno-unused -Wunused-value -Wunused-function \
+-Wno-unused -Wunused-value -Wunused-variable -Wunused-function \
 -Wno-switch -Wno-char-subscripts \
 -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable \
 -Wno-sign-compare -Wno-narrowing -Wno-error=maybe-uninitialized \
@@ -7326,7 +7326,30 @@ $as_echo_n "checking compiler warning flags... " >&6; }
 	    CFLAGS="$CFLAGS -Werror $wtest"
 	    saved_CXXFLAGS="$CXXFLAGS"
 	    CXXFLAGS="$CXXFLAGS -Werror $wtest"
-	    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+	    if test "x$w" = "x-Wunused-variable"; then
+	      # Check for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38958,
+	      # fixed in GCC 4.9.  This test is derived from the gdb
+	      # source code that triggered this bug in GCC.
+	      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+struct scoped_restore_base {};
+                 struct scoped_restore_tmpl : public scoped_restore_base {
+		   ~scoped_restore_tmpl() {}
+		 };
+int
+main ()
+{
+const scoped_restore_base &b = scoped_restore_tmpl();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  WARN_CFLAGS="${WARN_CFLAGS} $w"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+	    else
+	      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -7341,6 +7364,7 @@ if ac_fn_cxx_try_compile "$LINENO"; then :
   WARN_CFLAGS="${WARN_CFLAGS} $w"
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+	    fi
 	    CFLAGS="$saved_CFLAGS"
 	    CXXFLAGS="$saved_CXXFLAGS"
 	esac
diff --git a/gdb/warning.m4 b/gdb/warning.m4
index 632cc214ac0..00e7cd60508 100644
--- a/gdb/warning.m4
+++ b/gdb/warning.m4
@@ -37,7 +37,7 @@ fi
 
 # The options we'll try to enable.
 build_warnings="-Wall -Wpointer-arith \
--Wno-unused -Wunused-value -Wunused-function \
+-Wno-unused -Wunused-value -Wunused-variable -Wunused-function \
 -Wno-switch -Wno-char-subscripts \
 -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable \
 -Wno-sign-compare -Wno-narrowing -Wno-error=maybe-uninitialized \
@@ -118,7 +118,20 @@ then
 	    CFLAGS="$CFLAGS -Werror $wtest"
 	    saved_CXXFLAGS="$CXXFLAGS"
 	    CXXFLAGS="$CXXFLAGS -Werror $wtest"
-	    AC_TRY_COMPILE([],[],WARN_CFLAGS="${WARN_CFLAGS} $w",)
+	    if test "x$w" = "x-Wunused-variable"; then
+	      # Check for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38958,
+	      # fixed in GCC 4.9.  This test is derived from the gdb
+	      # source code that triggered this bug in GCC.
+	      AC_TRY_COMPILE(
+	        [struct scoped_restore_base {};
+                 struct scoped_restore_tmpl : public scoped_restore_base {
+		   ~scoped_restore_tmpl() {}
+		 };],
+		[const scoped_restore_base &b = scoped_restore_tmpl();],
+		WARN_CFLAGS="${WARN_CFLAGS} $w",)
+	    else
+	      AC_TRY_COMPILE([],[],WARN_CFLAGS="${WARN_CFLAGS} $w",)
+	    fi
 	    CFLAGS="$saved_CFLAGS"
 	    CXXFLAGS="$saved_CXXFLAGS"
 	esac
-- 
2.13.6

  parent reply	other threads:[~2018-07-12 20:52 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-12 20:52 [RFA 00/13] Add -Wunused-variable Tom Tromey
2018-07-12 20:52 ` [RFA 04/13] Call some functions in guile/ for effect Tom Tromey
2018-07-14  1:19   ` Simon Marchi
2018-07-14 12:39     ` Tom Tromey
2018-07-16 13:54       ` Pedro Alves
2018-07-16 15:58         ` Tom Tromey
2018-07-12 20:52 ` Tom Tromey [this message]
2018-07-12 20:52 ` [RFA 03/13] Use a previously unused variable in bfin-tdep.c Tom Tromey
2018-07-14  1:17   ` Simon Marchi
2018-07-12 20:52 ` [RFA 11/13] Remove unused variables from gdbserver Tom Tromey
2018-07-14  2:47   ` Simon Marchi
2018-07-16 14:16     ` Pedro Alves
2018-07-12 20:52 ` [RFA 06/13] Remove dead code from m32c-tdep.c Tom Tromey
2018-07-12 22:18   ` Simon Marchi
2018-07-13 20:49     ` Tom Tromey
2018-07-12 20:52 ` [RFA 09/13] Pass the correct argument to the observer in reread_symbols Tom Tromey
2018-07-13  2:49   ` Simon Marchi
2018-07-14  1:25     ` Simon Marchi
2018-07-12 20:52 ` [RFA 12/13] Add ATTRIBUTE_UNUSED to regdat.sh output Tom Tromey
2018-07-16 15:11   ` Pedro Alves
2018-07-16 16:41     ` Tom Tromey
2018-07-16 17:54       ` Pedro Alves
2018-07-16 19:06         ` Tom Tromey
2018-07-16 21:12           ` Tom Tromey
2018-07-12 20:52 ` [RFA 08/13] Fix ravenscar-thread.c to use arch_ops Tom Tromey
2018-07-14  1:25   ` Simon Marchi
2018-07-16 13:59     ` Pedro Alves
2018-07-16 15:36       ` Tom Tromey
2018-07-16 16:43         ` Pedro Alves
2018-07-12 20:52 ` [RFA 07/13] Remove unused declaration from py-prettyprint.c Tom Tromey
2018-07-14  1:24   ` Simon Marchi
2018-07-14 12:39     ` Tom Tromey
2018-07-16 14:11       ` Pedro Alves
2018-07-12 20:52 ` [RFA 05/13] Make a few calls in *-tdep.c for effect Tom Tromey
2018-07-12 21:58   ` Simon Marchi
2018-07-13 20:47     ` Tom Tromey
2018-07-16 14:03     ` Pedro Alves
2018-07-12 20:52 ` [RFA 10/13] Remove unused declaration from value.c Tom Tromey
2018-07-13  2:52   ` Simon Marchi
2018-07-13 20:51     ` Tom Tromey
2018-07-13 21:49       ` Simon Marchi
2018-07-16 14:02         ` Pedro Alves
2018-07-16 15:34           ` Tom Tromey
2018-07-12 20:52 ` [RFA 01/13] Simple unused variable removals Tom Tromey
2018-07-14  1:15   ` Simon Marchi
2018-07-14 12:40     ` Tom Tromey
2018-07-14 21:54       ` Simon Marchi
2018-07-14 21:56       ` Simon Marchi
2018-07-16 13:38         ` Pedro Alves
2018-07-16 13:33       ` Pedro Alves
2018-07-16 15:35         ` Tom Tromey
2018-07-12 20:52 ` [RFA 02/13] Unused variable fixes related to conditional compilation Tom Tromey
2018-07-14  1:16   ` Simon Marchi
2018-07-14 21:50     ` Simon Marchi
2018-07-16 13:45       ` Pedro Alves
2018-07-22  2:25         ` Simon Marchi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180712205208.32646-14-tom@tromey.com \
    --to=tom@tromey.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).