diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2018-07-17 14:18:47 +0100 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2018-07-17 14:18:47 +0100 |
commit | c3be340eb67fff7ef353d37bd02898f295ea0ef1 (patch) | |
tree | dbe147238a4363d6bfb653ac455c00499375f299 /libstdc++-v3/src | |
parent | 79a88477ad431b7368b98f80f91077177383012d (diff) | |
download | gcc-c3be340eb67fff7ef353d37bd02898f295ea0ef1.zip gcc-c3be340eb67fff7ef353d37bd02898f295ea0ef1.tar.gz gcc-c3be340eb67fff7ef353d37bd02898f295ea0ef1.tar.bz2 |
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
Diffstat (limited to 'libstdc++-v3/src')
-rw-r--r-- | libstdc++-v3/src/Makefile.in | 3 | ||||
-rw-r--r-- | libstdc++-v3/src/c++11/Makefile.in | 3 | ||||
-rw-r--r-- | libstdc++-v3/src/c++11/debug.cc | 5 | ||||
-rw-r--r-- | libstdc++-v3/src/c++98/Makefile.in | 3 | ||||
-rw-r--r-- | libstdc++-v3/src/filesystem/Makefile.in | 3 |
5 files changed, 9 insertions, 8 deletions
diff --git a/libstdc++-v3/src/Makefile.in b/libstdc++-v3/src/Makefile.in index f0ec7bc..d427ed5 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 977f1ab..d4c4b72 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 cb64dd9..88fe889 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<typename _Action> void diff --git a/libstdc++-v3/src/c++98/Makefile.in b/libstdc++-v3/src/c++98/Makefile.in index d2b9079..33f2ac0 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 0b43889..e38115a 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 |