diff options
author | Jason Merrill <jason@redhat.com> | 2023-12-22 13:20:35 -0500 |
---|---|---|
committer | Jason Merrill <jason@redhat.com> | 2024-09-19 10:23:16 -0400 |
commit | d3a7302ec5985abcda561886cc724d388c7143cb (patch) | |
tree | 587ad5067908ca764873a75bf56c4c5fb0e1246b /libstdc++-v3/include | |
parent | 605d05b9481832bc691685b7ff990ef68f02b1bb (diff) | |
download | gcc-d3a7302ec5985abcda561886cc724d388c7143cb.zip gcc-d3a7302ec5985abcda561886cc724d388c7143cb.tar.gz gcc-d3a7302ec5985abcda561886cc724d388c7143cb.tar.bz2 |
libstdc++: add #pragma diagnostic
The use of #pragma GCC system_header in libstdc++ has led to bugs going
undetected for a while due to the silencing of compiler warnings that would
have revealed them promptly, and also interferes with warnings about
problematic template instantiations induced by user code.
But removing it, or even compiling with -Wsystem-header, is also problematic
due to warnings about deliberate uses of extensions.
So this patch adds #pragma GCC diagnostic as needed to suppress these
warnings.
The change to acinclude.m4 changes -Wabi to warn only in comparison to ABI
19, to avoid lots of warnings that we now mangle concept requirements, which
are in any case still experimental. I checked for any other changes against
ABI v15, and found only the <format> lambda mangling, which we can ignore.
This also enables -Wsystem-headers while building the library, so we see any
warnings not silenced by these #pragmas.
libstdc++-v3/ChangeLog:
* include/bits/algorithmfwd.h:
* include/bits/allocator.h:
* include/bits/codecvt.h:
* include/bits/concept_check.h:
* include/bits/cpp_type_traits.h:
* include/bits/hashtable.h:
* include/bits/iterator_concepts.h:
* include/bits/ostream_insert.h:
* include/bits/ranges_base.h:
* include/bits/regex_automaton.h:
* include/bits/std_abs.h:
* include/bits/stl_algo.h:
* include/c_compatibility/fenv.h:
* include/c_compatibility/inttypes.h:
* include/c_compatibility/stdint.h:
* include/ext/concurrence.h:
* include/ext/type_traits.h:
* testsuite/ext/type_traits/add_unsigned_floating_neg.cc:
* testsuite/ext/type_traits/add_unsigned_integer_neg.cc:
* testsuite/ext/type_traits/remove_unsigned_floating_neg.cc:
* testsuite/ext/type_traits/remove_unsigned_integer_neg.cc:
* include/bits/basic_ios.tcc:
* include/bits/basic_string.tcc:
* include/bits/fstream.tcc:
* include/bits/istream.tcc:
* include/bits/locale_classes.tcc:
* include/bits/locale_facets.tcc:
* include/bits/ostream.tcc:
* include/bits/regex_compiler.tcc:
* include/bits/sstream.tcc:
* include/bits/streambuf.tcc:
* configure: Regenerate.
* include/bits/c++config:
* include/c/cassert:
* include/c/cctype:
* include/c/cerrno:
* include/c/cfloat:
* include/c/climits:
* include/c/clocale:
* include/c/cmath:
* include/c/csetjmp:
* include/c/csignal:
* include/c/cstdarg:
* include/c/cstddef:
* include/c/cstdio:
* include/c/cstdlib:
* include/c/cstring:
* include/c/ctime:
* include/c/cwchar:
* include/c/cwctype:
* include/c_global/climits:
* include/c_global/cmath:
* include/c_global/cstddef:
* include/c_global/cstdlib:
* include/decimal/decimal:
* include/ext/rope:
* include/std/any:
* include/std/charconv:
* include/std/complex:
* include/std/coroutine:
* include/std/format:
* include/std/iomanip:
* include/std/limits:
* include/std/numbers:
* include/tr1/functional:
* include/tr1/tuple:
* include/tr1/type_traits:
* libsupc++/compare:
* libsupc++/new: Add #pragma GCC diagnostic to suppress
undesired warnings.
* acinclude.m4: Change -Wabi version from 2 to 19.
gcc/ChangeLog:
* ginclude/stdint-wrap.h: Add #pragma GCC diagnostic to suppress
undesired warnings.
* gsyslimits.h: Likewise.
Diffstat (limited to 'libstdc++-v3/include')
62 files changed, 298 insertions, 1 deletions
diff --git a/libstdc++-v3/include/bits/algorithmfwd.h b/libstdc++-v3/include/bits/algorithmfwd.h index 34bf992..7f1f159 100644 --- a/libstdc++-v3/include/bits/algorithmfwd.h +++ b/libstdc++-v3/include/bits/algorithmfwd.h @@ -39,6 +39,9 @@ #include <initializer_list> #endif +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++11-extensions" + namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -962,6 +965,8 @@ _GLIBCXX_END_NAMESPACE_ALGO _GLIBCXX_END_NAMESPACE_VERSION } // namespace std +#pragma GCC diagnostic pop + #ifdef _GLIBCXX_PARALLEL # include <parallel/algorithmfwd.h> #endif diff --git a/libstdc++-v3/include/bits/allocator.h b/libstdc++-v3/include/bits/allocator.h index 9e75b37..ebb487a 100644 --- a/libstdc++-v3/include/bits/allocator.h +++ b/libstdc++-v3/include/bits/allocator.h @@ -49,6 +49,9 @@ #include <type_traits> #endif +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++11-extensions" + namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -292,4 +295,5 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION } // namespace std +#pragma GCC diagnostic pop #endif diff --git a/libstdc++-v3/include/bits/basic_ios.tcc b/libstdc++-v3/include/bits/basic_ios.tcc index 0197bdf..1519603 100644 --- a/libstdc++-v3/include/bits/basic_ios.tcc +++ b/libstdc++-v3/include/bits/basic_ios.tcc @@ -32,6 +32,9 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++11-extensions" // extern template + namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -181,4 +184,5 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION } // namespace std +#pragma GCC diagnostic pop #endif diff --git a/libstdc++-v3/include/bits/basic_string.tcc b/libstdc++-v3/include/bits/basic_string.tcc index e458c18..8a76485 100644 --- a/libstdc++-v3/include/bits/basic_string.tcc +++ b/libstdc++-v3/include/bits/basic_string.tcc @@ -41,6 +41,9 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++11-extensions" + #include <bits/cxxabi_forced.h> namespace std _GLIBCXX_VISIBILITY(default) @@ -1031,4 +1034,5 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION } // namespace std +#pragma GCC diagnostic pop #endif diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config index 54d455b..66d03cf 100644 --- a/libstdc++-v3/include/bits/c++config +++ b/libstdc++-v3/include/bits/c++config @@ -32,6 +32,11 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wvariadic-macros" +#pragma GCC diagnostic ignored "-Wc++11-extensions" +#pragma GCC diagnostic ignored "-Wc++23-extensions" // bf16 + // The major release number for the GCC release the C++ library belongs to. #define _GLIBCXX_RELEASE @@ -910,4 +915,6 @@ namespace __gnu_cxx #endif // __has_include #endif // C++17 +#pragma GCC diagnostic pop + // End of prewritten config; the settings discovered at configure time follow. diff --git a/libstdc++-v3/include/bits/codecvt.h b/libstdc++-v3/include/bits/codecvt.h index 41a1d30..c51cc7d 100644 --- a/libstdc++-v3/include/bits/codecvt.h +++ b/libstdc++-v3/include/bits/codecvt.h @@ -41,6 +41,9 @@ #include <bits/c++config.h> #include <bits/locale_classes.h> // locale::facet +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++11-extensions" // extern template + namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -840,4 +843,5 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION } // namespace std +#pragma GCC diagnostic pop #endif // _CODECVT_H diff --git a/libstdc++-v3/include/bits/concept_check.h b/libstdc++-v3/include/bits/concept_check.h index 65f662b..6479f2f 100644 --- a/libstdc++-v3/include/bits/concept_check.h +++ b/libstdc++-v3/include/bits/concept_check.h @@ -34,6 +34,9 @@ #include <bits/c++config.h> +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wvariadic-macros" + // All places in libstdc++-v3 where these are used, or /might/ be used, or // don't need to be used, or perhaps /should/ be used, are commented with // "concept requirements" (and maybe some more text). So grep like crazy @@ -78,4 +81,5 @@ #endif // enable/disable +#pragma GCC diagnostic pop #endif // _GLIBCXX_CONCEPT_CHECK diff --git a/libstdc++-v3/include/bits/cpp_type_traits.h b/libstdc++-v3/include/bits/cpp_type_traits.h index ff74c55..e3a80e0 100644 --- a/libstdc++-v3/include/bits/cpp_type_traits.h +++ b/libstdc++-v3/include/bits/cpp_type_traits.h @@ -40,6 +40,9 @@ # include <type_traits> // is_same_v, is_integral_v #endif +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wlong-long" + // // This file provides some compile-time information about various types. // These representations were designed, on purpose, to be constant-expressions @@ -582,4 +585,6 @@ _GLIBCXX_END_NAMESPACE_VERSION } // namespace } // extern "C++" +#pragma GCC diagnostic pop + #endif //_CPP_TYPE_TRAITS_H diff --git a/libstdc++-v3/include/bits/fstream.tcc b/libstdc++-v3/include/bits/fstream.tcc index a5accec..7b246ad 100644 --- a/libstdc++-v3/include/bits/fstream.tcc +++ b/libstdc++-v3/include/bits/fstream.tcc @@ -36,6 +36,9 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++11-extensions" // extern template + #include <bits/cxxabi_forced.h> #include <bits/move.h> // for swap #include <cerrno> @@ -1094,4 +1097,5 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION } // namespace std +#pragma GCC diagnostic pop #endif diff --git a/libstdc++-v3/include/bits/hashtable.h b/libstdc++-v3/include/bits/hashtable.h index 361da2b..b02bddf 100644 --- a/libstdc++-v3/include/bits/hashtable.h +++ b/libstdc++-v3/include/bits/hashtable.h @@ -40,6 +40,9 @@ # include <bits/node_handle.h> #endif +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++11-extensions" + namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -2758,4 +2761,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION } // namespace std +#pragma GCC diagnostic pop + #endif // _HASHTABLE_H diff --git a/libstdc++-v3/include/bits/istream.tcc b/libstdc++-v3/include/bits/istream.tcc index 16423bf..23a7c84 100644 --- a/libstdc++-v3/include/bits/istream.tcc +++ b/libstdc++-v3/include/bits/istream.tcc @@ -36,6 +36,9 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++11-extensions" // extern template + #include <bits/cxxabi_forced.h> namespace std _GLIBCXX_VISIBILITY(default) @@ -1166,4 +1169,5 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION } // namespace std +#pragma GCC diagnostic pop #endif diff --git a/libstdc++-v3/include/bits/iterator_concepts.h b/libstdc++-v3/include/bits/iterator_concepts.h index 642c709..4ac6e6b 100644 --- a/libstdc++-v3/include/bits/iterator_concepts.h +++ b/libstdc++-v3/include/bits/iterator_concepts.h @@ -37,6 +37,9 @@ #include <bits/ptr_traits.h> // to_address #include <bits/ranges_cmp.h> // identity, ranges::less +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // __int128 + namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -1044,5 +1047,6 @@ namespace ranges #endif // C++20 library concepts _GLIBCXX_END_NAMESPACE_VERSION } // namespace std +#pragma GCC diagnostic pop #endif // C++20 #endif // _ITERATOR_CONCEPTS_H diff --git a/libstdc++-v3/include/bits/locale_classes.tcc b/libstdc++-v3/include/bits/locale_classes.tcc index 1b5f5f2..4f3af24 100644 --- a/libstdc++-v3/include/bits/locale_classes.tcc +++ b/libstdc++-v3/include/bits/locale_classes.tcc @@ -36,6 +36,10 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++11-extensions" // extern template +#pragma GCC diagnostic ignored "-Wvariadic-macros" + namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -384,4 +388,5 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION } // namespace std +#pragma GCC diagnostic pop #endif diff --git a/libstdc++-v3/include/bits/locale_facets.tcc b/libstdc++-v3/include/bits/locale_facets.tcc index cde81bf..4e9bf6f 100644 --- a/libstdc++-v3/include/bits/locale_facets.tcc +++ b/libstdc++-v3/include/bits/locale_facets.tcc @@ -32,6 +32,9 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++11-extensions" // extern template + namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -1433,4 +1436,5 @@ _GLIBCXX_END_NAMESPACE_LDBL _GLIBCXX_END_NAMESPACE_VERSION } // namespace +#pragma GCC diagnostic pop #endif diff --git a/libstdc++-v3/include/bits/ostream.tcc b/libstdc++-v3/include/bits/ostream.tcc index 972de79..7aeb23a 100644 --- a/libstdc++-v3/include/bits/ostream.tcc +++ b/libstdc++-v3/include/bits/ostream.tcc @@ -36,6 +36,9 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++11-extensions" // extern template + #include <bits/cxxabi_forced.h> namespace std _GLIBCXX_VISIBILITY(default) @@ -390,4 +393,5 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION } // namespace std +#pragma GCC diagnostic pop #endif diff --git a/libstdc++-v3/include/bits/ostream_insert.h b/libstdc++-v3/include/bits/ostream_insert.h index e685761..d61b4b1 100644 --- a/libstdc++-v3/include/bits/ostream_insert.h +++ b/libstdc++-v3/include/bits/ostream_insert.h @@ -36,6 +36,9 @@ #include <bits/cxxabi_forced.h> #include <bits/exception_defines.h> +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++11-extensions" // extern template + namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -131,4 +134,5 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION } // namespace std +#pragma GCC diagnostic pop #endif /* _OSTREAM_INSERT_H */ diff --git a/libstdc++-v3/include/bits/ranges_base.h b/libstdc++-v3/include/bits/ranges_base.h index 63eb552..0c6a4e8 100644 --- a/libstdc++-v3/include/bits/ranges_base.h +++ b/libstdc++-v3/include/bits/ranges_base.h @@ -39,6 +39,9 @@ #include <bits/max_size_type.h> #include <bits/version.h> +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // __int128 + #ifdef __cpp_lib_concepts namespace std _GLIBCXX_VISIBILITY(default) { @@ -1073,5 +1076,6 @@ namespace ranges _GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // library concepts +#pragma GCC diagnostic pop #endif // C++20 #endif // _GLIBCXX_RANGES_BASE_H diff --git a/libstdc++-v3/include/bits/regex_automaton.h b/libstdc++-v3/include/bits/regex_automaton.h index 574ec90..03179a0 100644 --- a/libstdc++-v3/include/bits/regex_automaton.h +++ b/libstdc++-v3/include/bits/regex_automaton.h @@ -33,6 +33,9 @@ #define _GLIBCXX_REGEX_STATE_LIMIT 100000 #endif +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // anon struct + namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -397,4 +400,6 @@ namespace __detail _GLIBCXX_END_NAMESPACE_VERSION } // namespace std +#pragma GCC diagnostic pop + #include <bits/regex_automaton.tcc> diff --git a/libstdc++-v3/include/bits/regex_compiler.tcc b/libstdc++-v3/include/bits/regex_compiler.tcc index 3c6cb66..9c5a46a 100644 --- a/libstdc++-v3/include/bits/regex_compiler.tcc +++ b/libstdc++-v3/include/bits/regex_compiler.tcc @@ -55,6 +55,9 @@ // All dummy nodes will be eliminated at the end of compilation. */ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++20-extensions" // variadic macro with 0 args + namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -621,4 +624,6 @@ namespace __detail } // namespace __detail _GLIBCXX_END_NAMESPACE_VERSION -} // namespace +} // namespace std + +#pragma GCC diagnostic pop diff --git a/libstdc++-v3/include/bits/sstream.tcc b/libstdc++-v3/include/bits/sstream.tcc index 9acf15f..7eb5561 100644 --- a/libstdc++-v3/include/bits/sstream.tcc +++ b/libstdc++-v3/include/bits/sstream.tcc @@ -36,6 +36,9 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++11-extensions" // extern template + namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -304,4 +307,5 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION } // namespace std +#pragma GCC diagnostic pop #endif diff --git a/libstdc++-v3/include/bits/std_abs.h b/libstdc++-v3/include/bits/std_abs.h index 48d4416..d143ec1 100644 --- a/libstdc++-v3/include/bits/std_abs.h +++ b/libstdc++-v3/include/bits/std_abs.h @@ -34,6 +34,10 @@ #include <bits/c++config.h> +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // include_next +#pragma GCC diagnostic ignored "-Wlong-long" + #define _GLIBCXX_INCLUDE_NEXT_C_HEADERS #include_next <stdlib.h> #ifdef __CORRECT_ISO_CPP_MATH_H_PROTO @@ -151,4 +155,6 @@ _GLIBCXX_END_NAMESPACE_VERSION } // namespace } // extern "C++" +#pragma GCC diagnostic pop + #endif // _GLIBCXX_BITS_STD_ABS_H diff --git a/libstdc++-v3/include/bits/stl_algo.h b/libstdc++-v3/include/bits/stl_algo.h index 778a37a..a1ef665 100644 --- a/libstdc++-v3/include/bits/stl_algo.h +++ b/libstdc++-v3/include/bits/stl_algo.h @@ -72,6 +72,9 @@ # endif #endif +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++11-extensions" // inline namespace + // See concept_check.h for the __glibcxx_*_requires macros. namespace std _GLIBCXX_VISIBILITY(default) @@ -5901,4 +5904,6 @@ _GLIBCXX_END_NAMESPACE_ALGO _GLIBCXX_END_NAMESPACE_VERSION } // namespace std +#pragma GCC diagnostic pop + #endif /* _STL_ALGO_H */ diff --git a/libstdc++-v3/include/bits/streambuf.tcc b/libstdc++-v3/include/bits/streambuf.tcc index 3cfee68..0c28033 100644 --- a/libstdc++-v3/include/bits/streambuf.tcc +++ b/libstdc++-v3/include/bits/streambuf.tcc @@ -36,6 +36,9 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++11-extensions" // extern template + namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -166,4 +169,5 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION } // namespace std +#pragma GCC diagnostic pop #endif diff --git a/libstdc++-v3/include/c/cassert b/libstdc++-v3/include/c/cassert index 5cd11ff..ef6e844 100644 --- a/libstdc++-v3/include/c/cassert +++ b/libstdc++-v3/include/c/cassert @@ -30,5 +30,10 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // include_next + #include <bits/c++config.h> #include_next <assert.h> + +#pragma GCC diagnostic pop diff --git a/libstdc++-v3/include/c/cctype b/libstdc++-v3/include/c/cctype index c6f6503..a7a5955 100644 --- a/libstdc++-v3/include/c/cctype +++ b/libstdc++-v3/include/c/cctype @@ -31,6 +31,11 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // include_next + #include_next <ctype.h> +#pragma GCC diagnostic pop + #endif diff --git a/libstdc++-v3/include/c/cerrno b/libstdc++-v3/include/c/cerrno index 9e47b18..29bf0b4 100644 --- a/libstdc++-v3/include/c/cerrno +++ b/libstdc++-v3/include/c/cerrno @@ -40,9 +40,14 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // include_next + #include <bits/c++config.h> #include_next <errno.h> +#pragma GCC diagnostic pop + // Adhere to section 17.4.1.2 clause 5 of ISO 14882:1998 #ifndef errno #define errno errno diff --git a/libstdc++-v3/include/c/cfloat b/libstdc++-v3/include/c/cfloat index 81d9772..1f9edad 100644 --- a/libstdc++-v3/include/c/cfloat +++ b/libstdc++-v3/include/c/cfloat @@ -31,7 +31,12 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // include_next + #include <bits/c++config.h> #include_next <float.h> +#pragma GCC diagnostic pop + #endif diff --git a/libstdc++-v3/include/c/climits b/libstdc++-v3/include/c/climits index 255bed4..846fe19 100644 --- a/libstdc++-v3/include/c/climits +++ b/libstdc++-v3/include/c/climits @@ -31,7 +31,12 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // include_next + #include <bits/c++config.h> #include_next <limits.h> +#pragma GCC diagnostic pop + #endif diff --git a/libstdc++-v3/include/c/clocale b/libstdc++-v3/include/c/clocale index 4258df1..62d85ed 100644 --- a/libstdc++-v3/include/c/clocale +++ b/libstdc++-v3/include/c/clocale @@ -31,6 +31,11 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // include_next + #include_next <locale.h> +#pragma GCC diagnostic pop + #endif diff --git a/libstdc++-v3/include/c/cmath b/libstdc++-v3/include/c/cmath index 43020ee..371ee59 100644 --- a/libstdc++-v3/include/c/cmath +++ b/libstdc++-v3/include/c/cmath @@ -33,8 +33,13 @@ #include <bits/c++config.h> +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // include_next + #include_next <math.h> +#pragma GCC diagnostic pop + // Get rid of those macros defined in <math.h> in lieu of real functions. #undef abs #undef div diff --git a/libstdc++-v3/include/c/csetjmp b/libstdc++-v3/include/c/csetjmp index 4a5b033..acf113a 100644 --- a/libstdc++-v3/include/c/csetjmp +++ b/libstdc++-v3/include/c/csetjmp @@ -31,8 +31,13 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // include_next + #include_next <setjmp.h> +#pragma GCC diagnostic pop + // Get rid of those macros defined in <setjmp.h> in lieu of real functions. #undef longjmp diff --git a/libstdc++-v3/include/c/csignal b/libstdc++-v3/include/c/csignal index 040b483..c04bb60 100644 --- a/libstdc++-v3/include/c/csignal +++ b/libstdc++-v3/include/c/csignal @@ -31,6 +31,11 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // include_next + #include_next <signal.h> +#pragma GCC diagnostic pop + #endif diff --git a/libstdc++-v3/include/c/cstdarg b/libstdc++-v3/include/c/cstdarg index 5d97e04..7648662 100644 --- a/libstdc++-v3/include/c/cstdarg +++ b/libstdc++-v3/include/c/cstdarg @@ -31,7 +31,12 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // include_next + #undef __need___va_list #include_next <stdarg.h> +#pragma GCC diagnostic pop + #endif diff --git a/libstdc++-v3/include/c/cstddef b/libstdc++-v3/include/c/cstddef index 4fd889a..e1435b9 100644 --- a/libstdc++-v3/include/c/cstddef +++ b/libstdc++-v3/include/c/cstddef @@ -31,10 +31,15 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // include_next + #define __need_size_t #define __need_ptrdiff_t #define __need_NULL #define __need_offsetof #include_next <stddef.h> +#pragma GCC diagnostic pop + #endif diff --git a/libstdc++-v3/include/c/cstdio b/libstdc++-v3/include/c/cstdio index 0129305..99aead4 100644 --- a/libstdc++-v3/include/c/cstdio +++ b/libstdc++-v3/include/c/cstdio @@ -31,8 +31,13 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // include_next + #include_next <stdio.h> +#pragma GCC diagnostic pop + // Get rid of those macros defined in <stdio.h> in lieu of real functions. #undef clearerr #undef fclose diff --git a/libstdc++-v3/include/c/cstdlib b/libstdc++-v3/include/c/cstdlib index f5707f8..75e6382 100644 --- a/libstdc++-v3/include/c/cstdlib +++ b/libstdc++-v3/include/c/cstdlib @@ -31,6 +31,11 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // include_next + #include_next <stdlib.h> +#pragma GCC diagnostic pop + #endif diff --git a/libstdc++-v3/include/c/cstring b/libstdc++-v3/include/c/cstring index 0082080..05d7518 100644 --- a/libstdc++-v3/include/c/cstring +++ b/libstdc++-v3/include/c/cstring @@ -31,6 +31,11 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // include_next + #include_next <string.h> +#pragma GCC diagnostic pop + #endif diff --git a/libstdc++-v3/include/c/ctime b/libstdc++-v3/include/c/ctime index 5476ff7..73e2a7a 100644 --- a/libstdc++-v3/include/c/ctime +++ b/libstdc++-v3/include/c/ctime @@ -31,6 +31,11 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // include_next + #include_next <time.h> +#pragma GCC diagnostic pop + #endif diff --git a/libstdc++-v3/include/c/cwchar b/libstdc++-v3/include/c/cwchar index 7a62eb7..921de26 100644 --- a/libstdc++-v3/include/c/cwchar +++ b/libstdc++-v3/include/c/cwchar @@ -35,10 +35,15 @@ #include <cstddef> #include <ctime> +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // include_next + #if _GLIBCXX_HAVE_WCHAR_H #include_next <wchar.h> #endif +#pragma GCC diagnostic pop + // Need to do a bit of trickery here with mbstate_t as char_traits // assumes it is in wchar.h, regardless of wchar_t specializations. #ifndef _GLIBCXX_HAVE_MBSTATE_T diff --git a/libstdc++-v3/include/c/cwctype b/libstdc++-v3/include/c/cwctype index 011cead..0d2f55d 100644 --- a/libstdc++-v3/include/c/cwctype +++ b/libstdc++-v3/include/c/cwctype @@ -31,10 +31,15 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // include_next + #include <bits/c++config.h> #if _GLIBCXX_HAVE_WCTYPE_H #include_next <wctype.h> #endif +#pragma GCC diagnostic pop + #endif diff --git a/libstdc++-v3/include/c_compatibility/fenv.h b/libstdc++-v3/include/c_compatibility/fenv.h index 6800814..a587e73 100644 --- a/libstdc++-v3/include/c_compatibility/fenv.h +++ b/libstdc++-v3/include/c_compatibility/fenv.h @@ -31,11 +31,16 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // include_next + #include <bits/c++config.h> #if _GLIBCXX_HAVE_FENV_H # include_next <fenv.h> #endif +#pragma GCC diagnostic pop + #if __cplusplus >= 201103L #if _GLIBCXX_USE_C99_FENV diff --git a/libstdc++-v3/include/c_compatibility/inttypes.h b/libstdc++-v3/include/c_compatibility/inttypes.h index bc63119..5a428ce 100644 --- a/libstdc++-v3/include/c_compatibility/inttypes.h +++ b/libstdc++-v3/include/c_compatibility/inttypes.h @@ -31,6 +31,9 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // include_next + #include <bits/c++config.h> #if __cplusplus >= 201103L @@ -88,4 +91,6 @@ namespace std #endif // C++11 +#pragma GCC diagnostic pop + #endif // _GLIBCXX_INTTYPES_H diff --git a/libstdc++-v3/include/c_compatibility/stdint.h b/libstdc++-v3/include/c_compatibility/stdint.h index 0b6a8c1..2d892e7 100644 --- a/libstdc++-v3/include/c_compatibility/stdint.h +++ b/libstdc++-v3/include/c_compatibility/stdint.h @@ -31,6 +31,9 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // include_next + #include <bits/c++config.h> #if __cplusplus >= 201103L @@ -107,4 +110,6 @@ namespace std #endif // C++11 +#pragma GCC diagnostic pop + #endif // _GLIBCXX_STDINT_H diff --git a/libstdc++-v3/include/c_global/climits b/libstdc++-v3/include/c_global/climits index 7e374ef..c85fc28 100644 --- a/libstdc++-v3/include/c_global/climits +++ b/libstdc++-v3/include/c_global/climits @@ -44,6 +44,9 @@ #ifndef _GLIBCXX_CLIMITS #define _GLIBCXX_CLIMITS 1 +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wlong-long" + #ifndef LLONG_MIN #define LLONG_MIN (-__LONG_LONG_MAX__ - 1) #endif @@ -56,4 +59,6 @@ #define ULLONG_MAX (__LONG_LONG_MAX__ * 2ULL + 1) #endif +#pragma GCC diagnostic pop + #endif diff --git a/libstdc++-v3/include/c_global/cmath b/libstdc++-v3/include/c_global/cmath index dd0174f..4958dfd 100644 --- a/libstdc++-v3/include/c_global/cmath +++ b/libstdc++-v3/include/c_global/cmath @@ -43,9 +43,14 @@ #include <bits/c++config.h> #include <bits/cpp_type_traits.h> #include <ext/type_traits.h> + +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // include_next #define _GLIBCXX_INCLUDE_NEXT_C_HEADERS #include_next <math.h> #undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS +#pragma GCC diagnostic pop + #include <bits/std_abs.h> #ifndef _GLIBCXX_CMATH diff --git a/libstdc++-v3/include/c_global/cstddef b/libstdc++-v3/include/c_global/cstddef index b25a6b3..f49f56a 100644 --- a/libstdc++-v3/include/c_global/cstddef +++ b/libstdc++-v3/include/c_global/cstddef @@ -52,6 +52,9 @@ #define __glibcxx_want_byte #include <bits/version.h> +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // __int128 + extern "C++" { #if __cplusplus >= 201103L @@ -189,4 +192,6 @@ _GLIBCXX_END_NAMESPACE_VERSION #endif // __cpp_lib_byte } // extern "C++" +#pragma GCC diagnostic pop + #endif // _GLIBCXX_CSTDDEF diff --git a/libstdc++-v3/include/c_global/cstdlib b/libstdc++-v3/include/c_global/cstdlib index 69e7a39..72baff2 100644 --- a/libstdc++-v3/include/c_global/cstdlib +++ b/libstdc++-v3/include/c_global/cstdlib @@ -75,9 +75,13 @@ namespace std // Need to ensure this finds the C library's <stdlib.h> not a libstdc++ // wrapper that might already be installed later in the include search path. +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // include_next #define _GLIBCXX_INCLUDE_NEXT_C_HEADERS #include_next <stdlib.h> #undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS +#pragma GCC diagnostic pop + #include <bits/std_abs.h> // Get rid of those macros defined in <stdlib.h> in lieu of real functions. diff --git a/libstdc++-v3/include/decimal/decimal b/libstdc++-v3/include/decimal/decimal index d20e012..a64ddde4 100644 --- a/libstdc++-v3/include/decimal/decimal +++ b/libstdc++-v3/include/decimal/decimal @@ -33,6 +33,9 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // DF suffix + #include <bits/c++config.h> #ifndef _GLIBCXX_USE_DECIMAL_FLOAT @@ -491,4 +494,5 @@ _GLIBCXX_END_NAMESPACE_VERSION #include <decimal/decimal.h> +#pragma GCC diagnostic pop #endif /* _GLIBCXX_DECIMAL */ diff --git a/libstdc++-v3/include/ext/concurrence.h b/libstdc++-v3/include/ext/concurrence.h index 7629c1b..8188c13 100644 --- a/libstdc++-v3/include/ext/concurrence.h +++ b/libstdc++-v3/include/ext/concurrence.h @@ -37,6 +37,9 @@ #include <bits/cpp_type_traits.h> #include <ext/type_traits.h> +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++11-extensions" + namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -312,4 +315,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION } // namespace +#pragma GCC diagnostic pop + #endif diff --git a/libstdc++-v3/include/ext/rope b/libstdc++-v3/include/ext/rope index b5ebb13..19199e8 100644 --- a/libstdc++-v3/include/ext/rope +++ b/libstdc++-v3/include/ext/rope @@ -66,6 +66,10 @@ #include <ext/memory> // For uninitialized_copy_n +// Ignore warnings about default member initializers. +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++11-extensions" + namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -3009,6 +3013,8 @@ namespace tr1 _GLIBCXX_END_NAMESPACE_VERSION } // namespace std +#pragma GCC diagnostic pop + # include <ext/ropeimpl.h> #endif diff --git a/libstdc++-v3/include/ext/type_traits.h b/libstdc++-v3/include/ext/type_traits.h index 75d7edf..165e1b4 100644 --- a/libstdc++-v3/include/ext/type_traits.h +++ b/libstdc++-v3/include/ext/type_traits.h @@ -34,6 +34,9 @@ #include <bits/c++config.h> #include <bits/cpp_type_traits.h> +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wlong-long" + extern "C++" { namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) @@ -270,4 +273,6 @@ _GLIBCXX_END_NAMESPACE_VERSION } // namespace } // extern "C++" +#pragma GCC diagnostic pop + #endif diff --git a/libstdc++-v3/include/std/any b/libstdc++-v3/include/std/any index 9ae29aa..d24260e 100644 --- a/libstdc++-v3/include/std/any +++ b/libstdc++-v3/include/std/any @@ -42,6 +42,9 @@ #include <type_traits> #include <bits/utility.h> // in_place_type_t +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" // aligned_storage + namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -661,5 +664,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION } // namespace std +#pragma GCC diagnostic pop + #endif // __cpp_lib_any #endif // _GLIBCXX_ANY diff --git a/libstdc++-v3/include/std/charconv b/libstdc++-v3/include/std/charconv index 00c4f20..de67139 100644 --- a/libstdc++-v3/include/std/charconv +++ b/libstdc++-v3/include/std/charconv @@ -31,6 +31,9 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // __int128 + #include <bits/requires_hosted.h> // for error codes // As an extension we support <charconv> in C++14, but this header should not @@ -932,4 +935,5 @@ namespace __detail _GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // C++14 +#pragma GCC diagnostic pop #endif // _GLIBCXX_CHARCONV diff --git a/libstdc++-v3/include/std/complex b/libstdc++-v3/include/std/complex index be810b6..c688d0c 100644 --- a/libstdc++-v3/include/std/complex +++ b/libstdc++-v3/include/std/complex @@ -38,6 +38,9 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++11-extensions" // extern template + #include <bits/c++config.h> #include <bits/cpp_type_traits.h> #include <ext/type_traits.h> @@ -2650,4 +2653,5 @@ _GLIBCXX_END_NAMESPACE_VERSION #pragma clang diagnostic pop #endif +#pragma GCC diagnostic pop #endif /* _GLIBCXX_COMPLEX */ diff --git a/libstdc++-v3/include/std/coroutine b/libstdc++-v3/include/std/coroutine index ccd016b..30b4d33 100644 --- a/libstdc++-v3/include/std/coroutine +++ b/libstdc++-v3/include/std/coroutine @@ -31,6 +31,9 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++17-extensions" + #define __glibcxx_want_coroutine #include <bits/version.h> @@ -358,4 +361,5 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #endif // __cpp_lib_coroutine +#pragma GCC diagnostic pop #endif // _GLIBCXX_COROUTINE diff --git a/libstdc++-v3/include/std/format b/libstdc++-v3/include/std/format index e963d7f..4c5377a 100644 --- a/libstdc++-v3/include/std/format +++ b/libstdc++-v3/include/std/format @@ -63,6 +63,10 @@ # include <cctype> #endif +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // __int128 +#pragma GCC diagnostic ignored "-Wc++23-extensions" // bf16 + namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -1674,6 +1678,10 @@ namespace __format do { + // Mangling of this lambda, and thus resize_and_overwrite + // instantiated with it, was fixed in ABI 18 (G++ 13). Since + // <format> was new in G++ 13, and is experimental, that + // isn't a problem. auto __overwrite = [&__to_chars, &__res] (char* __p, size_t __n) { __res = __to_chars(__p + 1, __p + __n - 1); @@ -4737,4 +4745,5 @@ namespace __format _GLIBCXX_END_NAMESPACE_VERSION } // namespace std #endif // __cpp_lib_format +#pragma GCC diagnostic pop #endif // _GLIBCXX_FORMAT diff --git a/libstdc++-v3/include/std/iomanip b/libstdc++-v3/include/std/iomanip index fdf80fc..9d8ecea 100644 --- a/libstdc++-v3/include/std/iomanip +++ b/libstdc++-v3/include/std/iomanip @@ -35,6 +35,9 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++11-extensions" + #include <bits/requires_hosted.h> // iostreams #include <bits/c++config.h> @@ -543,4 +546,5 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_END_NAMESPACE_VERSION } // namespace +#pragma GCC diagnostic pop #endif /* _GLIBCXX_IOMANIP */ diff --git a/libstdc++-v3/include/std/limits b/libstdc++-v3/include/std/limits index 4b0698e..b0ab57c 100644 --- a/libstdc++-v3/include/std/limits +++ b/libstdc++-v3/include/std/limits @@ -39,6 +39,11 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // Q suffix +#pragma GCC diagnostic ignored "-Wlong-long" +#pragma GCC diagnostic ignored "-Wc++23-extensions" + #include <bits/c++config.h> // @@ -2229,4 +2234,5 @@ _GLIBCXX_END_NAMESPACE_VERSION #undef __glibcxx_digits10 #undef __glibcxx_max_digits10 +#pragma GCC diagnostic pop #endif // _GLIBCXX_NUMERIC_LIMITS diff --git a/libstdc++-v3/include/std/numbers b/libstdc++-v3/include/std/numbers index 9836afa..f04000f1 100644 --- a/libstdc++-v3/include/std/numbers +++ b/libstdc++-v3/include/std/numbers @@ -38,6 +38,9 @@ #include <type_traits> +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wpedantic" // Q extension + namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -232,5 +235,7 @@ __glibcxx_numbers (__float128, Q); _GLIBCXX_END_NAMESPACE_VERSION } // namespace std +#pragma GCC diagnostic pop + #endif // __cpp_lib_math_constants #endif // _GLIBCXX_NUMBERS diff --git a/libstdc++-v3/include/tr1/functional b/libstdc++-v3/include/tr1/functional index 5fc8086..f2cd42b 100644 --- a/libstdc++-v3/include/tr1/functional +++ b/libstdc++-v3/include/tr1/functional @@ -44,6 +44,10 @@ #include <ext/type_traits.h> #include <bits/move.h> // for std::__addressof +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wvolatile" // volatile parm/return +#pragma GCC diagnostic ignored "-Wc++11-extensions" + namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION @@ -2282,4 +2286,5 @@ namespace tr1 _GLIBCXX_END_NAMESPACE_VERSION } +#pragma GCC diagnostic pop #endif // _GLIBCXX_TR1_FUNCTIONAL diff --git a/libstdc++-v3/include/tr1/tuple b/libstdc++-v3/include/tr1/tuple index be26d28..40e2d09 100644 --- a/libstdc++-v3/include/tr1/tuple +++ b/libstdc++-v3/include/tr1/tuple @@ -34,6 +34,9 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++11-extensions" + #include <bits/requires_hosted.h> // TR1 #include <utility> @@ -425,4 +428,5 @@ namespace tr1 _GLIBCXX_END_NAMESPACE_VERSION } +#pragma GCC diagnostic pop #endif // _GLIBCXX_TR1_TUPLE diff --git a/libstdc++-v3/include/tr1/type_traits b/libstdc++-v3/include/tr1/type_traits index f5714b0..62b30e7 100644 --- a/libstdc++-v3/include/tr1/type_traits +++ b/libstdc++-v3/include/tr1/type_traits @@ -31,6 +31,9 @@ #pragma GCC system_header +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wc++11-extensions" + #include <bits/requires_hosted.h> // TR1 #include <bits/c++config.h> @@ -684,4 +687,5 @@ namespace tr1 _GLIBCXX_END_NAMESPACE_VERSION } +#pragma GCC diagnostic pop #endif // _GLIBCXX_TR1_TYPE_TRAITS |