From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2153) id 7EFB13858D20; Thu, 3 Feb 2022 15:10:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7EFB13858D20 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Jakub Jelinek To: gcc-cvs@gcc.gnu.org Subject: [gcc r12-7027] make `-Werror` optional in libatomic/libbacktrace/libgomp/libitm/libsanitizer X-Act-Checkin: gcc X-Git-Author: David Seifert X-Git-Refname: refs/heads/master X-Git-Oldrev: 1d5c7584fd6e72bfdbede86cef5ff04ae35f9744 X-Git-Newrev: 45ba6bf28b75ee3391df83fbfb1060a50dc63d3a Message-Id: <20220203151039.7EFB13858D20@sourceware.org> Date: Thu, 3 Feb 2022 15:10:39 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Feb 2022 15:10:39 -0000 https://gcc.gnu.org/g:45ba6bf28b75ee3391df83fbfb1060a50dc63d3a commit r12-7027-g45ba6bf28b75ee3391df83fbfb1060a50dc63d3a Author: David Seifert Date: Thu Feb 3 15:47:10 2022 +0100 make `-Werror` optional in libatomic/libbacktrace/libgomp/libitm/libsanitizer * `-Werror` can cause issues when a more recent version of GCC compiles an older version: - https://bugs.gentoo.org/229059 - https://bugs.gentoo.org/475350 - https://bugs.gentoo.org/667104 libatomic/ChangeLog: * configure.ac: Support --disable-werror. * configure: Regenerate. libbacktrace/ChangeLog: * configure.ac: Support --disable-werror. * configure: Regenerate. libgomp/ChangeLog: * configure.ac: Support --disable-werror. * configure: Regenerate. libitm/ChangeLog: * configure.ac: Support --disable-werror. * configure: Regenerate. libsanitizer/ChangeLog: * configure.ac: Support --disable-werror. * aclocal.m4: Include also ../config/warnings.m4. * libbacktrace/Makefile.am (WARN_FLAGS): Remove. * configure: Regenerate. * Makefile.in: Regenerate. * asan/Makefile.in: Regenerate. * hwasan/Makefile.in: Regenerate. * interception/Makefile.in: Regenerate. * libbacktrace/Makefile.in: Regenerate. * lsan/Makefile.in: Regenerate. * sanitizer_common/Makefile.in: Regenerate. * tsan/Makefile.in: Regenerate. * ubsan/Makefile.in: Regenerate. Co-Authored-By: Jakub Jelinek Diff: --- libatomic/configure | 18 ++++++-- libatomic/configure.ac | 9 ++-- libbacktrace/configure | 14 ++++-- libbacktrace/configure.ac | 8 ++-- libgo/configure | 4 +- libgo/configure.ac | 9 ++-- libgomp/configure | 18 ++++++-- libgomp/configure.ac | 9 ++-- libitm/configure | 18 ++++++-- libitm/configure.ac | 9 ++-- libsanitizer/Makefile.in | 2 + libsanitizer/aclocal.m4 | 1 + libsanitizer/asan/Makefile.in | 2 + libsanitizer/configure | 76 ++++++++++++++++++++++++++++++- libsanitizer/configure.ac | 10 ++++ libsanitizer/hwasan/Makefile.in | 2 + libsanitizer/interception/Makefile.in | 2 + libsanitizer/libbacktrace/Makefile.am | 2 - libsanitizer/libbacktrace/Makefile.in | 5 +- libsanitizer/lsan/Makefile.in | 2 + libsanitizer/sanitizer_common/Makefile.in | 2 + libsanitizer/tsan/Makefile.in | 2 + libsanitizer/ubsan/Makefile.in | 2 + 23 files changed, 183 insertions(+), 43 deletions(-) diff --git a/libatomic/configure b/libatomic/configure index 34434d21764..92853dd8a45 100755 --- a/libatomic/configure +++ b/libatomic/configure @@ -805,6 +805,7 @@ with_gnu_ld enable_libtool_lock enable_maintainer_mode enable_symvers +enable_werror enable_cet with_gcc_major_version_only ' @@ -1456,6 +1457,7 @@ Optional Features: sometimes confusing) to the casual installer --enable-symvers=STYLE enables symbol versioning of the shared library [default=yes] + --disable-werror disable building with -Werror --enable-cet enable Intel CET in target libraries [default=auto] Optional Packages: @@ -11380,7 +11382,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11383 "configure" +#line 11385 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11486,7 +11488,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11489 "configure" +#line 11491 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -15565,9 +15567,17 @@ $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi rm -f confcache +# Check whether --enable-werror was given. +if test "${enable_werror+set}" = set; then : + enableval=$enable_werror; +fi + # Add -Wall -Werror if we are using GCC. -if test "x$GCC" = "xyes"; then - XCFLAGS="$XCFLAGS -Wall -Werror" +if test "x$GCC" = "xyes"; then : + XCFLAGS="$XCFLAGS -Wall" +fi +if test "x$enable_werror" != "xno" && test "x$GCC" = "xyes"; then : + XCFLAGS="$XCFLAGS -Werror" fi # Add CET specific flags if CET is enabled diff --git a/libatomic/configure.ac b/libatomic/configure.ac index f350b9b3509..5563551aaae 100644 --- a/libatomic/configure.ac +++ b/libatomic/configure.ac @@ -251,10 +251,13 @@ LIBAT_ENABLE_SYMVERS CFLAGS="$save_CFLAGS" AC_CACHE_SAVE +AC_ARG_ENABLE([werror], + [AS_HELP_STRING([--disable-werror], [disable building with -Werror])]) # Add -Wall -Werror if we are using GCC. -if test "x$GCC" = "xyes"; then - XCFLAGS="$XCFLAGS -Wall -Werror" -fi +AS_IF([test "x$GCC" = "xyes"], + [XCFLAGS="$XCFLAGS -Wall"]) +AS_IF([test "x$enable_werror" != "xno" && test "x$GCC" = "xyes"], + [XCFLAGS="$XCFLAGS -Werror"]) # Add CET specific flags if CET is enabled GCC_CET_FLAGS(CET_FLAGS) diff --git a/libbacktrace/configure b/libbacktrace/configure index a2f33c0f35d..17f470a4bec 100755 --- a/libbacktrace/configure +++ b/libbacktrace/configure @@ -801,6 +801,7 @@ with_gnu_ld enable_libtool_lock enable_largefile enable_cet +enable_werror with_system_libunwind enable_host_shared ' @@ -1448,6 +1449,7 @@ Optional Features: --disable-libtool-lock avoid locking (might break parallel builds) --disable-largefile omit support for large files --enable-cet enable Intel CET in target libraries [default=auto] + --disable-werror disable building with -Werror --enable-host-shared build host code as shared libraries --enable-cet enable Intel CET in host libraries [default=auto] @@ -11509,7 +11511,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11512 "configure" +#line 11514 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11615,7 +11617,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11618 "configure" +#line 11620 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12300,10 +12302,14 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "${with_target_subdir}"; then - WARN_FLAGS="$WARN_FLAGS -Werror" +# Check whether --enable-werror was given. +if test "${enable_werror+set}" = set; then : + enableval=$enable_werror; fi +if test "x$enable_werror" != "xno" && test -n "${with_target_subdir}"; then : + WARN_FLAGS="$WARN_FLAGS -Werror" +fi if test -n "${with_target_subdir}"; then diff --git a/libbacktrace/configure.ac b/libbacktrace/configure.ac index 0dfd82bc03e..597c9705db8 100644 --- a/libbacktrace/configure.ac +++ b/libbacktrace/configure.ac @@ -145,10 +145,10 @@ ACX_PROG_CC_WARNING_OPTS([-W -Wall -Wwrite-strings -Wstrict-prototypes \ -Wmissing-format-attribute -Wcast-qual], [WARN_FLAGS]) -if test -n "${with_target_subdir}"; then - WARN_FLAGS="$WARN_FLAGS -Werror" -fi - +AC_ARG_ENABLE([werror], + [AS_HELP_STRING([--disable-werror], [disable building with -Werror])]) +AS_IF([test "x$enable_werror" != "xno" && test -n "${with_target_subdir}"], + [WARN_FLAGS="$WARN_FLAGS -Werror"]) AC_SUBST(WARN_FLAGS) if test -n "${with_target_subdir}"; then diff --git a/libgo/configure b/libgo/configure index 57ceeb2baa7..309e17dd91f 100755 --- a/libgo/configure +++ b/libgo/configure @@ -1496,7 +1496,7 @@ Optional Features: --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) - --enable-werror turns on -Werror [default=yes] + --disable-werror disable building with -Werror --enable-version-specific-runtime-libs Specify that runtime libraries should be installed in a compiler-specific directory @@ -13834,7 +13834,7 @@ if test "${enable_werror+set}" = set; then : enableval=$enable_werror; fi -if test "x$enable_werror" != "xno"; then +if test "x$enable_werror" != "xno" && test "x$GCC" = "xyes"; then : WERROR="-Werror" fi diff --git a/libgo/configure.ac b/libgo/configure.ac index 1f4f32dae2b..8691d5b0ac1 100644 --- a/libgo/configure.ac +++ b/libgo/configure.ac @@ -62,11 +62,10 @@ AC_PROG_AWK WARN_FLAGS='-Wall -Wextra -Wwrite-strings -Wcast-qual' AC_SUBST(WARN_FLAGS) -AC_ARG_ENABLE(werror, [AS_HELP_STRING([--enable-werror], - [turns on -Werror @<:@default=yes@:>@])]) -if test "x$enable_werror" != "xno"; then - WERROR="-Werror" -fi +AC_ARG_ENABLE([werror], + [AS_HELP_STRING([--disable-werror], [disable building with -Werror])]) +AS_IF([test "x$enable_werror" != "xno" && test "x$GCC" = "xyes"], + [WERROR="-Werror"]) AC_SUBST(WERROR) glibgo_toolexecdir=no diff --git a/libgomp/configure b/libgomp/configure index 37390ce5d66..a73a6d44003 100755 --- a/libgomp/configure +++ b/libgomp/configure @@ -825,6 +825,7 @@ enable_silent_rules enable_multilib with_toolexeclibdir enable_dependency_tracking +enable_werror enable_shared enable_static with_pic @@ -1486,6 +1487,7 @@ Optional Features: do not reject slow dependency extractors --disable-dependency-tracking speeds up one-time build + --disable-werror disable building with -Werror --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] @@ -4611,9 +4613,17 @@ fi # in both places for now and restore CFLAGS at the end of config. save_CFLAGS="$CFLAGS" +# Check whether --enable-werror was given. +if test "${enable_werror+set}" = set; then : + enableval=$enable_werror; +fi + # Add -Wall -Werror if we are using GCC. -if test "x$GCC" = "xyes"; then - XCFLAGS="$XCFLAGS -Wall -Werror" +if test "x$GCC" = "xyes"; then : + XCFLAGS="$XCFLAGS -Wall" +fi +if test "x$enable_werror" != "xno" && test "x$GCC" = "xyes"; then : + XCFLAGS="$XCFLAGS -Werror" fi # Find other programs we need. @@ -11421,7 +11431,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11424 "configure" +#line 11434 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11527,7 +11537,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11530 "configure" +#line 11540 "configure" #include "confdefs.h" #if HAVE_DLFCN_H diff --git a/libgomp/configure.ac b/libgomp/configure.ac index bfb613b91f0..a9b1f3973f7 100644 --- a/libgomp/configure.ac +++ b/libgomp/configure.ac @@ -121,10 +121,13 @@ AC_SUBST(CFLAGS) # in both places for now and restore CFLAGS at the end of config. save_CFLAGS="$CFLAGS" +AC_ARG_ENABLE([werror], + [AS_HELP_STRING([--disable-werror], [disable building with -Werror])]) # Add -Wall -Werror if we are using GCC. -if test "x$GCC" = "xyes"; then - XCFLAGS="$XCFLAGS -Wall -Werror" -fi +AS_IF([test "x$GCC" = "xyes"], + [XCFLAGS="$XCFLAGS -Wall"]) +AS_IF([test "x$enable_werror" != "xno" && test "x$GCC" = "xyes"], + [XCFLAGS="$XCFLAGS -Werror"]) # Find other programs we need. AC_CHECK_TOOL(AR, ar) diff --git a/libitm/configure b/libitm/configure index 966bf40537d..18fc2d3a10a 100755 --- a/libitm/configure +++ b/libitm/configure @@ -814,6 +814,7 @@ enable_maintainer_mode enable_linux_futex enable_tls enable_symvers +enable_werror enable_cet with_gcc_major_version_only ' @@ -1468,6 +1469,7 @@ Optional Features: --enable-tls Use thread-local storage [default=yes] --enable-symvers=STYLE enables symbol versioning of the shared library [default=yes] + --disable-werror disable building with -Werror --enable-cet enable Intel CET in target libraries [default=auto] Optional Packages: @@ -12056,7 +12058,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12059 "configure" +#line 12061 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12162,7 +12164,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12165 "configure" +#line 12167 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -17847,9 +17849,17 @@ $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi rm -f confcache +# Check whether --enable-werror was given. +if test "${enable_werror+set}" = set; then : + enableval=$enable_werror; +fi + # Add -Wall -Werror if we are using GCC. -if test "x$GCC" = "xyes"; then - XCFLAGS="$XCFLAGS -Wall -Werror" +if test "x$GCC" = "xyes"; then : + XCFLAGS="$XCFLAGS -Wall" +fi +if test "x$enable_werror" != "xno" && test "x$GCC" = "xyes"; then : + XCFLAGS="$XCFLAGS -Werror" fi XCFLAGS="$XCFLAGS $XPCFLAGS" diff --git a/libitm/configure.ac b/libitm/configure.ac index ac81b146845..78a682376d9 100644 --- a/libitm/configure.ac +++ b/libitm/configure.ac @@ -261,10 +261,13 @@ GCC_CHECK_ELF_STYLE_WEAKREF CFLAGS="$save_CFLAGS" AC_CACHE_SAVE +AC_ARG_ENABLE([werror], + [AS_HELP_STRING([--disable-werror], [disable building with -Werror])]) # Add -Wall -Werror if we are using GCC. -if test "x$GCC" = "xyes"; then - XCFLAGS="$XCFLAGS -Wall -Werror" -fi +AS_IF([test "x$GCC" = "xyes"], + [XCFLAGS="$XCFLAGS -Wall"]) +AS_IF([test "x$enable_werror" != "xno" && test "x$GCC" = "xyes"], + [XCFLAGS="$XCFLAGS -Werror"]) XCFLAGS="$XCFLAGS $XPCFLAGS" diff --git a/libsanitizer/Makefile.in b/libsanitizer/Makefile.in index 486c7920ee2..aab88deb6e8 100644 --- a/libsanitizer/Makefile.in +++ b/libsanitizer/Makefile.in @@ -108,6 +108,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../config/warnings.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ @@ -290,6 +291,7 @@ STRIP = @STRIP@ TSAN_TARGET_DEPENDENT_OBJECTS = @TSAN_TARGET_DEPENDENT_OBJECTS@ VERSION = @VERSION@ VIEW_FILE = @VIEW_FILE@ +WARN_FLAGS = @WARN_FLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/libsanitizer/aclocal.m4 b/libsanitizer/aclocal.m4 index 85f72c2eb47..6aa15694eba 100644 --- a/libsanitizer/aclocal.m4 +++ b/libsanitizer/aclocal.m4 @@ -1195,6 +1195,7 @@ m4_include([../config/multi.m4]) m4_include([../config/override.m4]) m4_include([../config/stdint.m4]) m4_include([../config/toolexeclibdir.m4]) +m4_include([../config/warnings.m4]) m4_include([../ltoptions.m4]) m4_include([../ltsugar.m4]) m4_include([../ltversion.m4]) diff --git a/libsanitizer/asan/Makefile.in b/libsanitizer/asan/Makefile.in index e00927dd13d..2476fbc5a26 100644 --- a/libsanitizer/asan/Makefile.in +++ b/libsanitizer/asan/Makefile.in @@ -103,6 +103,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../config/warnings.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ @@ -344,6 +345,7 @@ STRIP = @STRIP@ TSAN_TARGET_DEPENDENT_OBJECTS = @TSAN_TARGET_DEPENDENT_OBJECTS@ VERSION = @VERSION@ VIEW_FILE = @VIEW_FILE@ +WARN_FLAGS = @WARN_FLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/libsanitizer/configure b/libsanitizer/configure index 08bdbc68841..771b135573a 100755 --- a/libsanitizer/configure +++ b/libsanitizer/configure @@ -639,6 +639,7 @@ EXTRA_CXXFLAGS EXTRA_CFLAGS EXTRA_ASFLAGS get_gcc_base_ver +WARN_FLAGS SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS TSAN_TARGET_DEPENDENT_OBJECTS LIBBACKTRACE_SUPPORTED_FALSE @@ -816,6 +817,7 @@ with_pic enable_fast_install with_gnu_ld enable_libtool_lock +enable_werror with_gcc_major_version_only enable_cet ' @@ -1469,6 +1471,7 @@ Optional Features: --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) + --disable-werror disable building with -Werror --enable-cet enable Intel CET in target libraries [default=auto] Optional Packages: @@ -12356,7 +12359,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12359 "configure" +#line 12362 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12462,7 +12465,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12465 "configure" +#line 12468 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -16827,6 +16830,75 @@ fi +# Check whether --enable-werror was given. +if test "${enable_werror+set}" = set; then : + enableval=$enable_werror; +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +WARN_FLAGS= +save_CFLAGS="$CFLAGS" +for real_option in -Wextra -Wall -Wwrite-strings \ + -Wmissing-format-attribute -Wcast-qual; do + # Do the check with the no- prefix removed since gcc silently + # accepts any -Wno-* option on purpose + case $real_option in + -Wno-*) option=-W`expr x$real_option : 'x-Wno-\(.*\)'` ;; + *) option=$real_option ;; + esac + as_acx_Woption=`$as_echo "acx_cv_prog_cc_warning_$option" | $as_tr_sh` + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC supports $option" >&5 +$as_echo_n "checking whether $CC supports $option... " >&6; } +if eval \${$as_acx_Woption+:} false; then : + $as_echo_n "(cached) " >&6 +else + CFLAGS="$option" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_acx_Woption=yes" +else + eval "$as_acx_Woption=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +eval ac_res=\$$as_acx_Woption + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + if test `eval 'as_val=${'$as_acx_Woption'};$as_echo "$as_val"'` = yes; then : + WARN_FLAGS="$WARN_FLAGS${WARN_FLAGS:+ }$real_option" +fi + done +CFLAGS="$save_CFLAGS" +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +if test "x$enable_werror" != "xno"; then : + WARN_FLAGS="$WARN_FLAGS -Werror" +fi + + # Determine what GCC version number to use in filesystem paths. get_gcc_base_ver="cat" diff --git a/libsanitizer/configure.ac b/libsanitizer/configure.ac index 13cd302030d..7f1ef3979c4 100644 --- a/libsanitizer/configure.ac +++ b/libsanitizer/configure.ac @@ -400,6 +400,16 @@ fi AC_SUBST([TSAN_TARGET_DEPENDENT_OBJECTS]) AC_SUBST([SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS]) +AC_ARG_ENABLE([werror], + [AS_HELP_STRING([--disable-werror], [disable building with -Werror])]) + +ACX_PROG_CC_WARNING_OPTS([-Wextra -Wall -Wwrite-strings \ + -Wmissing-format-attribute -Wcast-qual], + [WARN_FLAGS]) +AS_IF([test "x$enable_werror" != "xno"], + [WARN_FLAGS="$WARN_FLAGS -Werror"]) +AC_SUBST([WARN_FLAGS]) + # Determine what GCC version number to use in filesystem paths. GCC_BASE_VER diff --git a/libsanitizer/hwasan/Makefile.in b/libsanitizer/hwasan/Makefile.in index 0021e783c61..67553f3979d 100644 --- a/libsanitizer/hwasan/Makefile.in +++ b/libsanitizer/hwasan/Makefile.in @@ -101,6 +101,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../config/warnings.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ @@ -332,6 +333,7 @@ STRIP = @STRIP@ TSAN_TARGET_DEPENDENT_OBJECTS = @TSAN_TARGET_DEPENDENT_OBJECTS@ VERSION = @VERSION@ VIEW_FILE = @VIEW_FILE@ +WARN_FLAGS = @WARN_FLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/libsanitizer/interception/Makefile.in b/libsanitizer/interception/Makefile.in index c14d5270286..bce788aeea7 100644 --- a/libsanitizer/interception/Makefile.in +++ b/libsanitizer/interception/Makefile.in @@ -99,6 +99,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../config/warnings.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ @@ -262,6 +263,7 @@ STRIP = @STRIP@ TSAN_TARGET_DEPENDENT_OBJECTS = @TSAN_TARGET_DEPENDENT_OBJECTS@ VERSION = @VERSION@ VIEW_FILE = @VIEW_FILE@ +WARN_FLAGS = @WARN_FLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/libsanitizer/libbacktrace/Makefile.am b/libsanitizer/libbacktrace/Makefile.am index 16accd468df..0cf8d2104c0 100644 --- a/libsanitizer/libbacktrace/Makefile.am +++ b/libsanitizer/libbacktrace/Makefile.am @@ -34,8 +34,6 @@ ACLOCAL_AMFLAGS = -I ../.. -I ../../config AM_CPPFLAGS = -I $(top_srcdir)/../include -I $(top_srcdir)/../libgcc \ -I ../../libgcc -I .. -I $(top_srcdir) -I $(top_srcdir)/../libbacktrace -WARN_FLAGS = -W -Wall -Wwrite-strings -Wmissing-format-attribute \ - -Wcast-qual -Werror C_WARN_FLAGS = $(WARN_FLAGS) -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition CXX_WARN_FLAGS = $(WARN_FLAGS) -Wno-unused-parameter AM_CFLAGS = $(C_WARN_FLAGS) diff --git a/libsanitizer/libbacktrace/Makefile.in b/libsanitizer/libbacktrace/Makefile.in index f008f8eb552..ece4f11a855 100644 --- a/libsanitizer/libbacktrace/Makefile.in +++ b/libsanitizer/libbacktrace/Makefile.in @@ -130,6 +130,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../config/warnings.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ @@ -312,6 +313,7 @@ STRIP = @STRIP@ TSAN_TARGET_DEPENDENT_OBJECTS = @TSAN_TARGET_DEPENDENT_OBJECTS@ VERSION = @VERSION@ VIEW_FILE = @VIEW_FILE@ +WARN_FLAGS = @WARN_FLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -385,9 +387,6 @@ ACLOCAL_AMFLAGS = -I ../.. -I ../../config AM_CPPFLAGS = -I $(top_srcdir)/../include -I $(top_srcdir)/../libgcc \ -I ../../libgcc -I .. -I $(top_srcdir) -I $(top_srcdir)/../libbacktrace -WARN_FLAGS = -W -Wall -Wwrite-strings -Wmissing-format-attribute \ - -Wcast-qual -Werror - C_WARN_FLAGS = $(WARN_FLAGS) -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition CXX_WARN_FLAGS = $(WARN_FLAGS) -Wno-unused-parameter AM_CFLAGS = $(C_WARN_FLAGS) $(EXTRA_CFLAGS) diff --git a/libsanitizer/lsan/Makefile.in b/libsanitizer/lsan/Makefile.in index 25ac00cf8db..857f244cd86 100644 --- a/libsanitizer/lsan/Makefile.in +++ b/libsanitizer/lsan/Makefile.in @@ -101,6 +101,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../config/warnings.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ @@ -307,6 +308,7 @@ STRIP = @STRIP@ TSAN_TARGET_DEPENDENT_OBJECTS = @TSAN_TARGET_DEPENDENT_OBJECTS@ VERSION = @VERSION@ VIEW_FILE = @VIEW_FILE@ +WARN_FLAGS = @WARN_FLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/libsanitizer/sanitizer_common/Makefile.in b/libsanitizer/sanitizer_common/Makefile.in index 2f68f22c80a..c4b009fed83 100644 --- a/libsanitizer/sanitizer_common/Makefile.in +++ b/libsanitizer/sanitizer_common/Makefile.in @@ -105,6 +105,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../config/warnings.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ @@ -299,6 +300,7 @@ STRIP = @STRIP@ TSAN_TARGET_DEPENDENT_OBJECTS = @TSAN_TARGET_DEPENDENT_OBJECTS@ VERSION = @VERSION@ VIEW_FILE = @VIEW_FILE@ +WARN_FLAGS = @WARN_FLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/libsanitizer/tsan/Makefile.in b/libsanitizer/tsan/Makefile.in index a76b8d43172..538d2e8eb68 100644 --- a/libsanitizer/tsan/Makefile.in +++ b/libsanitizer/tsan/Makefile.in @@ -102,6 +102,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../config/warnings.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ @@ -336,6 +337,7 @@ STRIP = @STRIP@ TSAN_TARGET_DEPENDENT_OBJECTS = @TSAN_TARGET_DEPENDENT_OBJECTS@ VERSION = @VERSION@ VIEW_FILE = @VIEW_FILE@ +WARN_FLAGS = @WARN_FLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ diff --git a/libsanitizer/ubsan/Makefile.in b/libsanitizer/ubsan/Makefile.in index ad75c67e266..497e0338696 100644 --- a/libsanitizer/ubsan/Makefile.in +++ b/libsanitizer/ubsan/Makefile.in @@ -101,6 +101,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \ $(top_srcdir)/../config/override.m4 \ $(top_srcdir)/../config/stdint.m4 \ $(top_srcdir)/../config/toolexeclibdir.m4 \ + $(top_srcdir)/../config/warnings.m4 \ $(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \ $(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/../libtool.m4 \ @@ -301,6 +302,7 @@ STRIP = @STRIP@ TSAN_TARGET_DEPENDENT_OBJECTS = @TSAN_TARGET_DEPENDENT_OBJECTS@ VERSION = @VERSION@ VIEW_FILE = @VIEW_FILE@ +WARN_FLAGS = @WARN_FLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@