Add -Wunused-variable to warnings.m4
authorTom Tromey <tom@tromey.com>
Mon, 9 Jul 2018 03:05:41 +0000 (21:05 -0600)
committerTom Tromey <tom@tromey.com>
Sun, 22 Jul 2018 19:20:07 +0000 (13:20 -0600)
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.

gdb/ChangeLog
2018-07-22  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-22  Tom Tromey  <tom@tromey.com>

* configure: Rebuild.

gdb/ChangeLog
gdb/configure
gdb/gdbserver/ChangeLog
gdb/gdbserver/configure
gdb/warning.m4

index 972184dc997ba7eda7594a1c3365786ac54ce1fa..388b923e5dc6db37f4f8cd6861c255512cc8bfa1 100644 (file)
@@ -1,3 +1,10 @@
+2018-07-22  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.
+
 2018-07-22  Tom Tromey  <tom@tromey.com>
 
        * regformats/regdat.sh: Define xmltarget_${name} inside
index 3f0a22073d05db09ef9bf468a49afc086609caa9..3ee88e4eb3910c0b572a9c81b81851ff09b9b4e0 100755 (executable)
@@ -15439,7 +15439,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 \
@@ -15528,7 +15528,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
@@ -15543,6 +15566,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
index eccf556b986448c1f71d4c7772a19b05136a09dc..23369e4abc39dfe531556ff65a578f7bdde0ed49 100644 (file)
@@ -1,3 +1,7 @@
+2018-07-22  Tom Tromey  <tom@tromey.com>
+
+       * configure: Rebuild.
+
 2018-07-22  Tom Tromey  <tom@tromey.com>
 
        * win32-low.c (win32_create_inferior): Remove unused variables.
index 6064a1eb10f469aad0f772e639f7cb1e4b22fc94..043bc216e43ca0f7b2ae90ef7990062036f75d62 100755 (executable)
@@ -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
index 632cc214ac0bf693bdf9f1da1f73cf6410f7776c..00e7cd60508c42262762786ac7bf5e74d0e29207 100644 (file)
@@ -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