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.
This commit is contained in:
Jason Merrill 2024-09-12 12:15:51 -04:00
parent 2407dbe1d8
commit 63a598deb0
355 changed files with 703 additions and 18 deletions

View File

@ -1,6 +1,7 @@
/* { dg-skip-if "no shared_ptr in C++98" { c++98_only } } */
/* { dg-skip-if "requires hosted libstdc++ for memory shared_ptr" { ! hostedlib } } */
#define _GLIBCXX_SYSHDR
#include <memory>
struct A {int x; int y;};

View File

@ -2,6 +2,7 @@
/* { dg-skip-if "no shared_ptr in C++98" { c++98_only } } */
/* { dg-skip-if "requires hosted libstdc++ for memory shared_ptr" { ! hostedlib } } */
#define _GLIBCXX_SYSHDR
#include <memory>
struct A {int x; int y;};

View File

@ -1,6 +1,7 @@
// { dg-options "-Wtemplates -Wmultiple-inheritance -Wvirtual-inheritance -Wnamespaces" }
// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
#define _GLIBCXX_SYSHDR
#include <iostream>
#include <algorithm>

View File

@ -707,7 +707,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=19 -Wsystem-headers"
WARN_FLAGS="-Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi=19"
AC_SUBST(WARN_FLAGS)
])

View File

@ -55720,7 +55720,7 @@ $as_echo "$gxx_include_dir" >&6; }
# OPTIMIZE_CXXFLAGS = -O3 -fstrict-aliasing -fvtable-gc
WARN_FLAGS="-Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi=19 -Wsystem-headers"
WARN_FLAGS="-Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi=19"

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_ALGORITHMFWD_H
#define _GLIBCXX_ALGORITHMFWD_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/c++config.h>
#include <bits/stl_pair.h>

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_ATOMIC_BASE_H
#define _GLIBCXX_ATOMIC_BASE_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/c++config.h>
#include <new> // For placement new

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_ATOMIC_FUTEX_H
#define _GLIBCXX_ATOMIC_FUTEX_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <atomic>
#if ! (defined(_GLIBCXX_HAVE_LINUX_FUTEX) && ATOMIC_INT_LOCK_FREE > 1)

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_ATOMIC_TIMED_WAIT_H
#define _GLIBCXX_ATOMIC_TIMED_WAIT_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/atomic_wait.h>

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_ATOMIC_WAIT_H
#define _GLIBCXX_ATOMIC_WAIT_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/version.h>

View File

@ -30,7 +30,9 @@
#ifndef _BASIC_IOS_H
#define _BASIC_IOS_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/localefwd.h>
#include <bits/locale_classes.h>

View File

@ -30,7 +30,9 @@
#ifndef _BASIC_IOS_TCC
#define _BASIC_IOS_TCC 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wc++11-extensions" // extern template

View File

@ -34,7 +34,9 @@
#ifndef _BASIC_STRING_H
#define _BASIC_STRING_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <ext/alloc_traits.h>
#include <debug/debug.h>

View File

@ -39,7 +39,9 @@
#ifndef _BASIC_STRING_TCC
#define _BASIC_STRING_TCC 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wc++11-extensions"

View File

@ -39,7 +39,9 @@
#ifndef _BOOST_CONCEPT_CHECK_H
#define _BOOST_CONCEPT_CHECK_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/c++config.h>
#include <bits/stl_iterator_base_types.h> // for traits and tags

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_CXX_CONFIG_H
#define _GLIBCXX_CXX_CONFIG_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wvariadic-macros"

View File

@ -34,7 +34,9 @@
#ifndef _CHAR_TRAITS_H
#define _CHAR_TRAITS_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/c++config.h>

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_CHARCONV_H
#define _GLIBCXX_CHARCONV_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#if __cplusplus >= 201103L

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_CHRONO_H
#define _GLIBCXX_CHRONO_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#if __cplusplus >= 201103L

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_CHRONO_IO_H
#define _GLIBCXX_CHRONO_IO_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#if __cplusplus >= 202002L

View File

@ -36,7 +36,9 @@
#ifndef _CODECVT_H
#define _CODECVT_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/c++config.h>
#include <bits/locale_classes.h> // locale::facet

View File

@ -30,7 +30,9 @@
#ifndef _CONCEPT_CHECK_H
#define _CONCEPT_CHECK_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/c++config.h>

View File

@ -32,7 +32,9 @@
#ifndef _CPP_TYPE_TRAITS_H
#define _CPP_TYPE_TRAITS_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/c++config.h>
#include <bits/version.h>

View File

@ -25,7 +25,9 @@
#ifndef _GLIBCXX_BITS_ELEMENTS_OF
#define _GLIBCXX_BITS_ELEMENTS_OF
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/c++config.h>

View File

@ -30,7 +30,9 @@
#ifndef _ENABLE_SPECIAL_MEMBERS_H
#define _ENABLE_SPECIAL_MEMBERS_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/c++config.h>

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_ERASE_IF_H
#define _GLIBCXX_ERASE_IF_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/c++config.h>

View File

@ -30,7 +30,9 @@
#ifndef _FORWARD_LIST_H
#define _FORWARD_LIST_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <initializer_list>
#include <bits/stl_iterator_base_types.h>

View File

@ -34,7 +34,9 @@
#ifndef _FSTREAM_TCC
#define _FSTREAM_TCC 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wc++11-extensions" // extern template

View File

@ -30,7 +30,9 @@
#ifndef _FUNCTIONAL_HASH_H
#define _FUNCTIONAL_HASH_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <type_traits>
#include <bits/hash_bytes.h>

View File

@ -32,7 +32,9 @@
#ifndef _GSLICE_H
#define _GSLICE_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
namespace std _GLIBCXX_VISIBILITY(default)
{

View File

@ -32,7 +32,9 @@
#ifndef _GSLICE_ARRAY_H
#define _GSLICE_ARRAY_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
namespace std _GLIBCXX_VISIBILITY(default)
{

View File

@ -30,7 +30,9 @@
#ifndef _HASHTABLE_H
#define _HASHTABLE_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/hashtable_policy.h>
#include <bits/enable_special_members.h>

View File

@ -32,7 +32,9 @@
#ifndef _INDIRECT_ARRAY_H
#define _INDIRECT_ARRAY_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
namespace std _GLIBCXX_VISIBILITY(default)
{

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_INVOKE_H
#define _GLIBCXX_INVOKE_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>

View File

@ -34,7 +34,9 @@
#ifndef _IOS_BASE_H
#define _IOS_BASE_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <ext/atomicity.h>
#include <bits/localefwd.h>

View File

@ -34,7 +34,9 @@
#ifndef _ISTREAM_TCC
#define _ISTREAM_TCC 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wc++11-extensions" // extern template

View File

@ -30,7 +30,9 @@
#ifndef _ITERATOR_CONCEPTS_H
#define _ITERATOR_CONCEPTS_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#if __cplusplus >= 202002L
#include <concepts>

View File

@ -34,7 +34,9 @@
#ifndef _LOCALE_CLASSES_H
#define _LOCALE_CLASSES_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/localefwd.h>
#include <string>

View File

@ -34,8 +34,9 @@
#ifndef _LOCALE_CLASSES_TCC
#define _LOCALE_CLASSES_TCC 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wc++11-extensions" // extern template
#pragma GCC diagnostic ignored "-Wvariadic-macros"

View File

@ -34,7 +34,9 @@
#ifndef _LOCALE_FACETS_H
#define _LOCALE_FACETS_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <cwctype> // For wctype_t
#include <cctype>

View File

@ -30,8 +30,9 @@
#ifndef _LOCALE_FACETS_TCC
#define _LOCALE_FACETS_TCC 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wc++11-extensions" // extern template

View File

@ -34,7 +34,9 @@
#ifndef _LOCALE_FACETS_NONIO_H
#define _LOCALE_FACETS_NONIO_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <ctime> // For struct tm

View File

@ -30,7 +30,9 @@
#ifndef _LOCALE_FACETS_NONIO_TCC
#define _LOCALE_FACETS_NONIO_TCC 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
namespace std _GLIBCXX_VISIBILITY(default)
{

View File

@ -34,7 +34,9 @@
#ifndef _LOCALE_FWD_H
#define _LOCALE_FWD_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/c++config.h>
#include <bits/c++locale.h> // Defines __c_locale, config-specific include

View File

@ -32,7 +32,9 @@
#ifndef _MASK_ARRAY_H
#define _MASK_ARRAY_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
namespace std _GLIBCXX_VISIBILITY(default)
{

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_MAX_SIZE_TYPE_H
#define _GLIBCXX_MAX_SIZE_TYPE_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#if __cplusplus > 201703L && __cpp_lib_concepts
#include <ext/numeric_traits.h>

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_MEMORY_RESOURCE_H
#define _GLIBCXX_MEMORY_RESOURCE_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#if __cplusplus >= 201703L

View File

@ -43,7 +43,9 @@
#ifndef _MEMORYFWD_H
#define _MEMORYFWD_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/c++config.h>

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_MOVE_ONLY_FUNCTION_H
#define _GLIBCXX_MOVE_ONLY_FUNCTION_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/version.h>

View File

@ -31,7 +31,9 @@
#ifndef _NODE_HANDLE
#define _NODE_HANDLE 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/version.h>

View File

@ -34,8 +34,9 @@
#ifndef _OSTREAM_TCC
#define _OSTREAM_TCC 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wc++11-extensions" // extern template

View File

@ -30,7 +30,9 @@
#ifndef _OSTREAM_INSERT_H
#define _OSTREAM_INSERT_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <iosfwd>
#include <bits/cxxabi_forced.h>

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_OUT_PTR_H
#define _GLIBCXX_OUT_PTR_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/version.h>

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_PARSE_NUMBERS_H
#define _GLIBCXX_PARSE_NUMBERS_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
// From n3642.pdf except I added binary literals and digit separator '\''.

View File

@ -35,7 +35,9 @@
#ifndef _GLIBCXX_POSTYPES_H
#define _GLIBCXX_POSTYPES_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <cwchar> // For mbstate_t

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_QUOTED_STRING_H
#define _GLIBCXX_QUOTED_STRING_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_RANGE_ACCESS_H
#define _GLIBCXX_RANGE_ACCESS_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#if __cplusplus >= 201103L
#include <initializer_list>

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_RANGES_BASE_H
#define _GLIBCXX_RANGES_BASE_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#if __cplusplus > 201703L
#include <initializer_list>

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_REFWRAP_H
#define _GLIBCXX_REFWRAP_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#if __cplusplus >= 201103L

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_SAT_ARITH_H
#define _GLIBCXX_SAT_ARITH_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/version.h>

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_SEMAPHORE_BASE_H
#define _GLIBCXX_SEMAPHORE_BASE_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/atomic_base.h>
#include <bits/chrono.h>

View File

@ -32,7 +32,9 @@
#ifndef _SLICE_ARRAY_H
#define _SLICE_ARRAY_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
namespace std _GLIBCXX_VISIBILITY(default)
{

View File

@ -34,8 +34,9 @@
#ifndef _SSTREAM_TCC
#define _SSTREAM_TCC 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wc++11-extensions" // extern template

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_BITS_STD_ABS_H
#define _GLIBCXX_BITS_STD_ABS_H
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/c++config.h>

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_STD_FUNCTION_H
#define _GLIBCXX_STD_FUNCTION_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_MUTEX_H
#define _GLIBCXX_MUTEX_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_THREAD_H
#define _GLIBCXX_THREAD_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#if __cplusplus >= 201103L
#include <bits/c++config.h>

View File

@ -59,7 +59,9 @@
#ifndef _STL_ITERATOR_BASE_FUNCS_H
#define _STL_ITERATOR_BASE_FUNCS_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/concept_check.h>
#include <debug/assertions.h>

View File

@ -59,7 +59,9 @@
#ifndef _STL_ITERATOR_BASE_TYPES_H
#define _STL_ITERATOR_BASE_TYPES_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/c++config.h>

View File

@ -58,7 +58,9 @@
#ifndef _STL_TREE_H
#define _STL_TREE_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/stl_algobase.h>
#include <bits/allocator.h>

View File

@ -30,7 +30,9 @@
#ifndef _STREAM_ITERATOR_H
#define _STREAM_ITERATOR_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <iosfwd>
#include <bits/move.h>

View File

@ -34,7 +34,9 @@
#ifndef _STREAMBUF_TCC
#define _STREAMBUF_TCC 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wc++11-extensions" // extern template

View File

@ -30,7 +30,9 @@
#ifndef _STREAMBUF_ITERATOR_H
#define _STREAMBUF_ITERATOR_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <streambuf>
#include <bits/stl_iterator_base_types.h>

View File

@ -34,7 +34,9 @@
#ifndef _GLIBCXX_STRING_VIEW_TCC
#define _GLIBCXX_STRING_VIEW_TCC 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#if __cplusplus >= 201703L

View File

@ -34,7 +34,9 @@
#ifndef _STRINGFWD_H
#define _STRINGFWD_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/c++config.h>
#include <bits/memoryfwd.h>

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_THIS_THREAD_SLEEP_H
#define _GLIBCXX_THIS_THREAD_SLEEP_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#if __cplusplus >= 201103L
#include <bits/chrono.h> // std::chrono::*

View File

@ -30,7 +30,9 @@
#ifndef _GLIBCXX_UNIQUE_LOCK_H
#define _GLIBCXX_UNIQUE_LOCK_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>

View File

@ -30,7 +30,9 @@
#ifndef _USES_ALLOCATOR_ARGS
#define _USES_ALLOCATOR_ARGS 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/version.h>

View File

@ -33,7 +33,9 @@
#ifndef _GLIBCXX_UTILITY_H
#define _GLIBCXX_UTILITY_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#if __cplusplus >= 201103L

View File

@ -32,7 +32,9 @@
#ifndef _VALARRAY_AFTER_H
#define _VALARRAY_AFTER_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
namespace std _GLIBCXX_VISIBILITY(default)
{

View File

@ -32,7 +32,9 @@
#ifndef _VALARRAY_ARRAY_H
#define _VALARRAY_ARRAY_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/c++config.h>
#include <bits/cpp_type_traits.h>

View File

@ -32,7 +32,9 @@
#ifndef _VALARRAY_BEFORE_H
#define _VALARRAY_BEFORE_H 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/slice_array.h>

View File

@ -44,7 +44,9 @@
// if unwanted, to permit bits and other FTMs to depend on them for condtional
// computation without exposing extra FTMs to user code.
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/c++config.h>

View File

@ -44,7 +44,9 @@ h
// if unwanted, to permit bits and other FTMs to depend on them for condtional
// computation without exposing extra FTMs to user code.
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/c++config.h>
/*{

View File

@ -28,7 +28,9 @@
// No include guards on this header...
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic" // include_next

View File

@ -29,7 +29,9 @@
#ifndef _GLIBCXX_CCTYPE
#define _GLIBCXX_CCTYPE 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic" // include_next

View File

@ -38,7 +38,9 @@
#ifndef _GLIBCXX_CERRNO
#define _GLIBCXX_CERRNO 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic" // include_next

View File

@ -29,7 +29,9 @@
#ifndef _GLIBCXX_CFLOAT
#define _GLIBCXX_CFLOAT 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic" // include_next

View File

@ -32,7 +32,9 @@
#ifndef _GLIBCXX_CISO646
#define _GLIBCXX_CISO646
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/c++config.h>
#endif

View File

@ -29,7 +29,9 @@
#ifndef _GLIBCXX_CLIMITS
#define _GLIBCXX_CLIMITS 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic" // include_next

View File

@ -29,7 +29,9 @@
#ifndef _GLIBCXX_CLOCALE
#define _GLIBCXX_CLOCALE 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic" // include_next

View File

@ -29,7 +29,9 @@
#ifndef _GLIBCXX_CMATH
#define _GLIBCXX_CMATH 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#include <bits/c++config.h>

View File

@ -29,7 +29,9 @@
#ifndef _GLIBCXX_CSETJMP
#define _GLIBCXX_CSETJMP 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic" // include_next

View File

@ -29,7 +29,9 @@
#ifndef _GLIBCXX_CSIGNAL
#define _GLIBCXX_CSIGNAL 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic" // include_next

View File

@ -29,7 +29,9 @@
#ifndef _GLIBCXX_CSTDARG
#define _GLIBCXX_CSTDARG 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic" // include_next

View File

@ -29,7 +29,9 @@
#ifndef _GLIBCXX_CSTDDEF
#define _GLIBCXX_CSTDDEF 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic" // include_next

View File

@ -29,7 +29,9 @@
#ifndef _GLIBCXX_CSTDIO
#define _GLIBCXX_CSTDIO 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic" // include_next

View File

@ -29,7 +29,9 @@
#ifndef _GLIBCXX_CSTDLIB
#define _GLIBCXX_CSTDLIB 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic" // include_next

View File

@ -29,7 +29,9 @@
#ifndef _GLIBCXX_CSTRING
#define _GLIBCXX_CSTRING 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic" // include_next

View File

@ -29,7 +29,9 @@
#ifndef _GLIBCXX_CTIME
#define _GLIBCXX_CTIME 1
#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic" // include_next

Some files were not shown because too many files have changed in this diff Show More