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.
/* { 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;};
/* { 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;};
// { dg-options "-Wtemplates -Wmultiple-inheritance -Wvirtual-inheritance -Wnamespaces" }
// { dg-skip-if "requires hosted libstdc++ for iostream" { ! hostedlib } }
+#define _GLIBCXX_SYSHDR
#include <iostream>
#include <algorithm>
# 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)
])
# 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"
#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>
#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
#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)
#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>
#ifndef _GLIBCXX_ATOMIC_WAIT_H
#define _GLIBCXX_ATOMIC_WAIT_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/version.h>
#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>
#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
#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>
#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"
#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
#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"
#ifndef _CHAR_TRAITS_H
#define _CHAR_TRAITS_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#ifndef _GLIBCXX_CHARCONV_H
#define _GLIBCXX_CHARCONV_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus >= 201103L
#ifndef _GLIBCXX_CHRONO_H
#define _GLIBCXX_CHRONO_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus >= 201103L
#ifndef _GLIBCXX_CHRONO_IO_H
#define _GLIBCXX_CHRONO_IO_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus >= 202002L
#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
#ifndef _CONCEPT_CHECK_H
#define _CONCEPT_CHECK_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#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>
#ifndef _GLIBCXX_BITS_ELEMENTS_OF
#define _GLIBCXX_BITS_ELEMENTS_OF
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#ifndef _ENABLE_SPECIAL_MEMBERS_H
#define _ENABLE_SPECIAL_MEMBERS_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#ifndef _GLIBCXX_ERASE_IF_H
#define _GLIBCXX_ERASE_IF_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#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>
#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
#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>
#ifndef _GSLICE_H
#define _GSLICE_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
namespace std _GLIBCXX_VISIBILITY(default)
{
#ifndef _GSLICE_ARRAY_H
#define _GSLICE_ARRAY_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
namespace std _GLIBCXX_VISIBILITY(default)
{
#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>
#ifndef _INDIRECT_ARRAY_H
#define _INDIRECT_ARRAY_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
namespace std _GLIBCXX_VISIBILITY(default)
{
#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>
#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>
#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
#ifndef _ITERATOR_CONCEPTS_H
#define _ITERATOR_CONCEPTS_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus >= 202002L
#include <concepts>
#ifndef _LOCALE_CLASSES_H
#define _LOCALE_CLASSES_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/localefwd.h>
#include <string>
#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"
#ifndef _LOCALE_FACETS_H
#define _LOCALE_FACETS_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <cwctype> // For wctype_t
#include <cctype>
#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
#ifndef _LOCALE_FACETS_NONIO_H
#define _LOCALE_FACETS_NONIO_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <ctime> // For struct tm
#ifndef _LOCALE_FACETS_NONIO_TCC
#define _LOCALE_FACETS_NONIO_TCC 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
namespace std _GLIBCXX_VISIBILITY(default)
{
#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
#ifndef _MASK_ARRAY_H
#define _MASK_ARRAY_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
namespace std _GLIBCXX_VISIBILITY(default)
{
#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>
#ifndef _GLIBCXX_MEMORY_RESOURCE_H
#define _GLIBCXX_MEMORY_RESOURCE_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus >= 201703L
#ifndef _MEMORYFWD_H
#define _MEMORYFWD_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#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>
#ifndef _NODE_HANDLE
#define _NODE_HANDLE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/version.h>
#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
#ifndef _OSTREAM_INSERT_H
#define _OSTREAM_INSERT_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <iosfwd>
#include <bits/cxxabi_forced.h>
#ifndef _GLIBCXX_OUT_PTR_H
#define _GLIBCXX_OUT_PTR_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/version.h>
#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 '\''.
#ifndef _GLIBCXX_POSTYPES_H
#define _GLIBCXX_POSTYPES_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <cwchar> // For mbstate_t
#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>
#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>
#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>
#ifndef _GLIBCXX_REFWRAP_H
#define _GLIBCXX_REFWRAP_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus >= 201103L
#ifndef _GLIBCXX_SAT_ARITH_H
#define _GLIBCXX_SAT_ARITH_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/version.h>
#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>
#ifndef _SLICE_ARRAY_H
#define _SLICE_ARRAY_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
namespace std _GLIBCXX_VISIBILITY(default)
{
#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
#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>
#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>
#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>
#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>
#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>
#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>
#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>
#ifndef _STREAM_ITERATOR_H
#define _STREAM_ITERATOR_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <iosfwd>
#include <bits/move.h>
#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
#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>
#ifndef _GLIBCXX_STRING_VIEW_TCC
#define _GLIBCXX_STRING_VIEW_TCC 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus >= 201703L
#ifndef _STRINGFWD_H
#define _STRINGFWD_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <bits/memoryfwd.h>
#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::*
#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>
#ifndef _USES_ALLOCATOR_ARGS
#define _USES_ALLOCATOR_ARGS 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/version.h>
#ifndef _GLIBCXX_UTILITY_H
#define _GLIBCXX_UTILITY_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus >= 201103L
#ifndef _VALARRAY_AFTER_H
#define _VALARRAY_AFTER_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
namespace std _GLIBCXX_VISIBILITY(default)
{
#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>
#ifndef _VALARRAY_BEFORE_H
#define _VALARRAY_BEFORE_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/slice_array.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>
// 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>
/*{
// 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
#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
#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
#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
#ifndef _GLIBCXX_CISO646
#define _GLIBCXX_CISO646
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#endif
#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
#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
#ifndef _GLIBCXX_CMATH
#define _GLIBCXX_CMATH 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#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
#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
#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
#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
#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
#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
#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
#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
#ifndef _GLIBCXX_CUCHAR
#define _GLIBCXX_CUCHAR 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>
#ifndef _GLIBCXX_CWCHAR
#define _GLIBCXX_CWCHAR 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <cstddef>
#ifndef _GLIBCXX_CWCTYPE
#define _GLIBCXX_CWCTYPE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic" // include_next
#ifndef _GLIBCXX_FENV_H
#define _GLIBCXX_FENV_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic" // include_next
#ifndef _GLIBCXX_INTTYPES_H
#define _GLIBCXX_INTTYPES_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic" // include_next
#ifndef _GLIBCXX_STDINT_H
#define _GLIBCXX_STDINT_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic" // include_next
// No include guards on this header...
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <assert.h>
#ifndef _GLIBCXX_CCOMPLEX
#define _GLIBCXX_CCOMPLEX 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>
#ifndef _GLIBCXX_CCTYPE
#define _GLIBCXX_CCTYPE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <ctype.h>
#ifndef _GLIBCXX_CERRNO
#define _GLIBCXX_CERRNO 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <errno.h>
#ifndef _GLIBCXX_CFENV
#define _GLIBCXX_CFENV 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>
#ifndef _GLIBCXX_CFLOAT
#define _GLIBCXX_CFLOAT 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <float.h>
#ifndef _GLIBCXX_CINTTYPES
#define _GLIBCXX_CINTTYPES 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>
#ifndef _GLIBCXX_CISO646
#define _GLIBCXX_CISO646
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
+
#endif
#ifndef _GLIBCXX_CLIMITS
#define _GLIBCXX_CLIMITS 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <limits.h>
#ifndef _GLIBCXX_CLOCALE
#define _GLIBCXX_CLOCALE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <locale.h>
#ifndef _GLIBCXX_CMATH
#define _GLIBCXX_CMATH 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h>
#ifndef _GLIBCXX_CSETJMP
#define _GLIBCXX_CSETJMP 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <setjmp.h>
#ifndef _GLIBCXX_CSIGNAL
#define _GLIBCXX_CSIGNAL 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <signal.h>
#ifndef _GLIBCXX_CSTDALIGN
#define _GLIBCXX_CSTDALIGN 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>
#ifndef _GLIBCXX_CSTDARG
#define _GLIBCXX_CSTDARG 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#undef __need___va_list
#include <bits/c++config.h>
#ifndef _GLIBCXX_CSTDBOOL
#define _GLIBCXX_CSTDBOOL 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>
#ifndef _GLIBCXX_CSTDDEF
#define _GLIBCXX_CSTDDEF 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#undef __need_wchar_t
#undef __need_ptrdiff_t
#ifndef _GLIBCXX_CSTDINT
#define _GLIBCXX_CSTDINT 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>
#ifndef _GLIBCXX_CSTDIO
#define _GLIBCXX_CSTDIO 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <stdio.h>
#ifndef _GLIBCXX_CSTDLIB
#define _GLIBCXX_CSTDLIB 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#ifndef _GLIBCXX_CSTRING
#define _GLIBCXX_CSTRING 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#define __glibcxx_want_freestanding_cstring
#include <bits/version.h>
* This is a Standard C++ Library header.
*/
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#ifndef _GLIBCXX_CTGMATH
#define _GLIBCXX_CTGMATH 1
#ifndef _GLIBCXX_CTIME
#define _GLIBCXX_CTIME 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <time.h>
#ifndef _GLIBCXX_CUCHAR
#define _GLIBCXX_CUCHAR 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>
#ifndef _GLIBCXX_CWCHAR
#define _GLIBCXX_CWCHAR 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#ifndef _GLIBCXX_CWCTYPE
#define _GLIBCXX_CWCTYPE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
// No include guards on this header...
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <assert.h>
#ifndef _GLIBCXX_CCTYPE
#define _GLIBCXX_CCTYPE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <ctype.h>
#ifndef _GLIBCXX_CERRNO
#define _GLIBCXX_CERRNO 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <errno.h>
#ifndef _GLIBCXX_CFLOAT
#define _GLIBCXX_CFLOAT 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <float.h>
#ifndef _GLIBCXX_CISO646
#define _GLIBCXX_CISO646
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#endif
#ifndef _GLIBCXX_CLIMITS
#define _GLIBCXX_CLIMITS 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <limits.h>
#ifndef _GLIBCXX_CLOCALE
#define _GLIBCXX_CLOCALE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <locale.h>
#ifndef _GLIBCXX_CMATH
#define _GLIBCXX_CMATH 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <bits/cpp_type_traits.h>
#ifndef _GLIBCXX_CSETJMP
#define _GLIBCXX_CSETJMP 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <setjmp.h>
#ifndef _GLIBCXX_CSIGNAL
#define _GLIBCXX_CSIGNAL 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <signal.h>
#ifndef _GLIBCXX_CSTDARG
#define _GLIBCXX_CSTDARG 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <stdarg.h>
#ifndef _GLIBCXX_CSTDDEF
#define _GLIBCXX_CSTDDEF 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <stddef.h>
#ifndef _GLIBCXX_CSTDIO
#define _GLIBCXX_CSTDIO 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <stdio.h>
#ifndef _GLIBCXX_CSTDLIB
#define _GLIBCXX_CSTDLIB 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#ifndef _GLIBCXX_CSTRING
#define _GLIBCXX_CSTRING 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <string.h>
#ifndef _GLIBCXX_CTIME
#define _GLIBCXX_CTIME 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <time.h>
#ifndef _GLIBCXX_CUCHAR
#define _GLIBCXX_CUCHAR 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>
#ifndef _GLIBCXX_CWCHAR
#define _GLIBCXX_CWCHAR 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#ifndef _GLIBCXX_CWCTYPE
#define _GLIBCXX_CWCTYPE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#ifndef _GLIBCXX_DEBUG_ARRAY
#define _GLIBCXX_DEBUG_ARRAY 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <array>
#ifndef _GLIBCXX_DEBUG_BITSET
#define _GLIBCXX_DEBUG_BITSET
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bitset>
#include <debug/safe_sequence.h>
#ifndef _GLIBCXX_DEBUG_DEQUE
#define _GLIBCXX_DEBUG_DEQUE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
namespace std _GLIBCXX_VISIBILITY(default) { namespace __debug {
#ifndef _GLIBCXX_DEBUG_FORWARD_LIST
#define _GLIBCXX_DEBUG_FORWARD_LIST 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
namespace std _GLIBCXX_VISIBILITY(default) { namespace __debug {
#ifndef _GLIBCXX_DEBUG_LIST
#define _GLIBCXX_DEBUG_LIST 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
namespace std _GLIBCXX_VISIBILITY(default) { namespace __debug {
#ifndef _GLIBCXX_DEBUG_MAP
#define _GLIBCXX_DEBUG_MAP 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
namespace std _GLIBCXX_VISIBILITY(default) { namespace __debug {
#ifndef _GLIBCXX_DEBUG_SET
#define _GLIBCXX_DEBUG_SET 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
namespace std _GLIBCXX_VISIBILITY(default) { namespace __debug {
#ifndef _GLIBCXX_DEBUG_STRING
#define _GLIBCXX_DEBUG_STRING 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <string>
#include <debug/safe_sequence.h>
#ifndef _GLIBCXX_DEBUG_UNORDERED_MAP
#define _GLIBCXX_DEBUG_UNORDERED_MAP 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>
#ifndef _GLIBCXX_DEBUG_UNORDERED_SET
#define _GLIBCXX_DEBUG_UNORDERED_SET 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>
#ifndef _GLIBCXX_DEBUG_VECTOR
#define _GLIBCXX_DEBUG_VECTOR 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
namespace std _GLIBCXX_VISIBILITY(default) { namespace __debug {
#ifndef _GLIBCXX_DECIMAL
#define _GLIBCXX_DECIMAL 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic" // DF suffix
#ifndef _GLIBCXX_DECIMAL_IMPL
#define _GLIBCXX_DECIMAL_IMPL 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
namespace std _GLIBCXX_VISIBILITY(default)
{
#ifndef _GLIBCXX_EXPERIMENTAL_ALGORITHM
#define _GLIBCXX_EXPERIMENTAL_ALGORITHM 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_ANY
#define _GLIBCXX_EXPERIMENTAL_ANY 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_ARRAY
#define _GLIBCXX_EXPERIMENTAL_ARRAY 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_NET_H
#define _GLIBCXX_EXPERIMENTAL_NET_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus >= 201402L
#ifndef _GLIBCXX_EXPERIMENTAL_SHARED_PTR_H
#define _GLIBCXX_EXPERIMENTAL_SHARED_PTR_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus >= 201402L
#ifndef _GLIBCXX_EXPERIMENTAL_STRING_VIEW_TCC
#define _GLIBCXX_EXPERIMENTAL_STRING_VIEW_TCC 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus >= 201402L
#ifndef _GLIBCXX_EXPERIMENTAL_BUFFER
#define _GLIBCXX_EXPERIMENTAL_BUFFER 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_CHRONO
#define _GLIBCXX_EXPERIMENTAL_CHRONO 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_CONTRACT
#define _GLIBCXX_CONTRACT 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus >= 201703L
#ifndef _GLIBCXX_EXPERIMENTAL_DEQUE
#define _GLIBCXX_EXPERIMENTAL_DEQUE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_EXECUTOR
#define _GLIBCXX_EXPERIMENTAL_EXECUTOR 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_FILESYSTEM
#define _GLIBCXX_EXPERIMENTAL_FILESYSTEM 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_FORWARD_LIST
#define _GLIBCXX_EXPERIMENTAL_FORWARD_LIST 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_FUNCTIONAL
#define _GLIBCXX_EXPERIMENTAL_FUNCTIONAL 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_INTERNET
#define _GLIBCXX_EXPERIMENTAL_INTERNET
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_IO_SERVICE
#define _GLIBCXX_EXPERIMENTAL_IO_SERVICE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_ITERATOR
#define _GLIBCXX_EXPERIMENTAL_ITERATOR 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_LIST
#define _GLIBCXX_EXPERIMENTAL_LIST 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_MAP
#define _GLIBCXX_EXPERIMENTAL_MAP 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_MEMORY
#define _GLIBCXX_EXPERIMENTAL_MEMORY 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_MEMORY_RESOURCE
#define _GLIBCXX_EXPERIMENTAL_MEMORY_RESOURCE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_NET
#define _GLIBCXX_EXPERIMENTAL_NET
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_NETFWD
#define _GLIBCXX_EXPERIMENTAL_NETFWD 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_NUMERIC
#define _GLIBCXX_EXPERIMENTAL_NUMERIC 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_PROPAGATE_CONST
#define _GLIBCXX_EXPERIMENTAL_PROPAGATE_CONST 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_RATIO
#define _GLIBCXX_EXPERIMENTAL_RATIO 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_REGEX
#define _GLIBCXX_EXPERIMENTAL_REGEX 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_SCOPE
#define _GLIBCXX_EXPERIMENTAL_SCOPE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_SET
#define _GLIBCXX_EXPERIMENTAL_SET 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_SOCKET
#define _GLIBCXX_EXPERIMENTAL_SOCKET
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_STRING
#define _GLIBCXX_EXPERIMENTAL_STRING 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_STRING_VIEW
#define _GLIBCXX_EXPERIMENTAL_STRING_VIEW 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_SYNCVAL
#define _GLIBCXX_EXPERIMENTAL_SYNCVAL 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // for std::mutex
#ifndef _GLIBCXX_EXPERIMENTAL_SYSTEM_ERROR
#define _GLIBCXX_EXPERIMENTAL_SYSTEM_ERROR 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_TIMER
#define _GLIBCXX_EXPERIMENTAL_TIMER 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_TUPLE
#define _GLIBCXX_EXPERIMENTAL_TUPLE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_TYPE_TRAITS
#define _GLIBCXX_EXPERIMENTAL_TYPE_TRAITS 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus >= 201402L
#ifndef _GLIBCXX_EXPERIMENTAL_UNORDERED_MAP
#define _GLIBCXX_EXPERIMENTAL_UNORDERED_MAP 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_UNORDERED_SET
#define _GLIBCXX_EXPERIMENTAL_UNORDERED_SET 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#ifndef _GLIBCXX_EXPERIMENTAL_VECTOR
#define _GLIBCXX_EXPERIMENTAL_VECTOR 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // experimental is currently omitted
#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
#ifndef _ALIGNED_BUFFER_H
#define _ALIGNED_BUFFER_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus >= 201103L
# include <type_traits>
#ifndef _EXT_ALLOC_TRAITS_H
#define _EXT_ALLOC_TRAITS_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
# include <bits/alloc_traits.h>
#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>
#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
#ifndef _CONCURRENCE_H
#define _CONCURRENCE_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <exception>
#include <bits/gthr.h>
#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
#ifndef _EXT_ITERATOR
#define _EXT_ITERATOR 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/concept_check.h>
#include <iterator>
#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
#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
#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>
#ifdef PB_DS_CLASS_C_DEC
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
namespace detail
{
#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
#ifndef _POINTER_H
#define _POINTER_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if _GLIBCXX_HOSTED
# include <iosfwd>
#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
#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
#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
#ifndef _ROPE
#define _ROPE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // GNU extensions are currently omitted
#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
#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
#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
#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>
#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
#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
#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
#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
#ifndef _PARALLEL_ALGORITHM
#define _PARALLEL_ALGORITHM 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <algorithm>
#include <parallel/algorithmfwd.h>
#ifndef _GLIBCXX_PARALLEL_ALGORITHMFWD_H
#define _GLIBCXX_PARALLEL_ALGORITHMFWD_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <parallel/tags.h>
#include <parallel/settings.h>
#ifndef _GLIBCXX_PARALLEL_NUMERICFWD_H
#define _GLIBCXX_PARALLEL_NUMERICFWD_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <parallel/tags.h>
#include <parallel/settings.h>
#ifndef _GLIBCXX_ALGORITHM
#define _GLIBCXX_ALGORITHM 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/stl_algobase.h>
#include <bits/stl_algo.h>
#ifndef _GLIBCXX_ANY
#define _GLIBCXX_ANY 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#define __glibcxx_want_any
#include <bits/version.h>
#ifndef _GLIBCXX_ARRAY
#define _GLIBCXX_ARRAY 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>
#ifndef _GLIBCXX_ATOMIC
#define _GLIBCXX_ATOMIC 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>
#ifndef _GLIBCXX_BARRIER
#define _GLIBCXX_BARRIER 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // threading primitive
#ifndef _GLIBCXX_BIT
#define _GLIBCXX_BIT 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus >= 201402L
#ifndef _GLIBCXX_BITSET
#define _GLIBCXX_BITSET 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/functexcept.h> // For invalid_argument, out_of_range,
// overflow_error
#ifndef _GLIBCXX_CHARCONV
#define _GLIBCXX_CHARCONV 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic" // __int128
#ifndef _GLIBCXX_CHRONO
#define _GLIBCXX_CHRONO 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#ifdef _GLIBCXX_NO_FREESTANDING_CHRONO
# include <bits/requires_hosted.h> // for <ctime> and clocks
#ifndef _GLIBCXX_CODECVT
#define _GLIBCXX_CODECVT 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>
#ifndef _GLIBCXX_COMPLEX
#define _GLIBCXX_COMPLEX 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wc++11-extensions" // extern template
#ifndef _GLIBCXX_CONCEPTS
#define _GLIBCXX_CONCEPTS 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#define __glibcxx_want_concepts
#include <bits/version.h>
#ifndef _GLIBCXX_CONDITION_VARIABLE
#define _GLIBCXX_CONDITION_VARIABLE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // threading primitive
#ifndef _GLIBCXX_COROUTINE
#define _GLIBCXX_COROUTINE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wc++17-extensions"
#ifndef _GLIBCXX_DEQUE
#define _GLIBCXX_DEQUE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // containers are hosted only
#ifndef _GLIBCXX_EXECUTION
#define _GLIBCXX_EXECUTION 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // execution policies are hosted only
#ifndef _GLIBCXX_EXPECTED
#define _GLIBCXX_EXPECTED
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#define __glibcxx_want_expected
#define __glibcxx_want_freestanding_expected
#ifndef _GLIBCXX_FILESYSTEM
#define _GLIBCXX_FILESYSTEM 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h>
#ifndef _GLIBCXX_FORMAT
#define _GLIBCXX_FORMAT 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // for std::string
#ifndef _GLIBCXX_FORWARD_LIST
#define _GLIBCXX_FORWARD_LIST 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // containers
#ifndef _GLIBCXX_FSTREAM
#define _GLIBCXX_FSTREAM 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // iostreams
#ifndef _GLIBCXX_FUNCTIONAL
#define _GLIBCXX_FUNCTIONAL 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <bits/stl_function.h> // std::equal_to, std::unary_function etc.
#ifndef _GLIBCXX_FUTURE
#define _GLIBCXX_FUTURE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // concurrency
#define _GLIBCXX_GENERATOR
#include <ranges>
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#ifndef _GLIBCXX_IOMANIP
#define _GLIBCXX_IOMANIP 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wc++11-extensions"
#ifndef _GLIBCXX_IOS
#define _GLIBCXX_IOS 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // iostreams
#ifndef _GLIBCXX_IOSFWD
#define _GLIBCXX_IOSFWD 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // iostreams
#ifndef _GLIBCXX_IOSTREAM
#define _GLIBCXX_IOSTREAM 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // iostreams
#ifndef _GLIBCXX_ISTREAM
#define _GLIBCXX_ISTREAM 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // iostreams
#ifndef _GLIBCXX_ITERATOR
#define _GLIBCXX_ITERATOR 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <bits/stl_iterator_base_types.h>
#ifndef _GLIBCXX_LATCH
#define _GLIBCXX_LATCH 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // concurrency
#ifndef _GLIBCXX_NUMERIC_LIMITS
#define _GLIBCXX_NUMERIC_LIMITS 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wpedantic" // Q suffix
#ifndef _GLIBCXX_LIST
#define _GLIBCXX_LIST 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // containers
#ifndef _GLIBCXX_LOCALE
#define _GLIBCXX_LOCALE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // locales
#ifndef _GLIBCXX_MAP
#define _GLIBCXX_MAP 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // containers
#ifndef _GLIBCXX_MEMORY
#define _GLIBCXX_MEMORY 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
/**
* @defgroup memory Memory
#ifndef _GLIBCXX_MEMORY_RESOURCE
#define _GLIBCXX_MEMORY_RESOURCE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // polymorphic allocation
#ifndef _GLIBCXX_MUTEX
#define _GLIBCXX_MUTEX 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // concurrency
#ifndef _GLIBCXX_NUMBERS
#define _GLIBCXX_NUMBERS 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#define __glibcxx_want_math_constants
#include <bits/version.h>
#ifndef _GLIBCXX_NUMERIC
#define _GLIBCXX_NUMERIC 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <bits/stl_iterator_base_types.h>
#ifndef _GLIBCXX_OPTIONAL
#define _GLIBCXX_OPTIONAL 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#define __glibcxx_want_freestanding_optional
#define __glibcxx_want_optional
#ifndef _GLIBCXX_OSTREAM
#define _GLIBCXX_OSTREAM 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // iostreams
#ifndef _GLIBCXX_PRINT
#define _GLIBCXX_PRINT 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // for std::format
#ifndef _GLIBCXX_QUEUE
#define _GLIBCXX_QUEUE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // containers
#ifndef _GLIBCXX_RANDOM
#define _GLIBCXX_RANDOM 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // OS-dependent random
#if __cplusplus > 201703L
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <concepts>
#ifndef _GLIBCXX_RATIO
#define _GLIBCXX_RATIO 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>
#ifndef _GLIBCXX_REGEX
#define _GLIBCXX_REGEX 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // string and container heavy
#ifndef _SCOPED_ALLOCATOR
#define _SCOPED_ALLOCATOR 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>
#ifndef _GLIBCXX_SEMAPHORE
#define _GLIBCXX_SEMAPHORE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // concurrency
#ifndef _GLIBCXX_SET
#define _GLIBCXX_SET 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // containers
#ifndef _GLIBCXX_SHARED_MUTEX
#define _GLIBCXX_SHARED_MUTEX 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // concurrency
#ifndef _GLIBCXX_SPAN
#define _GLIBCXX_SPAN 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#define __glibcxx_want_span
#include <bits/version.h>
#ifndef _GLIBCXX_SPANSTREAM
#define _GLIBCXX_SPANSTREAM 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // iostreams
#ifndef _GLIBCXX_SSTREAM
#define _GLIBCXX_SSTREAM 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // iostream
#ifndef _GLIBCXX_STACK
#define _GLIBCXX_STACK 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // containers
#ifndef _GLIBCXX_STACKTRACE
#define _GLIBCXX_STACKTRACE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // std::string bound
#ifndef _GLIBCXX_STDEXCEPT
#define _GLIBCXX_STDEXCEPT 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <exception>
#include <string>
#ifndef _GLIBXX_STREAMBUF
#define _GLIBXX_STREAMBUF 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // iostreams
#ifndef _GLIBCXX_STRING
#define _GLIBCXX_STRING 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // containers
#ifndef _GLIBCXX_STRING_VIEW
#define _GLIBCXX_STRING_VIEW 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#define __glibcxx_want_constexpr_char_traits
#define __glibcxx_want_constexpr_string_view
#ifndef _GLIBCXX_SYNCSTREAM
#define _GLIBCXX_SYNCSTREAM 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // iostreams
#ifndef _GLIBCXX_SYSTEM_ERROR
#define _GLIBCXX_SYSTEM_ERROR 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // OS-dependent
#ifndef _GLIBCXX_TEXT_ENCODING
#define _GLIBCXX_TEXT_ENCODING
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h>
#ifndef _GLIBCXX_THREAD
#define _GLIBCXX_THREAD 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // concurrency
#ifndef _GLIBCXX_TUPLE
#define _GLIBCXX_TUPLE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>
#ifndef _GLIBCXX_TYPE_TRAITS
#define _GLIBCXX_TYPE_TRAITS 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>
#ifndef _GLIBCXX_TYPEINDEX
#define _GLIBCXX_TYPEINDEX 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>
#ifndef _GLIBCXX_UNORDERED_MAP
#define _GLIBCXX_UNORDERED_MAP 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // container
#ifndef _GLIBCXX_UNORDERED_SET
#define _GLIBCXX_UNORDERED_SET 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // containers
#ifndef _GLIBCXX_UTILITY
#define _GLIBCXX_UTILITY 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
/**
* @defgroup utilities Utilities
#ifndef _GLIBCXX_VALARRAY
#define _GLIBCXX_VALARRAY 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // <cmath> dependant
#ifndef _GLIBCXX_VARIANT
#define _GLIBCXX_VARIANT 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#define __glibcxx_want_freestanding_variant
#define __glibcxx_want_variant
#ifndef _GLIBCXX_VECTOR
#define _GLIBCXX_VECTOR 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // container
#ifndef _GLIBCXX_VERSION_INCLUDED
#define _GLIBCXX_VERSION_INCLUDED
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#define __glibcxx_want_all
#include <bits/version.h>
#ifndef _GLIBCXX_TR1_ARRAY
#define _GLIBCXX_TR1_ARRAY 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // TR1
#ifndef _GLIBCXX_TR1_CFENV
#define _GLIBCXX_TR1_CFENV 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // TR1
#ifndef _GLIBCXX_TR1_CINTTYPES
#define _GLIBCXX_TR1_CINTTYPES 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // TR1
#ifndef _GLIBCXX_TR1_CMATH
#define _GLIBCXX_TR1_CMATH 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // TR1
#ifndef _GLIBCXX_TR1_COMPLEX
#define _GLIBCXX_TR1_COMPLEX 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // TR1
#ifndef _GLIBCXX_TR1_CSTDBOOL
#define _GLIBCXX_TR1_CSTDBOOL 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // TR1
#ifndef _GLIBCXX_TR1_CSTDINT
#define _GLIBCXX_TR1_CSTDINT 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // TR1
#ifndef _GLIBCXX_TR1_CSTDIO
#define _GLIBCXX_TR1_CSTDIO 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // TR1
#ifndef _GLIBCXX_TR1_CSTDLIB
#define _GLIBCXX_TR1_CSTDLIB 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // TR1
#ifndef _GLIBCXX_TR1_CWCHAR
#define _GLIBCXX_TR1_CWCHAR 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // TR1
#ifndef _GLIBCXX_TR1_CWCTYPE
#define _GLIBCXX_TR1_CWCTYPE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // TR1
#ifndef _GLIBCXX_TR1_FUNCTIONAL
#define _GLIBCXX_TR1_FUNCTIONAL 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // TR1
#ifndef _GLIBCXX_TR1_FUNCTIONAL_HASH_H
#define _GLIBCXX_TR1_FUNCTIONAL_HASH_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
namespace std _GLIBCXX_VISIBILITY(default)
{
#ifndef _GLIBCXX_TR1_HASHTABLE_H
#define _GLIBCXX_TR1_HASHTABLE_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <tr1/hashtable_policy.h>
#include <ext/alloc_traits.h>
#ifndef _GLIBCXX_TR1_MEMORY
#define _GLIBCXX_TR1_MEMORY 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // TR1
#ifndef _GLIBCXX_TR1_RANDOM
#define _GLIBCXX_TR1_RANDOM 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // TR1
#ifndef _GLIBCXX_TR1_RANDOM_H
#define _GLIBCXX_TR1_RANDOM_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
namespace std _GLIBCXX_VISIBILITY(default)
{
#ifndef _GLIBCXX_TR1_REGEX
#define _GLIBCXX_TR1_REGEX 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // TR1
#ifndef _GLIBCXX_TR1_TUPLE
#define _GLIBCXX_TR1_TUPLE 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wc++11-extensions"
#ifndef _GLIBCXX_TR1_TYPE_TRAITS
#define _GLIBCXX_TR1_TYPE_TRAITS 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wc++11-extensions"
#ifndef _GLIBCXX_TR1_UNORDERED_MAP
#define _GLIBCXX_TR1_UNORDERED_MAP 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // TR1
#ifndef _GLIBCXX_TR1_UNORDERED_SET
#define _GLIBCXX_TR1_UNORDERED_SET 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // TR1
#ifndef _GLIBCXX_TR1_UTILITY
#define _GLIBCXX_TR1_UTILITY 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/requires_hosted.h> // TR1
#ifndef _GLIBCXX_TR2_BOOL_SET
#define _GLIBCXX_TR2_BOOL_SET 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <typeinfo>
#include <iostream>
#ifndef _GLIBCXX_TR2_BOOL_SET_TCC
#define _GLIBCXX_TR2_BOOL_SET_TCC 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
namespace std _GLIBCXX_VISIBILITY(default)
{
#ifndef _GLIBCXX_TR2_DYNAMIC_BITSET
#define _GLIBCXX_TR2_DYNAMIC_BITSET 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <limits>
#include <vector>
#ifndef _GLIBCXX_TR2_DYNAMIC_BITSET_TCC
#define _GLIBCXX_TR2_DYNAMIC_BITSET_TCC 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
namespace std _GLIBCXX_VISIBILITY(default)
{
#ifndef _GLIBCXX_TR2_TYPE_TRAITS
#define _GLIBCXX_TR2_TYPE_TRAITS 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <type_traits>
#include <bits/c++config.h>
#ifndef _GLIBCXX_ATOMIC_LOCK_FREE_H
#define _GLIBCXX_ATOMIC_LOCK_FREE_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
/**
* @addtogroup atomics
#ifndef _COMPARE
#define _COMPARE
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#define __glibcxx_want_three_way_comparison
#include <bits/version.h>
#ifndef _CXXABI_H
#define _CXXABI_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#pragma GCC visibility push(default)
#ifndef _CXXABI_FORCED_H
#define _CXXABI_FORCED_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#pragma GCC visibility push(default)
#ifndef _CXXABI_INIT_EXCEPTION_H
#define _CXXABI_INIT_EXCEPTION_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#pragma GCC visibility push(default)
#ifndef __EXCEPTION__
#define __EXCEPTION__
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <bits/exception.h>
#ifndef __EXCEPTION_H
#define __EXCEPTION_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#ifndef _HASH_BYTES_H
#define _HASH_BYTES_H 1
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#ifndef _INITIALIZER_LIST
#define _INITIALIZER_LIST
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#if __cplusplus < 201103L
# include <bits/c++0x_warning.h>
#ifndef _NEW
#define _NEW
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/c++config.h>
#include <bits/exception.h>
#ifndef _TYPEINFO
#define _TYPEINFO
+#ifdef _GLIBCXX_SYSHDR
#pragma GCC system_header
+#endif
#include <bits/exception.h>
#if __cplusplus >= 201103L
// { dg-error "expected initializer" "" { target *-*-* } 35 }
// { dg-error "expected initializer" "" { target *-*-* } 37 }
// { dg-error "overflow in addition" "" { target *-*-* } 0 }
-// { dg-error "overflow in multiplication" "" { target *-*-* } 101 }
// { dg-error "overflow in multiplication" "" { target *-*-* } 103 }
// { dg-error "overflow in multiplication" "" { target *-*-* } 105 }
+// { dg-error "overflow in multiplication" "" { target *-*-* } 107 }
// { dg-error "overflow in constant expression" "" { target *-*-* } 0 }
// { dg-error "narrowing conversion" "" { target *-*-* } 0 }
+// { dg-error "overflow in expression" "" { target *-*-* } 114 }
// { dg-prune-output "out of range" }
// { dg-prune-output "not usable in a constant expression" }
int n2 = std::get<1>(std::move(a));
int n3 = std::get<1>(ca);
-// { dg-error "static assertion failed" "" { target *-*-* } 392 }
-// { dg-error "static assertion failed" "" { target *-*-* } 401 }
-// { dg-error "static assertion failed" "" { target *-*-* } 410 }
+// { dg-error "static assertion failed" "" { target *-*-* } 394 }
+// { dg-error "static assertion failed" "" { target *-*-* } 403 }
+// { dg-error "static assertion failed" "" { target *-*-* } 412 }
// { dg-error "value type is destructible" "" { target *-*-* } 0 }
// In Debug Mode the "required from here" errors come from <debug/vector>
-// { dg-error "required from here" "" { target *-*-* } 180 }
+// { dg-error "required from here" "" { target *-*-* } 182 }
// Needed because of PR c++/92193
// { dg-prune-output "deleted function" }
{
const Y array[1] = { };
(void) std::prev(array + 1);
- // { dg-error "forward_iterator" "" { target *-*-* } 239 }
+ // { dg-error "forward_iterator" "" { target *-*-* } 241 }
}
}
// { dg-error "required from" "" { target *-*-* } 28 }
-// { dg-error "no type" "" { target *-*-* } 74 }
+// { dg-error "no type" "" { target *-*-* } 76 }
}
// { dg-error "invalid use of incomplete" "" { target *-*-* } 28 }
-// { dg-error "declaration of" "" { target *-*-* } 103 }
-// { dg-error "declaration of" "" { target *-*-* } 106 }
+// { dg-error "declaration of" "" { target *-*-* } 105 }
+// { dg-error "declaration of" "" { target *-*-* } 108 }
}
// { dg-error "required from" "" { target *-*-* } 28 }
-// { dg-error "no type" "" { target *-*-* } 117 }
+// { dg-error "no type" "" { target *-*-* } 119 }
}
// { dg-error "invalid use of incomplete" "" { target *-*-* } 28 }
-// { dg-error "declaration of" "" { target *-*-* } 146 }
-// { dg-error "declaration of" "" { target *-*-* } 149 }
+// { dg-error "declaration of" "" { target *-*-* } 148 }
+// { dg-error "declaration of" "" { target *-*-* } 151 }