gdb: Use -Werror when checking for (un)supported warning flags
authorSimon Marchi <simon.marchi@ericsson.com>
Sat, 17 Jun 2017 21:18:20 +0000 (23:18 +0200)
committerSimon Marchi <simon.marchi@ericsson.com>
Sat, 17 Jun 2017 21:18:20 +0000 (23:18 +0200)
In warning.m4, we pass all the warning flags one by one to the compiler
to test if they are supported by this particular compiler.  If the
compiler exits with an error, we conclude that this warning flag is not
supported and exclude it.  This allows us to use warning flags without
having to worry about which versions of which compilers support each
flag.

clang, by default, only emits a warning if an unknown flag is passed:

  warning: unknown warning option '-Wfoo' [-Wunknown-warning-option]

The result is that we think that all the warning flags we use are
supported by clang (they are not), and the compilation fails later when
building with -Werror, since the aforementioned warning becomes an
error.  The fix is to also pass -Werror when probing for supported
flags, then we'll correctly get an error when using an unknown warning,
and we'll exclude it:

  error: unknown warning option '-Wfoo' [-Werror,-Wunknown-warning-option]

I am not sure why there is a change in a random comment in
gdbserver/configure, but I suppose it's a leftfover from a previous
patch, so I included it.

gdb/ChangeLog:

* configure: Re-generate.
* warning.m4: Pass -Werror to compiler when checking for
supported warning flags.

gdb/gdbserver/ChangeLog:

* configure: Re-generate.

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

index 2c4f96e55d217db8190f77853dd4bf928d259049..c14e204257895878ec615f5e6d644a3230aad027 100644 (file)
@@ -1,3 +1,9 @@
+2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * configure: Re-generate.
+       * warning.m4: Pass -Werror to compiler when checking for
+       supported warning flags.
+
 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
 
        * Makefile.in (COMPILE.pre): Add "-x c++".
index 1f15d5d382e6b54975f8d8be3b714c7d536ee70d..df2747ad4fbb3cd9a06ab8b615b3b94437681b73 100755 (executable)
@@ -15222,9 +15222,9 @@ $as_echo_n "checking compiler warning flags... " >&6; }
        *)
            # Check whether GCC accepts it.
            saved_CFLAGS="$CFLAGS"
-           CFLAGS="$CFLAGS $wtest"
+           CFLAGS="$CFLAGS -Werror $wtest"
            saved_CXXFLAGS="$CXXFLAGS"
-           CXXFLAGS="$CXXFLAGS $wtest"
+           CXXFLAGS="$CXXFLAGS -Werror $wtest"
            cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
index eef680cb347dfb32e0e8c3bbde28fddc4d57f4fa..2eb492ed9adb11d41897f497581d42ca73eaae2e 100644 (file)
@@ -1,3 +1,7 @@
+2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * configure: Re-generate.
+
 2017-06-17  Simon Marchi  <simon.marchi@ericsson.com>
 
        * Makefile.in (COMPILE.pre): Add "-x c++".
index b314c417953b4be436f34db24702a3e9d9ef0511..2550c7b14e5b36be3ca617779e7bf41b287598a4 100755 (executable)
@@ -7219,9 +7219,9 @@ $as_echo_n "checking compiler warning flags... " >&6; }
        *)
            # Check whether GCC accepts it.
            saved_CFLAGS="$CFLAGS"
-           CFLAGS="$CFLAGS $wtest"
+           CFLAGS="$CFLAGS -Werror $wtest"
            saved_CXXFLAGS="$CXXFLAGS"
-           CXXFLAGS="$CXXFLAGS $wtest"
+           CXXFLAGS="$CXXFLAGS -Werror $wtest"
            cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -7498,9 +7498,9 @@ _ACEOF
 fi
 
 
-# See if <sys/user.h> supports the %fs_base and %gs_base amd64 segment
-# registers.  Older amd64 Linux's don't have the fs_base and gs_base
-# members of `struct user_regs_struct'.
+# See if <sys/user.h> supports the %fs_base and %gs_bas amd64 segment registers.
+# Older amd64 Linux's don't have the fs_base and gs_base members of
+# `struct user_regs_struct'.
 ac_fn_c_check_member "$LINENO" "struct user_regs_struct" "fs_base" "ac_cv_member_struct_user_regs_struct_fs_base" "#include <sys/user.h>
 "
 if test "x$ac_cv_member_struct_user_regs_struct_fs_base" = x""yes; then :
index 98e745375eb234d2ceb1c5d280fdc67290ed6ff3..00e0f3899d735a9999fa9471f6b98ddcf5da3a6b 100644 (file)
@@ -103,9 +103,9 @@ then
        *)
            # Check whether GCC accepts it.
            saved_CFLAGS="$CFLAGS"
-           CFLAGS="$CFLAGS $wtest"
+           CFLAGS="$CFLAGS -Werror $wtest"
            saved_CXXFLAGS="$CXXFLAGS"
-           CXXFLAGS="$CXXFLAGS $wtest"
+           CXXFLAGS="$CXXFLAGS -Werror $wtest"
            AC_TRY_COMPILE([],[],WARN_CFLAGS="${WARN_CFLAGS} $w",)
            CFLAGS="$saved_CFLAGS"
            CXXFLAGS="$saved_CXXFLAGS"