diff options
author | Jason Merrill <jason@redhat.com> | 2024-09-12 12:15:51 -0400 |
---|---|---|
committer | Jason Merrill <jason@redhat.com> | 2024-09-25 08:20:45 -0400 |
commit | 63a598deb0c9fcb8704af6ef90f0b905942b0276 (patch) | |
tree | 9e3b7ae67e2e7d3f273115aa7bff981ff4e5fddc /libstdc++-v3/include/ext | |
parent | 2407dbe1d887068a13c6ee9b6922560f1c89def5 (diff) | |
download | gcc-63a598deb0c9fcb8704af6ef90f0b905942b0276.zip gcc-63a598deb0c9fcb8704af6ef90f0b905942b0276.tar.gz gcc-63a598deb0c9fcb8704af6ef90f0b905942b0276.tar.bz2 |
libstdc++: #ifdef out #pragma GCC system_header
In r15-3714-gd3a7302ec5985a I added -Wsystem-headers to the libstdc++ build
flags to help catch problems in the library. This patch takes a different
approach, of disabling the #pragma system_header unless _GLIBCXX_SYSHDR is
defined. As a result, the testsuites will treat them as non-system-headers
to get better warning coverage during regression testing of both gcc and
libstdc++, not just when building the library.
My rationale for the #ifdef instead of just removing the #pragma is the
three G++ tests that want to test libstdc++ system header behavior, so we
need a way to select it.
This doesn't affect installed libraries, as they get their
system-header status from the lookup path. But testsuite_flags
--build-includes gives -I directives rather than -isystem.
This patch doesn't change the headers in config/ because I'm not compiling
with most of them, so won't see any warnings that need fixing. Adjusting
them could happen later, or we can not bother.
libstdc++-v3/ChangeLog:
* acinclude.m4 (WARN_FLAGS): Remove -Wsystem-headers.
* configure: Regenerate.
* include/bits/algorithmfwd.h: #ifdef out #pragma GCC system_header.
* include/bits/atomic_base.h
* include/bits/atomic_futex.h
* include/bits/atomic_timed_wait.h
* include/bits/atomic_wait.h
* include/bits/basic_ios.h
* include/bits/basic_string.h
* include/bits/boost_concept_check.h
* include/bits/char_traits.h
* include/bits/charconv.h
* include/bits/chrono.h
* include/bits/chrono_io.h
* include/bits/codecvt.h
* include/bits/concept_check.h
* include/bits/cpp_type_traits.h
* include/bits/elements_of.h
* include/bits/enable_special_members.h
* include/bits/erase_if.h
* include/bits/forward_list.h
* include/bits/functional_hash.h
* include/bits/gslice.h
* include/bits/gslice_array.h
* include/bits/hashtable.h
* include/bits/indirect_array.h
* include/bits/invoke.h
* include/bits/ios_base.h
* include/bits/iterator_concepts.h
* include/bits/locale_classes.h
* include/bits/locale_facets.h
* include/bits/locale_facets_nonio.h
* include/bits/localefwd.h
* include/bits/mask_array.h
* include/bits/max_size_type.h
* include/bits/memory_resource.h
* include/bits/memoryfwd.h
* include/bits/move_only_function.h
* include/bits/node_handle.h
* include/bits/ostream_insert.h
* include/bits/out_ptr.h
* include/bits/parse_numbers.h
* include/bits/postypes.h
* include/bits/quoted_string.h
* include/bits/range_access.h
* include/bits/ranges_base.h
* include/bits/refwrap.h
* include/bits/sat_arith.h
* include/bits/semaphore_base.h
* include/bits/slice_array.h
* include/bits/std_abs.h
* include/bits/std_function.h
* include/bits/std_mutex.h
* include/bits/std_thread.h
* include/bits/stl_iterator_base_funcs.h
* include/bits/stl_iterator_base_types.h
* include/bits/stl_tree.h
* include/bits/stream_iterator.h
* include/bits/streambuf_iterator.h
* include/bits/stringfwd.h
* include/bits/this_thread_sleep.h
* include/bits/unique_lock.h
* include/bits/uses_allocator_args.h
* include/bits/utility.h
* include/bits/valarray_after.h
* include/bits/valarray_array.h
* include/bits/valarray_before.h
* include/bits/version.h
* include/c_compatibility/fenv.h
* include/c_compatibility/inttypes.h
* include/c_compatibility/stdint.h
* include/decimal/decimal.h
* include/experimental/bits/net.h
* include/experimental/bits/shared_ptr.h
* include/ext/aligned_buffer.h
* include/ext/alloc_traits.h
* include/ext/atomicity.h
* include/ext/concurrence.h
* include/ext/numeric_traits.h
* include/ext/pod_char_traits.h
* include/ext/pointer.h
* include/ext/stdio_filebuf.h
* include/ext/stdio_sync_filebuf.h
* include/ext/string_conversions.h
* include/ext/type_traits.h
* include/ext/vstring.h
* include/ext/vstring_fwd.h
* include/ext/vstring_util.h
* include/parallel/algorithmfwd.h
* include/parallel/numericfwd.h
* include/tr1/functional_hash.h
* include/tr1/hashtable.h
* include/tr1/random.h
* libsupc++/exception.h
* libsupc++/hash_bytes.h
* 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/locale_facets_nonio.tcc
* include/bits/ostream.tcc
* include/bits/sstream.tcc
* include/bits/streambuf.tcc
* include/bits/string_view.tcc
* include/bits/version.tpl
* include/experimental/bits/string_view.tcc
* include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp
* include/ext/random.tcc
* include/ext/vstring.tcc
* include/tr2/bool_set.tcc
* include/tr2/dynamic_bitset.tcc
* include/bits/c++config
* include/c/cassert
* include/c/cctype
* include/c/cerrno
* include/c/cfloat
* include/c/ciso646
* 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/cuchar
* include/c/cwchar
* include/c/cwctype
* include/c_global/cassert
* include/c_global/ccomplex
* include/c_global/cctype
* include/c_global/cerrno
* include/c_global/cfenv
* include/c_global/cfloat
* include/c_global/cinttypes
* include/c_global/ciso646
* include/c_global/climits
* include/c_global/clocale
* include/c_global/cmath
* include/c_global/csetjmp
* include/c_global/csignal
* include/c_global/cstdalign
* include/c_global/cstdarg
* include/c_global/cstdbool
* include/c_global/cstddef
* include/c_global/cstdint
* include/c_global/cstdio
* include/c_global/cstdlib
* include/c_global/cstring
* include/c_global/ctgmath
* include/c_global/ctime
* include/c_global/cuchar
* include/c_global/cwchar
* include/c_global/cwctype
* include/c_std/cassert
* include/c_std/cctype
* include/c_std/cerrno
* include/c_std/cfloat
* include/c_std/ciso646
* include/c_std/climits
* include/c_std/clocale
* include/c_std/cmath
* include/c_std/csetjmp
* include/c_std/csignal
* include/c_std/cstdarg
* include/c_std/cstddef
* include/c_std/cstdio
* include/c_std/cstdlib
* include/c_std/cstring
* include/c_std/ctime
* include/c_std/cuchar
* include/c_std/cwchar
* include/c_std/cwctype
* include/debug/array
* include/debug/bitset
* include/debug/deque
* include/debug/forward_list
* include/debug/list
* include/debug/map
* include/debug/set
* include/debug/string
* include/debug/unordered_map
* include/debug/unordered_set
* include/debug/vector
* include/decimal/decimal
* include/experimental/algorithm
* include/experimental/any
* include/experimental/array
* include/experimental/buffer
* include/experimental/chrono
* include/experimental/contract
* include/experimental/deque
* include/experimental/executor
* include/experimental/filesystem
* include/experimental/forward_list
* include/experimental/functional
* include/experimental/internet
* include/experimental/io_context
* include/experimental/iterator
* include/experimental/list
* include/experimental/map
* include/experimental/memory
* include/experimental/memory_resource
* include/experimental/net
* include/experimental/netfwd
* include/experimental/numeric
* include/experimental/propagate_const
* include/experimental/ratio
* include/experimental/regex
* include/experimental/scope
* include/experimental/set
* include/experimental/socket
* include/experimental/string
* include/experimental/string_view
* include/experimental/synchronized_value
* include/experimental/system_error
* include/experimental/timer
* include/experimental/tuple
* include/experimental/type_traits
* include/experimental/unordered_map
* include/experimental/unordered_set
* include/experimental/vector
* include/ext/algorithm
* include/ext/cmath
* include/ext/functional
* include/ext/iterator
* include/ext/memory
* include/ext/numeric
* include/ext/random
* include/ext/rb_tree
* include/ext/rope
* include/parallel/algorithm
* include/std/algorithm
* include/std/any
* include/std/array
* include/std/atomic
* include/std/barrier
* include/std/bit
* include/std/bitset
* include/std/charconv
* include/std/chrono
* include/std/codecvt
* include/std/complex
* include/std/concepts
* include/std/condition_variable
* include/std/coroutine
* include/std/deque
* include/std/execution
* include/std/expected
* include/std/filesystem
* include/std/format
* include/std/forward_list
* include/std/fstream
* include/std/functional
* include/std/future
* include/std/generator
* include/std/iomanip
* include/std/ios
* include/std/iosfwd
* include/std/iostream
* include/std/istream
* include/std/iterator
* include/std/latch
* include/std/limits
* include/std/list
* include/std/locale
* include/std/map
* include/std/memory
* include/std/memory_resource
* include/std/mutex
* include/std/numbers
* include/std/numeric
* include/std/optional
* include/std/ostream
* include/std/print
* include/std/queue
* include/std/random
* include/std/ranges
* include/std/ratio
* include/std/regex
* include/std/scoped_allocator
* include/std/semaphore
* include/std/set
* include/std/shared_mutex
* include/std/span
* include/std/spanstream
* include/std/sstream
* include/std/stack
* include/std/stacktrace
* include/std/stdexcept
* include/std/streambuf
* include/std/string
* include/std/string_view
* include/std/syncstream
* include/std/system_error
* include/std/text_encoding
* include/std/thread
* include/std/tuple
* include/std/type_traits
* include/std/typeindex
* include/std/unordered_map
* include/std/unordered_set
* include/std/utility
* include/std/valarray
* include/std/variant
* include/std/vector
* include/std/version
* include/tr1/array
* include/tr1/cfenv
* include/tr1/cinttypes
* include/tr1/cmath
* include/tr1/complex
* include/tr1/cstdbool
* include/tr1/cstdint
* include/tr1/cstdio
* include/tr1/cstdlib
* include/tr1/cwchar
* include/tr1/cwctype
* include/tr1/functional
* include/tr1/memory
* include/tr1/random
* include/tr1/regex
* include/tr1/tuple
* include/tr1/type_traits
* include/tr1/unordered_map
* include/tr1/unordered_set
* include/tr1/utility
* include/tr2/bool_set
* include/tr2/dynamic_bitset
* include/tr2/type_traits
* libsupc++/atomic_lockfree_defines.h
* libsupc++/compare
* libsupc++/cxxabi.h
* libsupc++/cxxabi_forced.h
* libsupc++/cxxabi_init_exception.h
* libsupc++/exception
* libsupc++/initializer_list
* libsupc++/new
* libsupc++/typeinfo: Likewise.
* testsuite/20_util/ratio/operations/ops_overflow_neg.cc
* testsuite/23_containers/array/tuple_interface/get_neg.cc
* testsuite/23_containers/vector/cons/destructible_debug_neg.cc
* testsuite/24_iterators/operations/prev_neg.cc
* 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: Adjust
line numbers.
gcc/testsuite/ChangeLog
* g++.dg/analyzer/fanalyzer-show-events-in-system-headers-default.C
* g++.dg/analyzer/fanalyzer-show-events-in-system-headers-no.C
* g++.dg/diagnostic/disable.C: #define _GLIBCXX_SYSHDR.
Diffstat (limited to 'libstdc++-v3/include/ext')
26 files changed, 52 insertions, 0 deletions
diff --git a/libstdc++-v3/include/ext/algorithm b/libstdc++-v3/include/ext/algorithm index a7324fd..4d70dff 100644 --- a/libstdc++-v3/include/ext/algorithm +++ b/libstdc++-v3/include/ext/algorithm @@ -56,7 +56,9 @@ #ifndef _EXT_ALGORITHM #define _EXT_ALGORITHM 1 +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif #include <bits/requires_hosted.h> // GNU extensions are currently omitted diff --git a/libstdc++-v3/include/ext/aligned_buffer.h b/libstdc++-v3/include/ext/aligned_buffer.h index 9c2c628..25f9b25 100644 --- a/libstdc++-v3/include/ext/aligned_buffer.h +++ b/libstdc++-v3/include/ext/aligned_buffer.h @@ -29,7 +29,9 @@ #ifndef _ALIGNED_BUFFER_H #define _ALIGNED_BUFFER_H 1 +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif #if __cplusplus >= 201103L # include <type_traits> diff --git a/libstdc++-v3/include/ext/alloc_traits.h b/libstdc++-v3/include/ext/alloc_traits.h index f778c4d..d256053 100644 --- a/libstdc++-v3/include/ext/alloc_traits.h +++ b/libstdc++-v3/include/ext/alloc_traits.h @@ -29,7 +29,9 @@ #ifndef _EXT_ALLOC_TRAITS_H #define _EXT_ALLOC_TRAITS_H 1 +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif # include <bits/alloc_traits.h> diff --git a/libstdc++-v3/include/ext/atomicity.h b/libstdc++-v3/include/ext/atomicity.h index cc2fe3b..964a634 100644 --- a/libstdc++-v3/include/ext/atomicity.h +++ b/libstdc++-v3/include/ext/atomicity.h @@ -29,7 +29,9 @@ #ifndef _GLIBCXX_ATOMICITY_H #define _GLIBCXX_ATOMICITY_H 1 +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif #include <bits/c++config.h> #include <bits/gthr.h> diff --git a/libstdc++-v3/include/ext/cmath b/libstdc++-v3/include/ext/cmath index a180916..d4bab41 100644 --- a/libstdc++-v3/include/ext/cmath +++ b/libstdc++-v3/include/ext/cmath @@ -29,7 +29,9 @@ #ifndef _EXT_CMATH #define _EXT_CMATH 1 +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif #include <bits/requires_hosted.h> // GNU extensions are currently omitted diff --git a/libstdc++-v3/include/ext/concurrence.h b/libstdc++-v3/include/ext/concurrence.h index 8188c13..8191e7a 100644 --- a/libstdc++-v3/include/ext/concurrence.h +++ b/libstdc++-v3/include/ext/concurrence.h @@ -29,7 +29,9 @@ #ifndef _CONCURRENCE_H #define _CONCURRENCE_H 1 +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif #include <exception> #include <bits/gthr.h> diff --git a/libstdc++-v3/include/ext/functional b/libstdc++-v3/include/ext/functional index bc8312a..dfc297d 100644 --- a/libstdc++-v3/include/ext/functional +++ b/libstdc++-v3/include/ext/functional @@ -56,7 +56,9 @@ #ifndef _EXT_FUNCTIONAL #define _EXT_FUNCTIONAL 1 +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif #include <bits/requires_hosted.h> // GNU extensions are currently omitted diff --git a/libstdc++-v3/include/ext/iterator b/libstdc++-v3/include/ext/iterator index d3e5e7e..24df891 100644 --- a/libstdc++-v3/include/ext/iterator +++ b/libstdc++-v3/include/ext/iterator @@ -56,7 +56,9 @@ #ifndef _EXT_ITERATOR #define _EXT_ITERATOR 1 +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif #include <bits/concept_check.h> #include <iterator> diff --git a/libstdc++-v3/include/ext/memory b/libstdc++-v3/include/ext/memory index ebbebb6..363cf69 100644 --- a/libstdc++-v3/include/ext/memory +++ b/libstdc++-v3/include/ext/memory @@ -56,7 +56,9 @@ #ifndef _EXT_MEMORY #define _EXT_MEMORY 1 +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif #include <bits/requires_hosted.h> // GNU extensions are currently omitted diff --git a/libstdc++-v3/include/ext/numeric b/libstdc++-v3/include/ext/numeric index 1123694..797341c 100644 --- a/libstdc++-v3/include/ext/numeric +++ b/libstdc++-v3/include/ext/numeric @@ -56,7 +56,9 @@ #ifndef _EXT_NUMERIC #define _EXT_NUMERIC 1 +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif #include <bits/requires_hosted.h> // GNU extensions are currently omitted diff --git a/libstdc++-v3/include/ext/numeric_traits.h b/libstdc++-v3/include/ext/numeric_traits.h index b2723bf..91fe18e 100644 --- a/libstdc++-v3/include/ext/numeric_traits.h +++ b/libstdc++-v3/include/ext/numeric_traits.h @@ -29,7 +29,9 @@ #ifndef _EXT_NUMERIC_TRAITS #define _EXT_NUMERIC_TRAITS 1 +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif #include <bits/cpp_type_traits.h> #include <ext/type_traits.h> diff --git a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp index 52c8329..8fdec6d 100644 --- a/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp +++ b/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp @@ -40,7 +40,9 @@ #ifdef PB_DS_CLASS_C_DEC +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif namespace detail { diff --git a/libstdc++-v3/include/ext/pod_char_traits.h b/libstdc++-v3/include/ext/pod_char_traits.h index 5f60d8a8..83386c8 100644 --- a/libstdc++-v3/include/ext/pod_char_traits.h +++ b/libstdc++-v3/include/ext/pod_char_traits.h @@ -32,7 +32,9 @@ #ifndef _POD_CHAR_TRAITS_H #define _POD_CHAR_TRAITS_H 1 +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif #include <bits/requires_hosted.h> // GNU extensions are currently omitted diff --git a/libstdc++-v3/include/ext/pointer.h b/libstdc++-v3/include/ext/pointer.h index 0ead6f5..ab3016e 100644 --- a/libstdc++-v3/include/ext/pointer.h +++ b/libstdc++-v3/include/ext/pointer.h @@ -36,7 +36,9 @@ #ifndef _POINTER_H #define _POINTER_H 1 +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif #if _GLIBCXX_HOSTED # include <iosfwd> diff --git a/libstdc++-v3/include/ext/random b/libstdc++-v3/include/ext/random index 0195759..d3f0cc1 100644 --- a/libstdc++-v3/include/ext/random +++ b/libstdc++-v3/include/ext/random @@ -29,7 +29,9 @@ #ifndef _EXT_RANDOM #define _EXT_RANDOM 1 +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif #include <bits/requires_hosted.h> // GNU extensions are currently omitted diff --git a/libstdc++-v3/include/ext/random.tcc b/libstdc++-v3/include/ext/random.tcc index c6c3fbe..822b52f 100644 --- a/libstdc++-v3/include/ext/random.tcc +++ b/libstdc++-v3/include/ext/random.tcc @@ -30,7 +30,9 @@ #ifndef _EXT_RANDOM_TCC #define _EXT_RANDOM_TCC 1 +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif #include <bits/requires_hosted.h> // GNU extensions are currently omitted diff --git a/libstdc++-v3/include/ext/rb_tree b/libstdc++-v3/include/ext/rb_tree index dc1c9f5..308225d 100644 --- a/libstdc++-v3/include/ext/rb_tree +++ b/libstdc++-v3/include/ext/rb_tree @@ -56,7 +56,9 @@ #ifndef _RB_TREE #define _RB_TREE 1 +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif #include <bits/requires_hosted.h> // GNU extensions are currently omitted diff --git a/libstdc++-v3/include/ext/rope b/libstdc++-v3/include/ext/rope index 19199e8..fabc0ee 100644 --- a/libstdc++-v3/include/ext/rope +++ b/libstdc++-v3/include/ext/rope @@ -43,7 +43,9 @@ #ifndef _ROPE #define _ROPE 1 +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif #include <bits/requires_hosted.h> // GNU extensions are currently omitted diff --git a/libstdc++-v3/include/ext/stdio_filebuf.h b/libstdc++-v3/include/ext/stdio_filebuf.h index 1f9713b..4a09569 100644 --- a/libstdc++-v3/include/ext/stdio_filebuf.h +++ b/libstdc++-v3/include/ext/stdio_filebuf.h @@ -29,7 +29,9 @@ #ifndef _STDIO_FILEBUF_H #define _STDIO_FILEBUF_H 1 +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif #include <bits/requires_hosted.h> // GNU extensions are currently omitted diff --git a/libstdc++-v3/include/ext/stdio_sync_filebuf.h b/libstdc++-v3/include/ext/stdio_sync_filebuf.h index f8993ad..0f5381d 100644 --- a/libstdc++-v3/include/ext/stdio_sync_filebuf.h +++ b/libstdc++-v3/include/ext/stdio_sync_filebuf.h @@ -29,7 +29,9 @@ #ifndef _STDIO_SYNC_FILEBUF_H #define _STDIO_SYNC_FILEBUF_H 1 +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif #include <bits/requires_hosted.h> // GNU extensions are currently omitted diff --git a/libstdc++-v3/include/ext/string_conversions.h b/libstdc++-v3/include/ext/string_conversions.h index 2e0755a..acbe11f 100644 --- a/libstdc++-v3/include/ext/string_conversions.h +++ b/libstdc++-v3/include/ext/string_conversions.h @@ -29,7 +29,9 @@ #ifndef _STRING_CONVERSIONS_H #define _STRING_CONVERSIONS_H 1 +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif #include <bits/requires_hosted.h> // GNU extensions are currently omitted diff --git a/libstdc++-v3/include/ext/type_traits.h b/libstdc++-v3/include/ext/type_traits.h index 165e1b4..651dfd6 100644 --- a/libstdc++-v3/include/ext/type_traits.h +++ b/libstdc++-v3/include/ext/type_traits.h @@ -29,7 +29,9 @@ #ifndef _EXT_TYPE_TRAITS #define _EXT_TYPE_TRAITS 1 +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif #include <bits/c++config.h> #include <bits/cpp_type_traits.h> diff --git a/libstdc++-v3/include/ext/vstring.h b/libstdc++-v3/include/ext/vstring.h index 25a7d82..22b9a1d 100644 --- a/libstdc++-v3/include/ext/vstring.h +++ b/libstdc++-v3/include/ext/vstring.h @@ -29,7 +29,9 @@ #ifndef _VSTRING_H #define _VSTRING_H 1 +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif #include <bits/requires_hosted.h> // GNU extensions are currently omitted diff --git a/libstdc++-v3/include/ext/vstring.tcc b/libstdc++-v3/include/ext/vstring.tcc index 86fcfaa..39837d5 100644 --- a/libstdc++-v3/include/ext/vstring.tcc +++ b/libstdc++-v3/include/ext/vstring.tcc @@ -30,7 +30,9 @@ #ifndef _VSTRING_TCC #define _VSTRING_TCC 1 +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif #include <bits/requires_hosted.h> // GNU extensions are currently omitted diff --git a/libstdc++-v3/include/ext/vstring_fwd.h b/libstdc++-v3/include/ext/vstring_fwd.h index f6b6a6f..8c64604 100644 --- a/libstdc++-v3/include/ext/vstring_fwd.h +++ b/libstdc++-v3/include/ext/vstring_fwd.h @@ -30,7 +30,9 @@ #ifndef _VSTRING_FWD_H #define _VSTRING_FWD_H 1 +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif #include <bits/requires_hosted.h> // GNU extensions are currently omitted diff --git a/libstdc++-v3/include/ext/vstring_util.h b/libstdc++-v3/include/ext/vstring_util.h index 3648141..8c9c5ac 100644 --- a/libstdc++-v3/include/ext/vstring_util.h +++ b/libstdc++-v3/include/ext/vstring_util.h @@ -30,7 +30,9 @@ #ifndef _VSTRING_UTIL_H #define _VSTRING_UTIL_H 1 +#ifdef _GLIBCXX_SYSHDR #pragma GCC system_header +#endif #include <bits/requires_hosted.h> // GNU extensions are currently omitted |