From c3be340eb67fff7ef353d37bd02898f295ea0ef1 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Tue, 17 Jul 2018 14:18:47 +0100 Subject: [PATCH] PR libstdc++/86450 use -Wabi=2 and simplify -Werror use Use -Wabi=2 to fix warnings about -Wabi having no effect on its own. This requires suppressing two warnings in src/c++11/debug.cc which do not affect the library ABI. Previously libstdc++ defaulted to --enable-werror but the -Werror flag was not actually added unless --enable-maintainer-mode was used. This is not documented and not the expected behaviour. This removes any special treatment for maintainer-mode, makes -Werror depend directly on --enable-werror, and changes the default to --enable-werror=no. PR libstdc++/86450 * acinclude.m4 (GLIBCXX_CHECK_COMPILER_FEATURES): Don't define WERROR. (GLIBCXX_EXPORT_FLAGS): Use -Wabi=2 instead of -Wabi. * configure: Regenerate. * configure.ac: Change GLIBCXX_ENABLE_WERROR default to "no". * doc/Makefile.in: Regenerate. * fragment.am: Set WERROR_FLAG to -Werror instead of $(WERROR). * include/Makefile.in: Regenerate. * libsupc++/Makefile.in: Regenerate. * po/Makefile.in: Regenerate. * python/Makefile.in: Regenerate. * src/Makefile.in: Regenerate. * src/c++11/Makefile.in: Regenerate. * src/c++11/debug.cc: Use diagnostic pragmas to suppress warnings from -Wabi=2 that don't affect exported symbols. * src/c++98/Makefile.in: Regenerate. * src/filesystem/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. From-SVN: r262824 --- libstdc++-v3/ChangeLog | 19 +++++++ libstdc++-v3/Makefile.in | 3 +- libstdc++-v3/acinclude.m4 | 10 +--- libstdc++-v3/configure | 73 ++++++------------------- libstdc++-v3/configure.ac | 2 +- libstdc++-v3/doc/Makefile.in | 3 +- libstdc++-v3/fragment.am | 4 +- libstdc++-v3/include/Makefile.in | 3 +- libstdc++-v3/libsupc++/Makefile.in | 3 +- libstdc++-v3/po/Makefile.in | 3 +- libstdc++-v3/python/Makefile.in | 3 +- libstdc++-v3/src/Makefile.in | 3 +- libstdc++-v3/src/c++11/Makefile.in | 3 +- libstdc++-v3/src/c++11/debug.cc | 5 ++ libstdc++-v3/src/c++98/Makefile.in | 3 +- libstdc++-v3/src/filesystem/Makefile.in | 3 +- libstdc++-v3/testsuite/Makefile.in | 3 +- 17 files changed, 55 insertions(+), 91 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 33b2eea8247..4345d299ded 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,24 @@ 2018-07-17 Jonathan Wakely + PR libstdc++/86450 + * acinclude.m4 (GLIBCXX_CHECK_COMPILER_FEATURES): Don't define WERROR. + (GLIBCXX_EXPORT_FLAGS): Use -Wabi=2 instead of -Wabi. + * configure: Regenerate. + * configure.ac: Change GLIBCXX_ENABLE_WERROR default to "no". + * doc/Makefile.in: Regenerate. + * fragment.am: Set WERROR_FLAG to -Werror instead of $(WERROR). + * include/Makefile.in: Regenerate. + * libsupc++/Makefile.in: Regenerate. + * po/Makefile.in: Regenerate. + * python/Makefile.in: Regenerate. + * src/Makefile.in: Regenerate. + * src/c++11/Makefile.in: Regenerate. + * src/c++11/debug.cc: Use diagnostic pragmas to suppress warnings + from -Wabi=2 that don't affect exported symbols. + * src/c++98/Makefile.in: Regenerate. + * src/filesystem/Makefile.in: Regenerate. + * testsuite/Makefile.in: Regenerate. + * src/c++11/compatibility-thread-c++0x.cc [_GLIBCXX_SHARED] (_Async_state_common::_M_join): Simplify use of std::call_once and corresponding explicit instantiation. diff --git a/libstdc++-v3/Makefile.in b/libstdc++-v3/Makefile.in index dbfdce67638..f24f5d8803b 100644 --- a/libstdc++-v3/Makefile.in +++ b/libstdc++-v3/Makefile.in @@ -232,7 +232,6 @@ VTV_CXXFLAGS = @VTV_CXXFLAGS@ VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@ VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@ WARN_FLAGS = @WARN_FLAGS@ -WERROR = @WERROR@ XMLLINT = @XMLLINT@ XSLTPROC = @XSLTPROC@ XSL_STYLE_DIR = @XSL_STYLE_DIR@ @@ -328,7 +327,7 @@ STAMP = echo timestamp > toolexecdir = $(glibcxx_toolexecdir) toolexeclibdir = $(glibcxx_toolexeclibdir) @ENABLE_WERROR_FALSE@WERROR_FLAG = -@ENABLE_WERROR_TRUE@WERROR_FLAG = $(WERROR) +@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror @ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS = @ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index cf5add167e6..bbf3c8df3e1 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -140,13 +140,6 @@ AC_DEFUN([GLIBCXX_CHECK_COMPILER_FEATURES], [ ac_test_CXXFLAGS="${CXXFLAGS+set}" ac_save_CXXFLAGS="$CXXFLAGS" - # Check for maintainer-mode bits. - if test x"$USE_MAINTAINER_MODE" = xno; then - WERROR='' - else - WERROR='-Werror' - fi - # Check for -ffunction-sections -fdata-sections AC_MSG_CHECKING([for g++ that supports -ffunction-sections -fdata-sections]) CXXFLAGS='-g -Werror -ffunction-sections -fdata-sections' @@ -163,7 +156,6 @@ AC_DEFUN([GLIBCXX_CHECK_COMPILER_FEATURES], [ AC_MSG_RESULT($ac_fdsections) AC_LANG_RESTORE - AC_SUBST(WERROR) AC_SUBST(SECTION_FLAGS) ]) @@ -733,7 +725,7 @@ AC_DEFUN([GLIBCXX_EXPORT_FLAGS], [ # OPTIMIZE_CXXFLAGS = -O3 -fstrict-aliasing -fvtable-gc AC_SUBST(OPTIMIZE_CXXFLAGS) - WARN_FLAGS='-Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi' + WARN_FLAGS="-Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi=2" AC_SUBST(WARN_FLAGS) ]) diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index d126addd40a..101dcd9cb7c 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -728,7 +728,6 @@ BASIC_FILE_CC BASIC_FILE_H CSTDIO_H SECTION_FLAGS -WERROR ENABLE_FLOAT128_FALSE ENABLE_FLOAT128_TRUE thread_header @@ -1582,7 +1581,7 @@ Optional Features: memory [default=no] --enable-extern-template enable extern template [default=yes] - --enable-werror turns on -Werror [default=yes] + --enable-werror turns on -Werror [default=no] --enable-vtable-verify enable vtable verify [default=no] --enable-libstdcxx-time[=KIND] use KIND for check type [default=auto] @@ -11608,7 +11607,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11611 "configure" +#line 11610 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11714,7 +11713,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11717 "configure" +#line 11716 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12885,20 +12884,20 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi prelink_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' old_archive_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ $RANLIB $oldlib' archive_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; *) # Version 6 and above use weak symbols archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' @@ -15400,7 +15399,7 @@ $as_echo "$glibcxx_cv_atomic_long_long" >&6; } # Fake what AC_TRY_COMPILE does. cat > conftest.$ac_ext << EOF -#line 15403 "configure" +#line 15402 "configure" int main() { typedef bool atomic_type; @@ -15435,7 +15434,7 @@ $as_echo "$glibcxx_cv_atomic_bool" >&6; } rm -f conftest* cat > conftest.$ac_ext << EOF -#line 15438 "configure" +#line 15437 "configure" int main() { typedef short atomic_type; @@ -15470,7 +15469,7 @@ $as_echo "$glibcxx_cv_atomic_short" >&6; } rm -f conftest* cat > conftest.$ac_ext << EOF -#line 15473 "configure" +#line 15472 "configure" int main() { // NB: _Atomic_word not necessarily int. @@ -15506,7 +15505,7 @@ $as_echo "$glibcxx_cv_atomic_int" >&6; } rm -f conftest* cat > conftest.$ac_ext << EOF -#line 15509 "configure" +#line 15508 "configure" int main() { typedef long long atomic_type; @@ -15587,7 +15586,7 @@ $as_echo "$as_me: WARNING: Performance of certain classes will degrade as a resu # unnecessary for this test. cat > conftest.$ac_ext << EOF -#line 15590 "configure" +#line 15589 "configure" int main() { _Decimal32 d1; @@ -15629,7 +15628,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu # unnecessary for this test. cat > conftest.$ac_ext << EOF -#line 15632 "configure" +#line 15631 "configure" template struct same { typedef T2 type; }; @@ -15663,7 +15662,7 @@ $as_echo "$enable_int128" >&6; } rm -f conftest* cat > conftest.$ac_ext << EOF -#line 15666 "configure" +#line 15665 "configure" template struct same { typedef T2 type; }; @@ -15720,13 +15719,6 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_test_CXXFLAGS="${CXXFLAGS+set}" ac_save_CXXFLAGS="$CXXFLAGS" - # Check for maintainer-mode bits. - if test x"$USE_MAINTAINER_MODE" = xno; then - WERROR='' - else - WERROR='-Werror' - fi - # Check for -ffunction-sections -fdata-sections { $as_echo "$as_me:${as_lineno-$LINENO}: checking for g++ that supports -ffunction-sections -fdata-sections" >&5 $as_echo_n "checking for g++ that supports -ffunction-sections -fdata-sections... " >&6; } @@ -15769,7 +15761,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu - # Enable all the variable C++ runtime options that don't require linking. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for underlying I/O to use" >&5 @@ -18104,7 +18095,7 @@ if test "${enable_werror+set}" = set; then : esac else - enable_werror=yes + enable_werror=no fi @@ -29055,13 +29046,6 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_test_CXXFLAGS="${CXXFLAGS+set}" ac_save_CXXFLAGS="$CXXFLAGS" - # Check for maintainer-mode bits. - if test x"$USE_MAINTAINER_MODE" = xno; then - WERROR='' - else - WERROR='-Werror' - fi - # Check for -ffunction-sections -fdata-sections { $as_echo "$as_me:${as_lineno-$LINENO}: checking for g++ that supports -ffunction-sections -fdata-sections" >&5 $as_echo_n "checking for g++ that supports -ffunction-sections -fdata-sections... " >&6; } @@ -29104,7 +29088,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu - # If we're not using GNU ld, then there's no point in even trying these # tests. Check for that first. We should have already tested for gld # by now (in libtool), but require it now just to be safe... @@ -35049,13 +35032,6 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_test_CXXFLAGS="${CXXFLAGS+set}" ac_save_CXXFLAGS="$CXXFLAGS" - # Check for maintainer-mode bits. - if test x"$USE_MAINTAINER_MODE" = xno; then - WERROR='' - else - WERROR='-Werror' - fi - # Check for -ffunction-sections -fdata-sections { $as_echo "$as_me:${as_lineno-$LINENO}: checking for g++ that supports -ffunction-sections -fdata-sections" >&5 $as_echo_n "checking for g++ that supports -ffunction-sections -fdata-sections... " >&6; } @@ -35098,7 +35074,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu - # If we're not using GNU ld, then there's no point in even trying these # tests. Check for that first. We should have already tested for gld # by now (in libtool), but require it now just to be safe... @@ -53809,13 +53784,6 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_test_CXXFLAGS="${CXXFLAGS+set}" ac_save_CXXFLAGS="$CXXFLAGS" - # Check for maintainer-mode bits. - if test x"$USE_MAINTAINER_MODE" = xno; then - WERROR='' - else - WERROR='-Werror' - fi - # Check for -ffunction-sections -fdata-sections { $as_echo "$as_me:${as_lineno-$LINENO}: checking for g++ that supports -ffunction-sections -fdata-sections" >&5 $as_echo_n "checking for g++ that supports -ffunction-sections -fdata-sections... " >&6; } @@ -53858,7 +53826,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu - # If we're not using GNU ld, then there's no point in even trying these # tests. Check for that first. We should have already tested for gld # by now (in libtool), but require it now just to be safe... @@ -66510,13 +66477,6 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_test_CXXFLAGS="${CXXFLAGS+set}" ac_save_CXXFLAGS="$CXXFLAGS" - # Check for maintainer-mode bits. - if test x"$USE_MAINTAINER_MODE" = xno; then - WERROR='' - else - WERROR='-Werror' - fi - # Check for -ffunction-sections -fdata-sections { $as_echo "$as_me:${as_lineno-$LINENO}: checking for g++ that supports -ffunction-sections -fdata-sections" >&5 $as_echo_n "checking for g++ that supports -ffunction-sections -fdata-sections... " >&6; } @@ -66559,7 +66519,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu - # If we're not using GNU ld, then there's no point in even trying these # tests. Check for that first. We should have already tested for gld # by now (in libtool), but require it now just to be safe... @@ -81846,7 +81805,7 @@ $as_echo "$gxx_include_dir" >&6; } # OPTIMIZE_CXXFLAGS = -O3 -fstrict-aliasing -fvtable-gc - WARN_FLAGS='-Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi' + WARN_FLAGS="-Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi=2" diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac index 7e1fd84606a..1e0a33fb3ea 100644 --- a/libstdc++-v3/configure.ac +++ b/libstdc++-v3/configure.ac @@ -175,7 +175,7 @@ GLIBCXX_ENABLE_CXX_FLAGS GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING([no]) GLIBCXX_ENABLE_EXTERN_TEMPLATE([yes]) GLIBCXX_ENABLE_PYTHON -GLIBCXX_ENABLE_WERROR([yes]) +GLIBCXX_ENABLE_WERROR([no]) GLIBCXX_ENABLE_VTABLE_VERIFY([no]) # Checks for operating systems support that doesn't require linking. diff --git a/libstdc++-v3/doc/Makefile.in b/libstdc++-v3/doc/Makefile.in index f68b1d72d10..c19f7bdf340 100644 --- a/libstdc++-v3/doc/Makefile.in +++ b/libstdc++-v3/doc/Makefile.in @@ -204,7 +204,6 @@ VTV_CXXFLAGS = @VTV_CXXFLAGS@ VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@ VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@ WARN_FLAGS = @WARN_FLAGS@ -WERROR = @WERROR@ # Validate existing XML structure. XMLLINT = xmllint @@ -310,7 +309,7 @@ STAMP = echo timestamp > toolexecdir = $(glibcxx_toolexecdir) toolexeclibdir = $(glibcxx_toolexeclibdir) @ENABLE_WERROR_FALSE@WERROR_FLAG = -@ENABLE_WERROR_TRUE@WERROR_FLAG = $(WERROR) +@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror @ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS = @ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates diff --git a/libstdc++-v3/fragment.am b/libstdc++-v3/fragment.am index 898569520b9..216c572fc60 100644 --- a/libstdc++-v3/fragment.am +++ b/libstdc++-v3/fragment.am @@ -14,9 +14,9 @@ toolexecdir = $(glibcxx_toolexecdir) toolexeclibdir = $(glibcxx_toolexeclibdir) if ENABLE_WERROR -WERROR_FLAG=$(WERROR) +WERROR_FLAG = -Werror else -WERROR_FLAG= +WERROR_FLAG = endif if ENABLE_EXTERN_TEMPLATE diff --git a/libstdc++-v3/include/Makefile.in b/libstdc++-v3/include/Makefile.in index 1a4dbbf8716..ff3249e346e 100644 --- a/libstdc++-v3/include/Makefile.in +++ b/libstdc++-v3/include/Makefile.in @@ -204,7 +204,6 @@ VTV_CXXFLAGS = @VTV_CXXFLAGS@ VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@ VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@ WARN_FLAGS = @WARN_FLAGS@ -WERROR = @WERROR@ XMLLINT = @XMLLINT@ XSLTPROC = @XSLTPROC@ XSL_STYLE_DIR = @XSL_STYLE_DIR@ @@ -300,7 +299,7 @@ STAMP = echo timestamp > toolexecdir = $(glibcxx_toolexecdir) toolexeclibdir = $(glibcxx_toolexeclibdir) @ENABLE_WERROR_FALSE@WERROR_FLAG = -@ENABLE_WERROR_TRUE@WERROR_FLAG = $(WERROR) +@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror @ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS = @ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates diff --git a/libstdc++-v3/libsupc++/Makefile.in b/libstdc++-v3/libsupc++/Makefile.in index 37644e8f4cc..1e63bab6a09 100644 --- a/libstdc++-v3/libsupc++/Makefile.in +++ b/libstdc++-v3/libsupc++/Makefile.in @@ -277,7 +277,6 @@ VTV_CXXFLAGS = @VTV_CXXFLAGS@ VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@ VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@ WARN_FLAGS = @WARN_FLAGS@ -WERROR = @WERROR@ XMLLINT = @XMLLINT@ XSLTPROC = @XSLTPROC@ XSL_STYLE_DIR = @XSL_STYLE_DIR@ @@ -373,7 +372,7 @@ STAMP = echo timestamp > toolexecdir = $(glibcxx_toolexecdir) toolexeclibdir = $(glibcxx_toolexeclibdir) @ENABLE_WERROR_FALSE@WERROR_FLAG = -@ENABLE_WERROR_TRUE@WERROR_FLAG = $(WERROR) +@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror @ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS = @ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates diff --git a/libstdc++-v3/po/Makefile.in b/libstdc++-v3/po/Makefile.in index 3fe137f1d97..1f0ac5bf526 100644 --- a/libstdc++-v3/po/Makefile.in +++ b/libstdc++-v3/po/Makefile.in @@ -204,7 +204,6 @@ VTV_CXXFLAGS = @VTV_CXXFLAGS@ VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@ VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@ WARN_FLAGS = @WARN_FLAGS@ -WERROR = @WERROR@ XMLLINT = @XMLLINT@ XSLTPROC = @XSLTPROC@ XSL_STYLE_DIR = @XSL_STYLE_DIR@ @@ -300,7 +299,7 @@ STAMP = echo timestamp > toolexecdir = $(glibcxx_toolexecdir) toolexeclibdir = $(glibcxx_toolexeclibdir) @ENABLE_WERROR_FALSE@WERROR_FLAG = -@ENABLE_WERROR_TRUE@WERROR_FLAG = $(WERROR) +@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror @ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS = @ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates diff --git a/libstdc++-v3/python/Makefile.in b/libstdc++-v3/python/Makefile.in index 23fe7a6a697..f033a0589fa 100644 --- a/libstdc++-v3/python/Makefile.in +++ b/libstdc++-v3/python/Makefile.in @@ -234,7 +234,6 @@ VTV_CXXFLAGS = @VTV_CXXFLAGS@ VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@ VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@ WARN_FLAGS = @WARN_FLAGS@ -WERROR = @WERROR@ XMLLINT = @XMLLINT@ XSLTPROC = @XSLTPROC@ XSL_STYLE_DIR = @XSL_STYLE_DIR@ @@ -330,7 +329,7 @@ STAMP = echo timestamp > toolexecdir = $(glibcxx_toolexecdir) toolexeclibdir = $(glibcxx_toolexeclibdir) @ENABLE_WERROR_FALSE@WERROR_FLAG = -@ENABLE_WERROR_TRUE@WERROR_FLAG = $(WERROR) +@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror @ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS = @ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in index f0ec7bc8e8e..d427ed539da 100644 --- a/libstdc++-v3/src/Makefile.in +++ b/libstdc++-v3/src/Makefile.in @@ -267,7 +267,6 @@ VTV_CXXFLAGS = @VTV_CXXFLAGS@ VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@ VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@ WARN_FLAGS = @WARN_FLAGS@ -WERROR = @WERROR@ XMLLINT = @XMLLINT@ XSLTPROC = @XSLTPROC@ XSL_STYLE_DIR = @XSL_STYLE_DIR@ @@ -363,7 +362,7 @@ STAMP = echo timestamp > toolexecdir = $(glibcxx_toolexecdir) toolexeclibdir = $(glibcxx_toolexeclibdir) @ENABLE_WERROR_FALSE@WERROR_FLAG = -@ENABLE_WERROR_TRUE@WERROR_FLAG = $(WERROR) +@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror @ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS = @ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates diff --git a/libstdc++-v3/src/c++11/Makefile.in b/libstdc++-v3/src/c++11/Makefile.in index 977f1ab441d..d4c4b72a1ae 100644 --- a/libstdc++-v3/src/c++11/Makefile.in +++ b/libstdc++-v3/src/c++11/Makefile.in @@ -242,7 +242,6 @@ VTV_CXXFLAGS = @VTV_CXXFLAGS@ VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@ VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@ WARN_FLAGS = @WARN_FLAGS@ -WERROR = @WERROR@ XMLLINT = @XMLLINT@ XSLTPROC = @XSLTPROC@ XSL_STYLE_DIR = @XSL_STYLE_DIR@ @@ -338,7 +337,7 @@ STAMP = echo timestamp > toolexecdir = $(glibcxx_toolexecdir) toolexeclibdir = $(glibcxx_toolexeclibdir) @ENABLE_WERROR_FALSE@WERROR_FLAG = -@ENABLE_WERROR_TRUE@WERROR_FLAG = $(WERROR) +@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror @ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS = @ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates diff --git a/libstdc++-v3/src/c++11/debug.cc b/libstdc++-v3/src/c++11/debug.cc index cb64dd9240e..88fe889dd6a 100644 --- a/libstdc++-v3/src/c++11/debug.cc +++ b/libstdc++-v3/src/c++11/debug.cc @@ -66,6 +66,10 @@ namespace return __gnu_internal::get_mutex(index); } +#pragma GCC diagnostic push +// Suppress -Wabi=2 warnings due to PR c++/51322 mangling change +#pragma GCC diagnostic warning "-Wabi=6" + void swap_its(__gnu_debug::_Safe_sequence_base& __lhs, __gnu_debug::_Safe_iterator_base*& __lhs_its, @@ -90,6 +94,7 @@ namespace swap_its(__lhs, __lhs._M_const_iterators, __rhs, __rhs._M_const_iterators); } +#pragma GCC diagnostic pop template void diff --git a/libstdc++-v3/src/c++98/Makefile.in b/libstdc++-v3/src/c++98/Makefile.in index d2b9079795c..33f2ac0f87a 100644 --- a/libstdc++-v3/src/c++98/Makefile.in +++ b/libstdc++-v3/src/c++98/Makefile.in @@ -238,7 +238,6 @@ VTV_CXXFLAGS = @VTV_CXXFLAGS@ VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@ VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@ WARN_FLAGS = @WARN_FLAGS@ -WERROR = @WERROR@ XMLLINT = @XMLLINT@ XSLTPROC = @XSLTPROC@ XSL_STYLE_DIR = @XSL_STYLE_DIR@ @@ -334,7 +333,7 @@ STAMP = echo timestamp > toolexecdir = $(glibcxx_toolexecdir) toolexeclibdir = $(glibcxx_toolexeclibdir) @ENABLE_WERROR_FALSE@WERROR_FLAG = -@ENABLE_WERROR_TRUE@WERROR_FLAG = $(WERROR) +@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror @ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS = @ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates diff --git a/libstdc++-v3/src/filesystem/Makefile.in b/libstdc++-v3/src/filesystem/Makefile.in index 0b43889eeb2..e38115afecc 100644 --- a/libstdc++-v3/src/filesystem/Makefile.in +++ b/libstdc++-v3/src/filesystem/Makefile.in @@ -248,7 +248,6 @@ VTV_CXXFLAGS = @VTV_CXXFLAGS@ VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@ VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@ WARN_FLAGS = @WARN_FLAGS@ -WERROR = @WERROR@ XMLLINT = @XMLLINT@ XSLTPROC = @XSLTPROC@ XSL_STYLE_DIR = @XSL_STYLE_DIR@ @@ -344,7 +343,7 @@ STAMP = echo timestamp > toolexecdir = $(glibcxx_toolexecdir) toolexeclibdir = $(glibcxx_toolexeclibdir) @ENABLE_WERROR_FALSE@WERROR_FLAG = -@ENABLE_WERROR_TRUE@WERROR_FLAG = $(WERROR) +@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror @ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS = @ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates diff --git a/libstdc++-v3/testsuite/Makefile.in b/libstdc++-v3/testsuite/Makefile.in index ddae2b2cd55..8f40961da83 100644 --- a/libstdc++-v3/testsuite/Makefile.in +++ b/libstdc++-v3/testsuite/Makefile.in @@ -204,7 +204,6 @@ VTV_CXXFLAGS = @VTV_CXXFLAGS@ VTV_CXXLINKFLAGS = @VTV_CXXLINKFLAGS@ VTV_PCH_CXXFLAGS = @VTV_PCH_CXXFLAGS@ WARN_FLAGS = @WARN_FLAGS@ -WERROR = @WERROR@ XMLLINT = @XMLLINT@ XSLTPROC = @XSLTPROC@ XSL_STYLE_DIR = @XSL_STYLE_DIR@ @@ -303,7 +302,7 @@ STAMP = echo timestamp > toolexecdir = $(glibcxx_toolexecdir) toolexeclibdir = $(glibcxx_toolexeclibdir) @ENABLE_WERROR_FALSE@WERROR_FLAG = -@ENABLE_WERROR_TRUE@WERROR_FLAG = $(WERROR) +@ENABLE_WERROR_TRUE@WERROR_FLAG = -Werror @ENABLE_EXTERN_TEMPLATE_FALSE@XTEMPLATE_FLAGS = @ENABLE_EXTERN_TEMPLATE_TRUE@XTEMPLATE_FLAGS = -fno-implicit-templates -- 2.30.2