aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2023-09-19 17:46:32 +0100
committerJonathan Wakely <jwakely@redhat.com>2023-11-16 08:06:59 +0000
commitf4ab68469ccffa83f23c321e8cb675b1eaf35f0c (patch)
tree2f2524fe99e08206131550a609bf578c768ef4f2
parente469f9003dd1188ef87ddb62e3ab4d5cbeb905b4 (diff)
downloadgcc-f4ab68469ccffa83f23c321e8cb675b1eaf35f0c.zip
gcc-f4ab68469ccffa83f23c321e8cb675b1eaf35f0c.tar.gz
gcc-f4ab68469ccffa83f23c321e8cb675b1eaf35f0c.tar.bz2
libstdc++: Test for feature test macros more accurately
Tests which check for feature test macros should use the no_pch option, so that we're really testing for the definition being in the intended header, and not just testing that it's present in <bits/stdc++.h> (which includes all the standard headers and so defines all the macros). libstdc++-v3/ChangeLog: * testsuite/18_support/byte/requirements.cc: Disable PCH. * testsuite/18_support/destroying_delete.cc: Likewise. * testsuite/18_support/source_location/1.cc: Likewise. * testsuite/18_support/source_location/version.cc: Likewise. * testsuite/18_support/type_info/constexpr.cc: Likewise. * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: Likewise. * testsuite/19_diagnostics/stacktrace/output.cc: Likewise. * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise. * testsuite/19_diagnostics/stacktrace/version.cc: Likewise. * testsuite/20_util/addressof/requirements/constexpr.cc: Likewise. * testsuite/20_util/allocator_traits/header-2.cc: Likewise. * testsuite/20_util/allocator_traits/header.cc: Likewise. * testsuite/20_util/as_const/1.cc: Likewise. Likewise. * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise. * testsuite/20_util/bitset/version.cc: Likewise. * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: Likewise. * testsuite/20_util/duration_cast/rounding.cc: Likewise. * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc: Likewise. * testsuite/20_util/exchange/constexpr.cc: Likewise. * testsuite/20_util/expected/synopsis.cc: Likewise. * testsuite/20_util/expected/version.cc: Likewise. * testsuite/20_util/function_objects/bind_front/1.cc: Likewise. * testsuite/20_util/function_objects/bind_front/2.cc: Likewise. * testsuite/20_util/function_objects/invoke/3.cc: Likewise. * testsuite/20_util/function_objects/invoke/4.cc: Likewise. * testsuite/20_util/function_objects/invoke/constexpr.cc: Likewise. * testsuite/20_util/function_objects/invoke/version.cc: Likewise. * testsuite/20_util/function_objects/searchers.cc: Likewise. * testsuite/20_util/integer_comparisons/1.cc: Likewise. * testsuite/20_util/integer_comparisons/2.cc: Likewise. * testsuite/20_util/is_bounded_array/value.cc: Likewise. * testsuite/20_util/is_layout_compatible/value.cc: Likewise. * testsuite/20_util/is_layout_compatible/version.cc: Likewise. * testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc: Likewise. * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise. * testsuite/20_util/is_nothrow_swappable/value.h: Likewise. * testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc: Remove redundant checks already tested elsewhere. * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_nothrow_swappable_with/value.cc: Disable PCH. * testsuite/20_util/is_pointer_interconvertible/value.cc: Likewise. * testsuite/20_util/is_pointer_interconvertible/version.cc: Likewise. * testsuite/20_util/is_scoped_enum/value.cc: Likewise. * testsuite/20_util/is_scoped_enum/version.cc: Likewise. * testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc: Remove redundant checks already tested elsewhere. * testsuite/20_util/is_swappable/requirements/typedefs.cc: Remove redundant checks already tested elsewhere. * testsuite/20_util/is_swappable/value.cc: Disable PCH. * testsuite/20_util/is_swappable/value.h: Reorder headers. * testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc: Remove redundant checks already tested elsewhere. * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: Remove redundant checks already tested elsewhere. * testsuite/20_util/is_swappable_with/value.cc: Disable PCH. * testsuite/20_util/is_unbounded_array/value.cc: Likewise. * testsuite/20_util/move_only_function/cons.cc: Likewise. * testsuite/20_util/move_only_function/version.cc: Likewise. * testsuite/20_util/optional/monadic/and_then.cc: Likewise. * testsuite/20_util/optional/requirements.cc: Likewise. * testsuite/20_util/optional/version.cc: Likewise. * testsuite/20_util/owner_less/void.cc: Likewise. * testsuite/20_util/reference_from_temporary/value.cc: Likewise. * testsuite/20_util/reference_from_temporary/version.cc: Likewise. * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: Likewise. * testsuite/20_util/shared_ptr/creation/array.cc: Likewise. * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise. * testsuite/20_util/shared_ptr/creation/version.cc: Likewise. * testsuite/20_util/time_point_cast/rounding.cc: Likewise. * testsuite/20_util/to_chars/constexpr.cc: Likewise. * testsuite/20_util/to_chars/result.cc: Likewise. * testsuite/20_util/to_chars/version.cc: Likewise. * testsuite/20_util/to_underlying/1.cc: Likewise. * testsuite/20_util/to_underlying/version.cc: Likewise. * testsuite/20_util/tuple/apply/1.cc: Likewise. * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc: Likewise. * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise. * testsuite/20_util/tuple/p2321r2.cc: Likewise. * testsuite/20_util/tuple/tuple_element_t.cc: Likewise. * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc: Likewise. * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: Likewise. * testsuite/20_util/unreachable/1.cc: Likewise. * testsuite/20_util/unreachable/version.cc: Likewise. * testsuite/20_util/unwrap_reference/1.cc: Likewise. * testsuite/20_util/unwrap_reference/3.cc: Likewise. * testsuite/20_util/variant/constexpr.cc: Likewise. * testsuite/20_util/variant/version.cc: Likewise. * testsuite/20_util/variant/visit_inherited.cc: Likewise. * testsuite/20_util/void_t/1.cc: Likewise. * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: Likewise. * testsuite/21_strings/basic_string/cons/char/constexpr.cc: Likewise. * testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc: Likewise. * testsuite/21_strings/basic_string/erasure.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/version.cc: Likewise. * testsuite/21_strings/basic_string/version.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/contains/char.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc: Likewise. * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc: Likewise. * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc: Likewise. * testsuite/21_strings/char_traits/requirements/version.cc: Likewise. * testsuite/23_containers/array/comparison_operators/constexpr.cc: Likewise. * testsuite/23_containers/array/creation/1.cc: Likewise. * testsuite/23_containers/array/creation/2.cc: Likewise. * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Likewise. * testsuite/23_containers/array/requirements/constexpr_fill.cc: Likewise. * testsuite/23_containers/array/requirements/constexpr_iter.cc: Likewise. * testsuite/23_containers/deque/erasure.cc: Likewise. * testsuite/23_containers/forward_list/erasure.cc: Likewise. * testsuite/23_containers/list/erasure.cc: Likewise. * testsuite/23_containers/map/erasure.cc: Likewise. * testsuite/23_containers/queue/cons_from_iters.cc: Likewise. * testsuite/23_containers/set/erasure.cc: Likewise. * testsuite/23_containers/span/1.cc: Likewise. * testsuite/23_containers/span/2.cc: Likewise. * testsuite/23_containers/stack/cons_from_iters.cc: Likewise. * testsuite/23_containers/unordered_map/erasure.cc: Likewise. * testsuite/23_containers/unordered_map/operations/1.cc: Likewise. * testsuite/23_containers/unordered_set/erasure.cc: Likewise. * testsuite/23_containers/unordered_set/operations/1.cc: Likewise. * testsuite/23_containers/vector/cons/constexpr.cc: Likewise. * testsuite/23_containers/vector/erasure.cc: Likewise. * testsuite/23_containers/vector/requirements/version.cc: Likewise. * testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise. * testsuite/25_algorithms/clamp/constexpr.cc: Likewise. * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc: Remove redundant checks already tested elsewhere. * testsuite/25_algorithms/constexpr_macro.cc: Likewise. * testsuite/25_algorithms/cpp_lib_constexpr.cc: Likewise. * testsuite/25_algorithms/fold_left/1.cc: Likewise. * testsuite/25_algorithms/pstl/feature_test-2.cc: Likewise. * testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise. * testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise. * testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise. * testsuite/25_algorithms/pstl/feature_test.cc: Likewise. * testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: Likewise. * testsuite/26_numerics/bit/bit.byteswap/version.cc: Likewise. * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Likewise. * testsuite/26_numerics/bit/bit.cast/version.cc: Likewise. * testsuite/26_numerics/bit/header-2.cc: Likewise. * testsuite/26_numerics/bit/header.cc: Likewise. * testsuite/26_numerics/complex/1.cc: Likewise. * testsuite/26_numerics/complex/2.cc: Likewise. * testsuite/26_numerics/endian/2.cc: Likewise. * testsuite/26_numerics/endian/3.cc: Likewise. * testsuite/26_numerics/gcd/1.cc: Likewise. * testsuite/26_numerics/lcm/1.cc: Likewise. * testsuite/26_numerics/lerp/1.cc: Likewise. * testsuite/26_numerics/lerp/version.cc: Likewise. * testsuite/26_numerics/midpoint/integral.cc: Likewise. * testsuite/26_numerics/midpoint/version.cc: Likewise. * testsuite/26_numerics/numbers/1.cc: Likewise. * testsuite/26_numerics/numbers/2.cc: Likewise. * testsuite/27_io/basic_filebuf/native_handle/char/1.cc: Likewise. * testsuite/27_io/basic_filebuf/native_handle/version.cc: Likewise. * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: Likewise. * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc: Likewise. * testsuite/27_io/basic_syncbuf/1.cc: Likewise. * testsuite/27_io/basic_syncbuf/2.cc: Likewise. * testsuite/27_io/basic_syncstream/1.cc: Likewise. * testsuite/27_io/basic_syncstream/2.cc: Likewise. * testsuite/27_io/spanstream/1.cc: Likewise. * testsuite/27_io/spanstream/version.cc: Likewise. * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise. * testsuite/29_atomics/atomic/lock_free_aliases.cc: Likewise. * testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise. * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise. * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Likewise. * testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise. * testsuite/30_threads/barrier/1.cc: Likewise. * testsuite/30_threads/barrier/2.cc: Likewise. * testsuite/30_threads/condition_variable_any/stop_token/1.cc: Likewise. * testsuite/30_threads/condition_variable_any/stop_token/2.cc: Likewise. * testsuite/30_threads/jthread/1.cc: Likewise. * testsuite/30_threads/jthread/version.cc: Likewise. * testsuite/30_threads/latch/1.cc: Likewise. * testsuite/30_threads/latch/2.cc: Likewise. * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: Likewise. * testsuite/30_threads/semaphore/1.cc: Likewise. * testsuite/30_threads/semaphore/2.cc: Likewise. * testsuite/30_threads/stop_token/1.cc: Likewise. * testsuite/30_threads/stop_token/2.cc: Likewise. * testsuite/experimental/feat-char8_t.cc: Likewise. * testsuite/experimental/iterator/ostream_joiner.cc: Likewise. * testsuite/experimental/numeric/gcd.cc: Likewise. * testsuite/experimental/scopeguard/uniqueres.cc: Likewise. * testsuite/std/concepts/1.cc: Likewise. * testsuite/std/concepts/2.cc: Likewise. * testsuite/std/ranges/adaptors/as_const/1.cc: Likewise. * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise. * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise. * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise. * testsuite/std/ranges/adaptors/enumerate/1.cc: Likewise. * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise. * testsuite/std/ranges/adaptors/slide/1.cc: Likewise. * testsuite/std/ranges/adaptors/stride/1.cc: Likewise. * testsuite/std/ranges/cartesian_product/1.cc: Likewise. * testsuite/std/ranges/headers/ranges/synopsis.cc: Likewise. * testsuite/std/ranges/repeat/1.cc: Likewise. * testsuite/std/ranges/version_c++23.cc: Likewise. * testsuite/std/ranges/zip/1.cc: Likewise. * testsuite/std/time/syn_c++20.cc: Likewise. * testsuite/experimental/feat-cxx14.cc: Likewise. Include <algorithm> and <iterator>. * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust dg-error line numbers.
-rw-r--r--libstdc++-v3/testsuite/18_support/byte/requirements.cc1
-rw-r--r--libstdc++-v3/testsuite/18_support/destroying_delete.cc1
-rw-r--r--libstdc++-v3/testsuite/18_support/source_location/1.cc3
-rw-r--r--libstdc++-v3/testsuite/18_support/source_location/version.cc1
-rw-r--r--libstdc++-v3/testsuite/18_support/type_info/constexpr.cc1
-rw-r--r--libstdc++-v3/testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc1
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/stacktrace/output.cc1
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/stacktrace/synopsis.cc1
-rw-r--r--libstdc++-v3/testsuite/19_diagnostics/stacktrace/version.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/addressof/requirements/constexpr.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/allocator_traits/header-2.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/allocator_traits/header.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/as_const/1.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/bitset/cons/constexpr_c++23.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/bitset/version.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/duration/arithmetic/constexpr_c++17.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/duration_cast/rounding.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/exchange/constexpr.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/expected/synopsis.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/expected/version.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/function_objects/bind_front/1.cc8
-rw-r--r--libstdc++-v3/testsuite/20_util/function_objects/bind_front/2.cc12
-rw-r--r--libstdc++-v3/testsuite/20_util/function_objects/invoke/3.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/function_objects/invoke/4.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/function_objects/invoke/constexpr.cc5
-rw-r--r--libstdc++-v3/testsuite/20_util/function_objects/invoke/version.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/function_objects/searchers.cc16
-rw-r--r--libstdc++-v3/testsuite/20_util/integer_comparisons/1.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/integer_comparisons/2.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/is_bounded_array/value.cc8
-rw-r--r--libstdc++-v3/testsuite/20_util/is_layout_compatible/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_layout_compatible/version.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_swappable/value.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_swappable/value.h13
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc6
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc6
-rw-r--r--libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/value.cc4
-rw-r--r--libstdc++-v3/testsuite/20_util/is_pointer_interconvertible/value.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/is_pointer_interconvertible/version.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/is_scoped_enum/value.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/is_scoped_enum/version.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc6
-rw-r--r--libstdc++-v3/testsuite/20_util/is_swappable/requirements/typedefs.cc6
-rw-r--r--libstdc++-v3/testsuite/20_util/is_swappable/value.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/is_swappable/value.h13
-rw-r--r--libstdc++-v3/testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc6
-rw-r--r--libstdc++-v3/testsuite/20_util/is_swappable_with/requirements/typedefs.cc6
-rw-r--r--libstdc++-v3/testsuite/20_util/is_swappable_with/value.cc4
-rw-r--r--libstdc++-v3/testsuite/20_util/is_unbounded_array/value.cc4
-rw-r--r--libstdc++-v3/testsuite/20_util/move_only_function/cons.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/move_only_function/version.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/optional/monadic/and_then.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/optional/requirements.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/optional/version.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/owner_less/void.cc3
-rw-r--r--libstdc++-v3/testsuite/20_util/reference_from_temporary/value.cc8
-rw-r--r--libstdc++-v3/testsuite/20_util/reference_from_temporary/version.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/creation/array.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/creation/overwrite.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/creation/version.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/time_point_cast/rounding.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/to_chars/constexpr.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/to_chars/result.cc4
-rw-r--r--libstdc++-v3/testsuite/20_util/to_chars/version.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/to_underlying/1.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/to_underlying/version.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/apply/1.cc4
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/make_from_tuple/1.cc8
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/p2321r2.cc6
-rw-r--r--libstdc++-v3/testsuite/20_util/tuple/tuple_element_t.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/unique_ptr/creation/for_overwrite.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/unreachable/1.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/unreachable/version.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/unwrap_reference/1.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/unwrap_reference/3.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/variant/constexpr.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/variant/version.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/variant/visit_inherited.cc1
-rw-r--r--libstdc++-v3/testsuite/20_util/void_t/1.cc1
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/char/constexpr.cc1
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc1
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/erasure.cc4
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc31
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/version.cc2
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string/version.cc1
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string_view/operations/contains/char.cc1
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string_view/operations/contains/char/2.cc1
-rw-r--r--libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc1
-rw-r--r--libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc1
-rw-r--r--libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc1
-rw-r--r--libstdc++-v3/testsuite/21_strings/char_traits/requirements/version.cc1
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/comparison_operators/constexpr.cc3
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/creation/1.cc1
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/creation/2.cc1
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/element_access/constexpr_c++17.cc1
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/requirements/constexpr_fill.cc3
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/requirements/constexpr_iter.cc3
-rw-r--r--libstdc++-v3/testsuite/23_containers/array/tuple_interface/get_neg.cc6
-rw-r--r--libstdc++-v3/testsuite/23_containers/deque/erasure.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/forward_list/erasure.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/list/erasure.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/map/erasure.cc6
-rw-r--r--libstdc++-v3/testsuite/23_containers/queue/cons_from_iters.cc1
-rw-r--r--libstdc++-v3/testsuite/23_containers/set/erasure.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/span/1.cc1
-rw-r--r--libstdc++-v3/testsuite/23_containers/span/2.cc1
-rw-r--r--libstdc++-v3/testsuite/23_containers/stack/cons_from_iters.cc1
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/erasure.cc6
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_map/operations/1.cc1
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/erasure.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/unordered_set/operations/1.cc1
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/cons/constexpr.cc1
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/erasure.cc4
-rw-r--r--libstdc++-v3/testsuite/23_containers/vector/requirements/version.cc1
-rw-r--r--libstdc++-v3/testsuite/24_iterators/insert_iterator/constexpr.cc1
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/clamp/constexpr.cc8
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc6
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/constexpr_macro.cc1
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/cpp_lib_constexpr.cc1
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/fold_left/1.cc6
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-2.cc1
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-3.cc1
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-4.cc1
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-5.cc1
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/pstl/feature_test.cc1
-rw-r--r--libstdc++-v3/testsuite/26_numerics/bit/bit.byteswap/byteswap.cc1
-rw-r--r--libstdc++-v3/testsuite/26_numerics/bit/bit.byteswap/version.cc1
-rw-r--r--libstdc++-v3/testsuite/26_numerics/bit/bit.cast/bit_cast.cc1
-rw-r--r--libstdc++-v3/testsuite/26_numerics/bit/bit.cast/version.cc1
-rw-r--r--libstdc++-v3/testsuite/26_numerics/bit/header-2.cc1
-rw-r--r--libstdc++-v3/testsuite/26_numerics/bit/header.cc1
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/1.cc1
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/2.cc1
-rw-r--r--libstdc++-v3/testsuite/26_numerics/endian/2.cc1
-rw-r--r--libstdc++-v3/testsuite/26_numerics/endian/3.cc1
-rw-r--r--libstdc++-v3/testsuite/26_numerics/gcd/1.cc1
-rw-r--r--libstdc++-v3/testsuite/26_numerics/lcm/1.cc1
-rw-r--r--libstdc++-v3/testsuite/26_numerics/lerp/1.cc1
-rw-r--r--libstdc++-v3/testsuite/26_numerics/lerp/version.cc1
-rw-r--r--libstdc++-v3/testsuite/26_numerics/midpoint/integral.cc1
-rw-r--r--libstdc++-v3/testsuite/26_numerics/midpoint/version.cc1
-rw-r--r--libstdc++-v3/testsuite/26_numerics/numbers/1.cc1
-rw-r--r--libstdc++-v3/testsuite/26_numerics/numbers/2.cc1
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/native_handle/char/1.cc1
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/native_handle/version.cc1
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/noreplace.cc1
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc1
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_syncbuf/1.cc1
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_syncbuf/2.cc1
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_syncstream/1.cc1
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_syncstream/2.cc1
-rw-r--r--libstdc++-v3/testsuite/27_io/spanstream/1.cc1
-rw-r--r--libstdc++-v3/testsuite/27_io/spanstream/version.cc1
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/cons/value_init.cc1
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/lock_free_aliases.cc1
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/1.cc1
-rw-r--r--libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/2.cc1
-rw-r--r--libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/c_compat.cc1
-rw-r--r--libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/version.cc1
-rw-r--r--libstdc++-v3/testsuite/30_threads/barrier/1.cc1
-rw-r--r--libstdc++-v3/testsuite/30_threads/barrier/2.cc1
-rw-r--r--libstdc++-v3/testsuite/30_threads/condition_variable_any/stop_token/1.cc1
-rw-r--r--libstdc++-v3/testsuite/30_threads/condition_variable_any/stop_token/2.cc1
-rw-r--r--libstdc++-v3/testsuite/30_threads/jthread/1.cc1
-rw-r--r--libstdc++-v3/testsuite/30_threads/jthread/version.cc1
-rw-r--r--libstdc++-v3/testsuite/30_threads/latch/1.cc1
-rw-r--r--libstdc++-v3/testsuite/30_threads/latch/2.cc1
-rw-r--r--libstdc++-v3/testsuite/30_threads/scoped_lock/requirements/typedefs.cc2
-rw-r--r--libstdc++-v3/testsuite/30_threads/semaphore/1.cc1
-rw-r--r--libstdc++-v3/testsuite/30_threads/semaphore/2.cc1
-rw-r--r--libstdc++-v3/testsuite/30_threads/stop_token/1.cc1
-rw-r--r--libstdc++-v3/testsuite/30_threads/stop_token/2.cc1
-rw-r--r--libstdc++-v3/testsuite/experimental/feat-char8_t.cc1
-rw-r--r--libstdc++-v3/testsuite/experimental/feat-cxx14.cc3
-rw-r--r--libstdc++-v3/testsuite/experimental/iterator/ostream_joiner.cc6
-rw-r--r--libstdc++-v3/testsuite/experimental/numeric/gcd.cc4
-rw-r--r--libstdc++-v3/testsuite/experimental/scopeguard/uniqueres.cc4
-rw-r--r--libstdc++-v3/testsuite/std/concepts/1.cc1
-rw-r--r--libstdc++-v3/testsuite/std/concepts/2.cc1
-rw-r--r--libstdc++-v3/testsuite/std/ranges/adaptors/as_const/1.cc10
-rw-r--r--libstdc++-v3/testsuite/std/ranges/adaptors/as_rvalue/1.cc10
-rw-r--r--libstdc++-v3/testsuite/std/ranges/adaptors/chunk/1.cc10
-rw-r--r--libstdc++-v3/testsuite/std/ranges/adaptors/chunk_by/1.cc10
-rw-r--r--libstdc++-v3/testsuite/std/ranges/adaptors/enumerate/1.cc10
-rw-r--r--libstdc++-v3/testsuite/std/ranges/adaptors/join_with/1.cc10
-rw-r--r--libstdc++-v3/testsuite/std/ranges/adaptors/slide/1.cc10
-rw-r--r--libstdc++-v3/testsuite/std/ranges/adaptors/stride/1.cc8
-rw-r--r--libstdc++-v3/testsuite/std/ranges/cartesian_product/1.cc10
-rw-r--r--libstdc++-v3/testsuite/std/ranges/headers/ranges/synopsis.cc1
-rw-r--r--libstdc++-v3/testsuite/std/ranges/repeat/1.cc8
-rw-r--r--libstdc++-v3/testsuite/std/ranges/version_c++23.cc1
-rw-r--r--libstdc++-v3/testsuite/std/ranges/zip/1.cc10
-rw-r--r--libstdc++-v3/testsuite/std/time/syn_c++20.cc1
200 files changed, 366 insertions, 172 deletions
diff --git a/libstdc++-v3/testsuite/18_support/byte/requirements.cc b/libstdc++-v3/testsuite/18_support/byte/requirements.cc
index 1d3b269..1c62f76 100644
--- a/libstdc++-v3/testsuite/18_support/byte/requirements.cc
+++ b/libstdc++-v3/testsuite/18_support/byte/requirements.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++17 } }
+// { dg-add-options no_pch }
#include <cstddef>
diff --git a/libstdc++-v3/testsuite/18_support/destroying_delete.cc b/libstdc++-v3/testsuite/18_support/destroying_delete.cc
index 2ee9272..e6c5f28 100644
--- a/libstdc++-v3/testsuite/18_support/destroying_delete.cc
+++ b/libstdc++-v3/testsuite/18_support/destroying_delete.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do run { target c++20 } }
+// { dg-add-options no_pch }
#include <new>
#include <type_traits>
diff --git a/libstdc++-v3/testsuite/18_support/source_location/1.cc b/libstdc++-v3/testsuite/18_support/source_location/1.cc
index 48707b3..f89944c 100644
--- a/libstdc++-v3/testsuite/18_support/source_location/1.cc
+++ b/libstdc++-v3/testsuite/18_support/source_location/1.cc
@@ -20,6 +20,7 @@
// { dg-options "-include string -include stdexcept" }
// { dg-do run { target c++20 } }
+// { dg-add-options no_pch }
#include <source_location>
@@ -125,7 +126,7 @@ int main ()
member_defaulted_sl.member.file_name());
std::string_view member_defaulted_sl_fn_name(
member_defaulted_sl.member.function_name());
- VERIFY(member_defaulted_sl.member.line() == 46);
+ VERIFY(member_defaulted_sl.member.line() == 47);
// closing paren of constructor declaration
VERIFY(member_defaulted_sl.member.column() == 25);
VERIFY(member_defaulted_sl_fn_name.starts_with("s::s(int)"sv));
diff --git a/libstdc++-v3/testsuite/18_support/source_location/version.cc b/libstdc++-v3/testsuite/18_support/source_location/version.cc
index 8cb5902..8cf8c5b 100644
--- a/libstdc++-v3/testsuite/18_support/source_location/version.cc
+++ b/libstdc++-v3/testsuite/18_support/source_location/version.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do preprocess { target c++20 } }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/18_support/type_info/constexpr.cc b/libstdc++-v3/testsuite/18_support/type_info/constexpr.cc
index 9390aa4..bb4bb44 100644
--- a/libstdc++-v3/testsuite/18_support/type_info/constexpr.cc
+++ b/libstdc++-v3/testsuite/18_support/type_info/constexpr.cc
@@ -1,6 +1,7 @@
// { dg-options "-frtti" }
// { dg-do compile { target c++23 } }
// { dg-additional-options "-fdelete-null-pointer-checks" }
+// { dg-add-options no_pch }
#include <typeinfo>
diff --git a/libstdc++-v3/testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc b/libstdc++-v3/testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc
index 7f3ddf0..405f81c 100644
--- a/libstdc++-v3/testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc
+++ b/libstdc++-v3/testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do run { target c++17 } }
+// { dg-add-options no_pch }
#include <cassert>
#include <exception>
diff --git a/libstdc++-v3/testsuite/19_diagnostics/stacktrace/output.cc b/libstdc++-v3/testsuite/19_diagnostics/stacktrace/output.cc
index 35389ec..4960ccb 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/stacktrace/output.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/stacktrace/output.cc
@@ -1,5 +1,6 @@
// { dg-do compile { target c++23 } }
// { dg-require-effective-target stacktrace }
+// { dg-add-options no_pch }
#include <stacktrace>
#include <sstream>
diff --git a/libstdc++-v3/testsuite/19_diagnostics/stacktrace/synopsis.cc b/libstdc++-v3/testsuite/19_diagnostics/stacktrace/synopsis.cc
index 5e32527..9e775b8 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/stacktrace/synopsis.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/stacktrace/synopsis.cc
@@ -1,6 +1,7 @@
// { dg-do compile { target c++23 } }
// { dg-require-effective-target stacktrace }
// { dg-require-normal-namespace "" }
+// { dg-add-options no_pch }
#include <stacktrace>
diff --git a/libstdc++-v3/testsuite/19_diagnostics/stacktrace/version.cc b/libstdc++-v3/testsuite/19_diagnostics/stacktrace/version.cc
index ecfaf41..21c2d48 100644
--- a/libstdc++-v3/testsuite/19_diagnostics/stacktrace/version.cc
+++ b/libstdc++-v3/testsuite/19_diagnostics/stacktrace/version.cc
@@ -1,5 +1,6 @@
// { dg-do preprocess { target c++23 } }
// { dg-require-effective-target stacktrace }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/20_util/addressof/requirements/constexpr.cc b/libstdc++-v3/testsuite/20_util/addressof/requirements/constexpr.cc
index bc024d6..38c4f04 100644
--- a/libstdc++-v3/testsuite/20_util/addressof/requirements/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/addressof/requirements/constexpr.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++17 } }
+// { dg-add-options no_pch }
#include <utility>
diff --git a/libstdc++-v3/testsuite/20_util/allocator_traits/header-2.cc b/libstdc++-v3/testsuite/20_util/allocator_traits/header-2.cc
index 9393d8a..0ebef20 100644
--- a/libstdc++-v3/testsuite/20_util/allocator_traits/header-2.cc
+++ b/libstdc++-v3/testsuite/20_util/allocator_traits/header-2.cc
@@ -17,6 +17,7 @@
// { dg-do compile { target c++20 } }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/20_util/allocator_traits/header.cc b/libstdc++-v3/testsuite/20_util/allocator_traits/header.cc
index 4a88aba..de9327f 100644
--- a/libstdc++-v3/testsuite/20_util/allocator_traits/header.cc
+++ b/libstdc++-v3/testsuite/20_util/allocator_traits/header.cc
@@ -17,6 +17,7 @@
// { dg-do compile { target c++20 } }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <memory>
diff --git a/libstdc++-v3/testsuite/20_util/as_const/1.cc b/libstdc++-v3/testsuite/20_util/as_const/1.cc
index bcff9f7..eae3401 100644
--- a/libstdc++-v3/testsuite/20_util/as_const/1.cc
+++ b/libstdc++-v3/testsuite/20_util/as_const/1.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++17 } }
+// { dg-add-options no_pch }
#include <utility>
diff --git a/libstdc++-v3/testsuite/20_util/bitset/cons/constexpr_c++23.cc b/libstdc++-v3/testsuite/20_util/bitset/cons/constexpr_c++23.cc
index 871d17d..7e2eba5 100644
--- a/libstdc++-v3/testsuite/20_util/bitset/cons/constexpr_c++23.cc
+++ b/libstdc++-v3/testsuite/20_util/bitset/cons/constexpr_c++23.cc
@@ -1,6 +1,7 @@
// { dg-do compile { target c++23 } }
// This test relies on std::string.
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <bitset>
diff --git a/libstdc++-v3/testsuite/20_util/bitset/version.cc b/libstdc++-v3/testsuite/20_util/bitset/version.cc
index 1badb29..8117092 100644
--- a/libstdc++-v3/testsuite/20_util/bitset/version.cc
+++ b/libstdc++-v3/testsuite/20_util/bitset/version.cc
@@ -1,5 +1,6 @@
// { dg-do preprocess { target c++23 } }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/20_util/duration/arithmetic/constexpr_c++17.cc b/libstdc++-v3/testsuite/20_util/duration/arithmetic/constexpr_c++17.cc
index 6fe5475..d06c5c8 100644
--- a/libstdc++-v3/testsuite/20_util/duration/arithmetic/constexpr_c++17.cc
+++ b/libstdc++-v3/testsuite/20_util/duration/arithmetic/constexpr_c++17.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++17 } }
+// { dg-add-options no_pch }
// Copyright (C) 2011-2023 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/20_util/duration_cast/rounding.cc b/libstdc++-v3/testsuite/20_util/duration_cast/rounding.cc
index 0be5191..77c3497 100644
--- a/libstdc++-v3/testsuite/20_util/duration_cast/rounding.cc
+++ b/libstdc++-v3/testsuite/20_util/duration_cast/rounding.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++17 } }
+// { dg-add-options no_pch }
#include <chrono>
diff --git a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc
index bd15732..fd47e83 100644
--- a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc
+++ b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc
@@ -17,6 +17,7 @@
// { dg-do run { target c++17 } }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <memory>
#include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/20_util/exchange/constexpr.cc b/libstdc++-v3/testsuite/20_util/exchange/constexpr.cc
index 2a7d792..3c68718 100644
--- a/libstdc++-v3/testsuite/20_util/exchange/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/exchange/constexpr.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <utility>
diff --git a/libstdc++-v3/testsuite/20_util/expected/synopsis.cc b/libstdc++-v3/testsuite/20_util/expected/synopsis.cc
index 237754d..a0d2d5b 100644
--- a/libstdc++-v3/testsuite/20_util/expected/synopsis.cc
+++ b/libstdc++-v3/testsuite/20_util/expected/synopsis.cc
@@ -1,5 +1,6 @@
// { dg-do compile { target c++23 } }
// { dg-require-normal-namespace "" }
+// { dg-add-options no_pch }
#include <expected>
diff --git a/libstdc++-v3/testsuite/20_util/expected/version.cc b/libstdc++-v3/testsuite/20_util/expected/version.cc
index b592e64..6deaa68 100644
--- a/libstdc++-v3/testsuite/20_util/expected/version.cc
+++ b/libstdc++-v3/testsuite/20_util/expected/version.cc
@@ -1,4 +1,5 @@
// { dg-do preprocess { target c++23 } }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/bind_front/1.cc b/libstdc++-v3/testsuite/20_util/function_objects/bind_front/1.cc
index 8a8c11a..3baa721 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/bind_front/1.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/bind_front/1.cc
@@ -16,16 +16,18 @@
// <http://www.gnu.org/licenses/>.
// { dg-do run { target c++20 } }
+// { dg-add-options no_pch }
#include <functional>
-#include <testsuite_hooks.h>
#ifndef __cpp_lib_bind_front
-# error "Feature test macro for bind_front is missing"
+# error "Feature test macro for bind_front is missing in <functional>"
#elif __cpp_lib_bind_front < 201902L
-# error "Feature test macro for bind_front has wrong value"
+# error "Feature test macro for bind_front has wrong value in <functional>"
#endif
+#include <testsuite_hooks.h>
+
using std::bind_front;
using std::is_same_v;
using std::is_invocable_v;
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/bind_front/2.cc b/libstdc++-v3/testsuite/20_util/function_objects/bind_front/2.cc
index 0ea8926..7d34937 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/bind_front/2.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/bind_front/2.cc
@@ -16,20 +16,22 @@
// <http://www.gnu.org/licenses/>.
// { dg-do run { target c++20 } }
+// { dg-add-options no_pch }
#include <functional>
-#include <memory>
-#include <string>
-#include <testsuite_hooks.h>
// P1651R0 bind_front should not unwrap reference_wrapper
#ifndef __cpp_lib_bind_front
-# error "Feature test macro for bind_front is missing"
+# error "Feature test macro for bind_front is missing in <functional>"
#elif __cpp_lib_bind_front < 201907L
-# error "Feature test macro for bind_front has wrong value"
+# error "Feature test macro for bind_front has wrong value in <functional>"
#endif
+#include <memory>
+#include <string>
+#include <testsuite_hooks.h>
+
void functionAcceptingStringView(std::string_view) { }
void
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/invoke/3.cc b/libstdc++-v3/testsuite/20_util/function_objects/invoke/3.cc
index 1a4c932..6cb0875 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/invoke/3.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/invoke/3.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++17 } }
+// { dg-add-options no_pch }
#include <functional>
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/invoke/4.cc b/libstdc++-v3/testsuite/20_util/function_objects/invoke/4.cc
index 38367f7..9356a40 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/invoke/4.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/invoke/4.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++23 } }
+// { dg-add-options no_pch }
#include <functional>
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/invoke/constexpr.cc b/libstdc++-v3/testsuite/20_util/function_objects/invoke/constexpr.cc
index 122e211..4e13e87 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/invoke/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/invoke/constexpr.cc
@@ -16,13 +16,14 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <functional>
#ifndef __cpp_lib_constexpr_functional
-# error "Feature test macro for constexpr invoke is missing"
+# error "Feature test macro for constexpr invoke is missing in <functional>"
#elif __cpp_lib_constexpr_functional < 201907L
-# error "Feature test macro for constexpr invoke has wrong value"
+# error "Feature test macro for constexpr invoke has wrong value in <functional>"
#endif
constexpr int inc(int i) { return i + 1; }
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/invoke/version.cc b/libstdc++-v3/testsuite/20_util/function_objects/invoke/version.cc
index 2dc71ae..cdd5505 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/invoke/version.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/invoke/version.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++17 } }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/20_util/function_objects/searchers.cc b/libstdc++-v3/testsuite/20_util/function_objects/searchers.cc
index 6f1a8dd..eb9f49f 100644
--- a/libstdc++-v3/testsuite/20_util/function_objects/searchers.cc
+++ b/libstdc++-v3/testsuite/20_util/function_objects/searchers.cc
@@ -16,22 +16,24 @@
// <http://www.gnu.org/licenses/>.
// { dg-do run { target c++17 } }
+// { dg-add-options no_pch }
#include <functional>
-#include <string_view>
-#include <cstring>
-#include <cctype>
-#include <algorithm>
-#include <testsuite_hooks.h>
#if __STDC_HOSTED__
# ifndef __cpp_lib_boyer_moore_searcher
-# error "Feature-test macro for searchers missing"
+# error "Feature-test macro for searchers missing in <functional>"
# elif __cpp_lib_boyer_moore_searcher < 201603
-# error "Feature-test macro for searchers has wrong value"
+# error "Feature-test macro for searchers has wrong value in <functional>"
# endif
#endif // HOSTED
+#include <string_view>
+#include <cstring>
+#include <cctype>
+#include <algorithm>
+#include <testsuite_hooks.h>
+
using std::default_searcher;
#if __STDC_HOSTED__
using std::boyer_moore_searcher;
diff --git a/libstdc++-v3/testsuite/20_util/integer_comparisons/1.cc b/libstdc++-v3/testsuite/20_util/integer_comparisons/1.cc
index 245fec9..585d8a1 100644
--- a/libstdc++-v3/testsuite/20_util/integer_comparisons/1.cc
+++ b/libstdc++-v3/testsuite/20_util/integer_comparisons/1.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do preprocess { target c++20 } }
+// { dg-add-options no_pch }
#include <utility>
diff --git a/libstdc++-v3/testsuite/20_util/integer_comparisons/2.cc b/libstdc++-v3/testsuite/20_util/integer_comparisons/2.cc
index 3e2bf57..3979e16 100644
--- a/libstdc++-v3/testsuite/20_util/integer_comparisons/2.cc
+++ b/libstdc++-v3/testsuite/20_util/integer_comparisons/2.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do preprocess { target c++20 } }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/20_util/is_bounded_array/value.cc b/libstdc++-v3/testsuite/20_util/is_bounded_array/value.cc
index dd417cf..4c7d848 100644
--- a/libstdc++-v3/testsuite/20_util/is_bounded_array/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_bounded_array/value.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
// Copyright (C) 2019-2023 Free Software Foundation, Inc.
//
@@ -18,14 +19,15 @@
// <http://www.gnu.org/licenses/>.
#include <type_traits>
-#include <testsuite_tr1.h>
#ifndef __cpp_lib_bounded_array_traits
-# error "Feature test macro for is_bounded_array is missing"
+# error "Feature test macro for is_bounded_array is missing in <type_traits>"
#elif __cpp_lib_bounded_array_traits < 201902L
-# error "Feature test macro for is_bounded_array has wrong value"
+# error "Feature test macro for is_bounded_array has wrong value in <type_traits>"
#endif
+#include <testsuite_tr1.h>
+
void test01()
{
using std::is_bounded_array;
diff --git a/libstdc++-v3/testsuite/20_util/is_layout_compatible/value.cc b/libstdc++-v3/testsuite/20_util/is_layout_compatible/value.cc
index 6232f6a..51ca384 100644
--- a/libstdc++-v3/testsuite/20_util/is_layout_compatible/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_layout_compatible/value.cc
@@ -1,4 +1,6 @@
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
+
#include <type_traits>
#ifndef __cpp_lib_is_layout_compatible
diff --git a/libstdc++-v3/testsuite/20_util/is_layout_compatible/version.cc b/libstdc++-v3/testsuite/20_util/is_layout_compatible/version.cc
index be6079d..d44442e 100644
--- a/libstdc++-v3/testsuite/20_util/is_layout_compatible/version.cc
+++ b/libstdc++-v3/testsuite/20_util/is_layout_compatible/version.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc
index 87695bc..27268ee 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++17 } }
+// { dg-add-options no_pch }
// Copyright (C) 2015-2023 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc
index ac39c8c..c5d4afb 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++17 } }
+// { dg-add-options no_pch }
// Copyright (C) 2015-2023 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/value.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/value.cc
index 247daf2..185f4aa 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/value.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++17 } }
+// { dg-add-options no_pch }
// Copyright (C) 2015-2023 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/value.h b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/value.h
index 45cee69..fa5a642 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/value.h
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable/value.h
@@ -16,12 +16,6 @@
// <http://www.gnu.org/licenses/>.
#include <type_traits>
-#include <testsuite_tr1.h>
-#include <utility>
-#include <array>
-#include <tuple>
-#include <queue>
-#include <stack>
#if defined(test_std_is_nothrow_swappable)
# ifndef __cpp_lib_is_swappable
@@ -41,6 +35,13 @@ using is_nothrow_swappable = std::__is_nothrow_swappable<T>;
"test_std_is_nothrow_swappable_ext need to be defined"
#endif
+#include <utility>
+#include <array>
+#include <tuple>
+#include <queue>
+#include <stack>
+#include <testsuite_tr1.h>
+
namespace funny {
struct F {};
void swap(F&, F&) = delete;
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc
index aa2bade..1b0dc1e 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc
@@ -19,12 +19,6 @@
#include <type_traits>
-#ifndef __cpp_lib_is_swappable
-# error "Feature-test macro for is_nothrow_swappable_with missing"
-#elif __cpp_lib_is_swappable != 201603
-# error "Feature-test macro for is_nothrow_swappable_with has wrong value"
-#endif
-
namespace std
{
typedef short test_type;
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc
index f90f19c..509b5e7 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc
@@ -19,12 +19,6 @@
#include <type_traits>
-#ifndef __cpp_lib_is_swappable
-# error "Feature-test macro for is_nothrow_swappable_with missing"
-#elif __cpp_lib_is_swappable != 201603
-# error "Feature-test macro for is_nothrow_swappable_with has wrong value"
-#endif
-
void test01()
{
// Check for required typedefs
diff --git a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/value.cc b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/value.cc
index 50fa297..b138f84 100644
--- a/libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_nothrow_swappable_with/value.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++17 } }
+// { dg-add-options no_pch }
// Copyright (C) 2016-2023 Free Software Foundation, Inc.
//
@@ -18,7 +19,6 @@
// <http://www.gnu.org/licenses/>.
#include <type_traits>
-#include <testsuite_tr1.h>
#ifndef __cpp_lib_is_swappable
# error "Feature-test macro for is_nothrow_swappable_with missing"
@@ -26,6 +26,8 @@
# error "Feature-test macro for is_nothrow_swappable_with has wrong value"
#endif
+#include <testsuite_tr1.h>
+
namespace funny {
struct T0 {};
diff --git a/libstdc++-v3/testsuite/20_util/is_pointer_interconvertible/value.cc b/libstdc++-v3/testsuite/20_util/is_pointer_interconvertible/value.cc
index fb4652d..4d67c8c 100644
--- a/libstdc++-v3/testsuite/20_util/is_pointer_interconvertible/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_pointer_interconvertible/value.cc
@@ -1,4 +1,6 @@
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
+
#include <type_traits>
#ifndef __cpp_lib_is_pointer_interconvertible
diff --git a/libstdc++-v3/testsuite/20_util/is_pointer_interconvertible/version.cc b/libstdc++-v3/testsuite/20_util/is_pointer_interconvertible/version.cc
index 8288223..9347cc0 100644
--- a/libstdc++-v3/testsuite/20_util/is_pointer_interconvertible/version.cc
+++ b/libstdc++-v3/testsuite/20_util/is_pointer_interconvertible/version.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/20_util/is_scoped_enum/value.cc b/libstdc++-v3/testsuite/20_util/is_scoped_enum/value.cc
index 43dc03b..9f3bd02 100644
--- a/libstdc++-v3/testsuite/20_util/is_scoped_enum/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_scoped_enum/value.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++23 } }
+// { dg-add-options no_pch }
#include <type_traits>
diff --git a/libstdc++-v3/testsuite/20_util/is_scoped_enum/version.cc b/libstdc++-v3/testsuite/20_util/is_scoped_enum/version.cc
index 698cb48..7ef8a25 100644
--- a/libstdc++-v3/testsuite/20_util/is_scoped_enum/version.cc
+++ b/libstdc++-v3/testsuite/20_util/is_scoped_enum/version.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++23 } }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc
index ad3e12e..0d47bd5 100644
--- a/libstdc++-v3/testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc
@@ -19,12 +19,6 @@
#include <type_traits>
-#ifndef __cpp_lib_is_swappable
-# error "Feature-test macro for is_swappable missing"
-#elif __cpp_lib_is_swappable != 201603
-# error "Feature-test macro for is_swappable has wrong value"
-#endif
-
namespace std
{
typedef short test_type;
diff --git a/libstdc++-v3/testsuite/20_util/is_swappable/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_swappable/requirements/typedefs.cc
index 3356d08..ac74247 100644
--- a/libstdc++-v3/testsuite/20_util/is_swappable/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_swappable/requirements/typedefs.cc
@@ -19,12 +19,6 @@
#include <type_traits>
-#ifndef __cpp_lib_is_swappable
-# error "Feature-test macro for is_swappable missing"
-#elif __cpp_lib_is_swappable != 201603
-# error "Feature-test macro for is_swappable has wrong value"
-#endif
-
void test01()
{
// Check for required typedefs
diff --git a/libstdc++-v3/testsuite/20_util/is_swappable/value.cc b/libstdc++-v3/testsuite/20_util/is_swappable/value.cc
index ac87539..6b3ee18 100644
--- a/libstdc++-v3/testsuite/20_util/is_swappable/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_swappable/value.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++17 } }
+// { dg-add-options no_pch }
// Copyright (C) 2015-2023 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/20_util/is_swappable/value.h b/libstdc++-v3/testsuite/20_util/is_swappable/value.h
index c532c83..210509a 100644
--- a/libstdc++-v3/testsuite/20_util/is_swappable/value.h
+++ b/libstdc++-v3/testsuite/20_util/is_swappable/value.h
@@ -16,12 +16,6 @@
// <http://www.gnu.org/licenses/>.
#include <type_traits>
-#include <testsuite_tr1.h>
-#include <utility>
-#include <array>
-#include <tuple>
-#include <queue>
-#include <stack>
#if defined(test_std_is_swappable)
# ifndef __cpp_lib_is_swappable
@@ -41,6 +35,13 @@ using is_swappable = std::__is_swappable<T>;
"need to be defined"
#endif
+#include <utility>
+#include <array>
+#include <tuple>
+#include <queue>
+#include <stack>
+#include <testsuite_tr1.h>
+
namespace funny {
struct F {};
void swap(F&, F&) = delete;
diff --git a/libstdc++-v3/testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc b/libstdc++-v3/testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc
index 1f3bc6b..c1c90ae 100644
--- a/libstdc++-v3/testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc
+++ b/libstdc++-v3/testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc
@@ -19,12 +19,6 @@
#include <type_traits>
-#ifndef __cpp_lib_is_swappable
-# error "Feature-test macro for is_swappable_with missing"
-#elif __cpp_lib_is_swappable != 201603
-# error "Feature-test macro for is_swappable_with has wrong value"
-#endif
-
namespace std
{
typedef short test_type;
diff --git a/libstdc++-v3/testsuite/20_util/is_swappable_with/requirements/typedefs.cc b/libstdc++-v3/testsuite/20_util/is_swappable_with/requirements/typedefs.cc
index d7354e7..8fc3b9a 100644
--- a/libstdc++-v3/testsuite/20_util/is_swappable_with/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/20_util/is_swappable_with/requirements/typedefs.cc
@@ -19,12 +19,6 @@
#include <type_traits>
-#ifndef __cpp_lib_is_swappable
-# error "Feature-test macro for is_swappable_with missing"
-#elif __cpp_lib_is_swappable != 201603
-# error "Feature-test macro for is_swappable_with has wrong value"
-#endif
-
void test01()
{
// Check for required typedefs
diff --git a/libstdc++-v3/testsuite/20_util/is_swappable_with/value.cc b/libstdc++-v3/testsuite/20_util/is_swappable_with/value.cc
index c529448..51ee09a 100644
--- a/libstdc++-v3/testsuite/20_util/is_swappable_with/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_swappable_with/value.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++17 } }
+// { dg-add-options no_pch }
// Copyright (C) 2016-2023 Free Software Foundation, Inc.
//
@@ -18,7 +19,6 @@
// <http://www.gnu.org/licenses/>.
#include <type_traits>
-#include <testsuite_tr1.h>
#ifndef __cpp_lib_is_swappable
# error "Feature-test macro for is_swappable_with missing"
@@ -26,6 +26,8 @@
# error "Feature-test macro for is_swappable_with has wrong value"
#endif
+#include <testsuite_tr1.h>
+
namespace funny {
struct T0 {};
diff --git a/libstdc++-v3/testsuite/20_util/is_unbounded_array/value.cc b/libstdc++-v3/testsuite/20_util/is_unbounded_array/value.cc
index 495e1e9..7c0b422 100644
--- a/libstdc++-v3/testsuite/20_util/is_unbounded_array/value.cc
+++ b/libstdc++-v3/testsuite/20_util/is_unbounded_array/value.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
// Copyright (C) 2019-2023 Free Software Foundation, Inc.
//
@@ -18,7 +19,6 @@
// <http://www.gnu.org/licenses/>.
#include <type_traits>
-#include <testsuite_tr1.h>
#ifndef __cpp_lib_bounded_array_traits
# error "Feature test macro for is_unbounded_array is missing"
@@ -26,6 +26,8 @@
# error "Feature test macro for is_unbounded_array has wrong value"
#endif
+#include <testsuite_tr1.h>
+
void test01()
{
using std::is_unbounded_array;
diff --git a/libstdc++-v3/testsuite/20_util/move_only_function/cons.cc b/libstdc++-v3/testsuite/20_util/move_only_function/cons.cc
index ffe2398..5498f42 100644
--- a/libstdc++-v3/testsuite/20_util/move_only_function/cons.cc
+++ b/libstdc++-v3/testsuite/20_util/move_only_function/cons.cc
@@ -1,5 +1,6 @@
// { dg-do compile { target c++23 } }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <functional>
diff --git a/libstdc++-v3/testsuite/20_util/move_only_function/version.cc b/libstdc++-v3/testsuite/20_util/move_only_function/version.cc
index b051a63..7721141 100644
--- a/libstdc++-v3/testsuite/20_util/move_only_function/version.cc
+++ b/libstdc++-v3/testsuite/20_util/move_only_function/version.cc
@@ -1,5 +1,6 @@
// { dg-do compile { target c++23 } }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/20_util/optional/monadic/and_then.cc b/libstdc++-v3/testsuite/20_util/optional/monadic/and_then.cc
index a969ca5..dd392e2 100644
--- a/libstdc++-v3/testsuite/20_util/optional/monadic/and_then.cc
+++ b/libstdc++-v3/testsuite/20_util/optional/monadic/and_then.cc
@@ -1,4 +1,5 @@
// { dg-do run { target c++23 } }
+// { dg-add-options no_pch }
#include <optional>
diff --git a/libstdc++-v3/testsuite/20_util/optional/requirements.cc b/libstdc++-v3/testsuite/20_util/optional/requirements.cc
index 3edfb5c..cb523c8 100644
--- a/libstdc++-v3/testsuite/20_util/optional/requirements.cc
+++ b/libstdc++-v3/testsuite/20_util/optional/requirements.cc
@@ -1,4 +1,5 @@
// { dg-do run { target c++17 } }
+// { dg-add-options no_pch }
// Copyright (C) 2013-2023 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/20_util/optional/version.cc b/libstdc++-v3/testsuite/20_util/optional/version.cc
index 2fd52f7..7e63d42 100644
--- a/libstdc++-v3/testsuite/20_util/optional/version.cc
+++ b/libstdc++-v3/testsuite/20_util/optional/version.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++17 } }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/20_util/owner_less/void.cc b/libstdc++-v3/testsuite/20_util/owner_less/void.cc
index 3c86eda..e5de0bf 100644
--- a/libstdc++-v3/testsuite/20_util/owner_less/void.cc
+++ b/libstdc++-v3/testsuite/20_util/owner_less/void.cc
@@ -17,13 +17,14 @@
// { dg-do compile { target c++11 } }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <memory>
#if __cplusplus >= 201402L
// The feature-test macro is only defined for C++14 and later.
# if __cpp_lib_transparent_operators < 201510
-# error "__cpp_lib_transparent_operators < 201510"
+# error "__cpp_lib_transparent_operators < 201510 in <memory>"
# endif
#endif
diff --git a/libstdc++-v3/testsuite/20_util/reference_from_temporary/value.cc b/libstdc++-v3/testsuite/20_util/reference_from_temporary/value.cc
index 2df559b..877c1c93 100644
--- a/libstdc++-v3/testsuite/20_util/reference_from_temporary/value.cc
+++ b/libstdc++-v3/testsuite/20_util/reference_from_temporary/value.cc
@@ -16,16 +16,18 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++23 } }
+// { dg-add-options no_pch }
#include <type_traits>
-#include <testsuite_tr1.h>
#ifndef __cpp_lib_reference_from_temporary
-# error "Feature test macro for reference_from_temporary is missing in <version>"
+# error "Feature test macro for reference_from_temporary is missing in <type_traits>"
#elif __cpp_lib_reference_from_temporary < 202202L
-# error "Feature test macro for reference_from_temporary has wrong value in <version>"
+# error "Feature test macro for reference_from_temporary has wrong value in <type_traits>"
#endif
+#include <testsuite_tr1.h>
+
void test01()
{
using std::reference_constructs_from_temporary;
diff --git a/libstdc++-v3/testsuite/20_util/reference_from_temporary/version.cc b/libstdc++-v3/testsuite/20_util/reference_from_temporary/version.cc
index 7f42c19..761b950 100644
--- a/libstdc++-v3/testsuite/20_util/reference_from_temporary/version.cc
+++ b/libstdc++-v3/testsuite/20_util/reference_from_temporary/version.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++23 } }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc
index 6f790ac..e972f8a 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc
@@ -2,6 +2,7 @@
// { dg-require-effective-target gthreads }
// { dg-additional-options "-pthread" { target pthread } }
// { dg-add-options libatomic }
+// { dg-add-options no_pch }
#include <memory>
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/array.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/array.cc
index 5340362..5062a3d 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/array.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/array.cc
@@ -1,4 +1,5 @@
// { dg-do run { target c++20 } }
+// { dg-add-options no_pch }
// C++20 20.11.3.7 shared_ptr Creation [util.smartptr.shared.create]
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/overwrite.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/overwrite.cc
index d78ee69..5b8af32 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/overwrite.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/overwrite.cc
@@ -1,6 +1,7 @@
// { dg-options "-fno-lifetime-dse -O0" }
// { dg-do run { target c++20 } }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
// C++20 20.11.3.7 shared_ptr Creation [util.smartptr.shared.create]
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/version.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/version.cc
index 9c0fc5d..bc83c33 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/version.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/version.cc
@@ -1,5 +1,6 @@
// { dg-do preprocess { target c++20 } }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
// C++20 20.11.3.7 shared_ptr Creation [util.smartptr.shared.create]
diff --git a/libstdc++-v3/testsuite/20_util/time_point_cast/rounding.cc b/libstdc++-v3/testsuite/20_util/time_point_cast/rounding.cc
index ae1ee68..43d902f 100644
--- a/libstdc++-v3/testsuite/20_util/time_point_cast/rounding.cc
+++ b/libstdc++-v3/testsuite/20_util/time_point_cast/rounding.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++17 } }
+// { dg-add-options no_pch }
#include <chrono>
diff --git a/libstdc++-v3/testsuite/20_util/to_chars/constexpr.cc b/libstdc++-v3/testsuite/20_util/to_chars/constexpr.cc
index e51ea4d..86b01ee 100644
--- a/libstdc++-v3/testsuite/20_util/to_chars/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/to_chars/constexpr.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++23 } }
+// { dg-add-options no_pch }
#include <charconv>
diff --git a/libstdc++-v3/testsuite/20_util/to_chars/result.cc b/libstdc++-v3/testsuite/20_util/to_chars/result.cc
index 5284680..c101053 100644
--- a/libstdc++-v3/testsuite/20_util/to_chars/result.cc
+++ b/libstdc++-v3/testsuite/20_util/to_chars/result.cc
@@ -1,12 +1,14 @@
// { dg-do run { target c++26 } }
+// { dg-add-options no_pch }
#include <charconv>
-#include <testsuite_hooks.h>
#if defined(__cpp_lib_to_chars) && __cpp_lib_to_chars < 202306L
# error "Feature-test macro for std::to_chars has wrong value in <charconv>"
#endif
+#include <testsuite_hooks.h>
+
void
test_result()
{
diff --git a/libstdc++-v3/testsuite/20_util/to_chars/version.cc b/libstdc++-v3/testsuite/20_util/to_chars/version.cc
index df1804e..41bb35b 100644
--- a/libstdc++-v3/testsuite/20_util/to_chars/version.cc
+++ b/libstdc++-v3/testsuite/20_util/to_chars/version.cc
@@ -1,5 +1,6 @@
// { dg-do preprocess { target c++23 } }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/20_util/to_underlying/1.cc b/libstdc++-v3/testsuite/20_util/to_underlying/1.cc
index c970238..520f3f4 100644
--- a/libstdc++-v3/testsuite/20_util/to_underlying/1.cc
+++ b/libstdc++-v3/testsuite/20_util/to_underlying/1.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++23 } }
+// { dg-add-options no_pch }
#include <utility>
diff --git a/libstdc++-v3/testsuite/20_util/to_underlying/version.cc b/libstdc++-v3/testsuite/20_util/to_underlying/version.cc
index f800d7c..0002eb8 100644
--- a/libstdc++-v3/testsuite/20_util/to_underlying/version.cc
+++ b/libstdc++-v3/testsuite/20_util/to_underlying/version.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++23 } }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/20_util/tuple/apply/1.cc b/libstdc++-v3/testsuite/20_util/tuple/apply/1.cc
index 3967840..7863e28 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/apply/1.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/apply/1.cc
@@ -16,14 +16,16 @@
// <http://www.gnu.org/licenses/>.
// { dg-do run { target c++17 } }
+// { dg-add-options no_pch }
#include <tuple>
-#include <testsuite_hooks.h>
#if __cpp_lib_apply < 201603
# error "__cpp_lib_apply < 201603"
#endif
+#include <testsuite_hooks.h>
+
void
test01()
{
diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc
index 8f672c9..5e84303 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc
@@ -1,6 +1,7 @@
// { dg-do compile { target c++20 } }
// FIXME [!HOSTED]: avoidable std::allocator usage
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
//
// Copyright (C) 2019-2023 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/20_util/tuple/make_from_tuple/1.cc b/libstdc++-v3/testsuite/20_util/tuple/make_from_tuple/1.cc
index bacb401..a1fac7d 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/make_from_tuple/1.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/make_from_tuple/1.cc
@@ -16,16 +16,18 @@
// <http://www.gnu.org/licenses/>.
// { dg-do run { target c++17 } }
+// { dg-add-options no_pch }
#include <tuple>
-#include <testsuite_hooks.h>
#ifndef __cpp_lib_make_from_tuple
-# error "Feature-test macro for make_from_tuple missing."
+# error "Feature-test macro for make_from_tuple missing in <tuple>"
#elif __cpp_lib_make_from_tuple < 201606
-# error "Feature-test macro for make_from_tuple has the wrong value."
+# error "Feature-test macro for make_from_tuple has the wrong value in <tuple>"
#endif
+#include <testsuite_hooks.h>
+
template <class T, class U, class V>
struct ThreeParam
{
diff --git a/libstdc++-v3/testsuite/20_util/tuple/p2321r2.cc b/libstdc++-v3/testsuite/20_util/tuple/p2321r2.cc
index 774968d..1d04ab0 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/p2321r2.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/p2321r2.cc
@@ -2,15 +2,17 @@
// { dg-do run { target c++23 } }
// FIXME [!HOSTED]: avoidable std::allocator usage
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <tuple>
-#include <memory>
-#include <testsuite_hooks.h>
#if __cpp_lib_ranges_zip != 202110L
# error "Feature-test macro __cpp_lib_ranges_zip has wrong value in <tuple>"
#endif
+#include <memory>
+#include <testsuite_hooks.h>
+
using std::tuple;
using std::pair;
using std::allocator;
diff --git a/libstdc++-v3/testsuite/20_util/tuple/tuple_element_t.cc b/libstdc++-v3/testsuite/20_util/tuple/tuple_element_t.cc
index 7962428..78e5ef8 100644
--- a/libstdc++-v3/testsuite/20_util/tuple/tuple_element_t.cc
+++ b/libstdc++-v3/testsuite/20_util/tuple/tuple_element_t.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++14 } }
+// { dg-add-options no_pch }
// Copyright (C) 2014-2023 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc
index 02cbd92..3c6957c 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++23 } }
+// { dg-add-options no_pch }
#include <memory>
diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/creation/for_overwrite.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/creation/for_overwrite.cc
index 37ef1b73..8976e6b 100644
--- a/libstdc++-v3/testsuite/20_util/unique_ptr/creation/for_overwrite.cc
+++ b/libstdc++-v3/testsuite/20_util/unique_ptr/creation/for_overwrite.cc
@@ -2,6 +2,7 @@
// { dg-do run { target c++20 } }
// { dg-xfail-run-if "AIX operator new" { powerpc-ibm-aix* } }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
// Copyright (C) 2020-2023 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/20_util/unreachable/1.cc b/libstdc++-v3/testsuite/20_util/unreachable/1.cc
index 98d801b..f0a93cd 100644
--- a/libstdc++-v3/testsuite/20_util/unreachable/1.cc
+++ b/libstdc++-v3/testsuite/20_util/unreachable/1.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++23 } }
+// { dg-add-options no_pch }
#include <utility>
diff --git a/libstdc++-v3/testsuite/20_util/unreachable/version.cc b/libstdc++-v3/testsuite/20_util/unreachable/version.cc
index b64a6cd..66753f0 100644
--- a/libstdc++-v3/testsuite/20_util/unreachable/version.cc
+++ b/libstdc++-v3/testsuite/20_util/unreachable/version.cc
@@ -1,4 +1,5 @@
// { dg-do preprocess { target c++23 } }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/20_util/unwrap_reference/1.cc b/libstdc++-v3/testsuite/20_util/unwrap_reference/1.cc
index d3a33f8..ae9643b 100644
--- a/libstdc++-v3/testsuite/20_util/unwrap_reference/1.cc
+++ b/libstdc++-v3/testsuite/20_util/unwrap_reference/1.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <type_traits>
diff --git a/libstdc++-v3/testsuite/20_util/unwrap_reference/3.cc b/libstdc++-v3/testsuite/20_util/unwrap_reference/3.cc
index e2e91fd..12090e1 100644
--- a/libstdc++-v3/testsuite/20_util/unwrap_reference/3.cc
+++ b/libstdc++-v3/testsuite/20_util/unwrap_reference/3.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/20_util/variant/constexpr.cc b/libstdc++-v3/testsuite/20_util/variant/constexpr.cc
index 55fac02..886fd2d 100644
--- a/libstdc++-v3/testsuite/20_util/variant/constexpr.cc
+++ b/libstdc++-v3/testsuite/20_util/variant/constexpr.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <variant>
diff --git a/libstdc++-v3/testsuite/20_util/variant/version.cc b/libstdc++-v3/testsuite/20_util/variant/version.cc
index de04c5e..fd251dd 100644
--- a/libstdc++-v3/testsuite/20_util/variant/version.cc
+++ b/libstdc++-v3/testsuite/20_util/variant/version.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++17 } }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/20_util/variant/visit_inherited.cc b/libstdc++-v3/testsuite/20_util/variant/visit_inherited.cc
index ade8309..76e881d 100644
--- a/libstdc++-v3/testsuite/20_util/variant/visit_inherited.cc
+++ b/libstdc++-v3/testsuite/20_util/variant/visit_inherited.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++17 } }
+// { dg-add-options no_pch }
#include <variant>
diff --git a/libstdc++-v3/testsuite/20_util/void_t/1.cc b/libstdc++-v3/testsuite/20_util/void_t/1.cc
index bff88a2..b18ee44 100644
--- a/libstdc++-v3/testsuite/20_util/void_t/1.cc
+++ b/libstdc++-v3/testsuite/20_util/void_t/1.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++17 } }
+// { dg-add-options no_pch }
#include <type_traits>
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc
index 3c88b7c..edef8c9 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc
@@ -1,4 +1,5 @@
// { dg-do run { target c++23 } }
+// { dg-add-options no_pch }
#include <string>
@@ -10,7 +11,6 @@
#endif
#endif
-
#include <cstring>
#include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/constexpr.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/constexpr.cc
index 8c60708..7822c89 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/constexpr.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/constexpr.cc
@@ -1,5 +1,6 @@
// { dg-do compile { target c++20 } }
// { dg-require-effective-target cxx11_abi }
+// { dg-add-options no_pch }
#include <string>
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc
index 40cea53..44c8391 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc
@@ -1,5 +1,6 @@
// { dg-do compile { target c++20 } }
// { dg-require-effective-target cxx11_abi }
+// { dg-add-options no_pch }
#include <string>
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/erasure.cc b/libstdc++-v3/testsuite/21_strings/basic_string/erasure.cc
index b85496a..23aae3c 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/erasure.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/erasure.cc
@@ -1,4 +1,5 @@
// { dg-do run { target c++20 } }
+// { dg-add-options no_pch }
// Copyright (C) 2018-2023 Free Software Foundation, Inc.
//
@@ -18,7 +19,6 @@
// <http://www.gnu.org/licenses/>.
#include <string>
-#include <testsuite_hooks.h>
#ifndef __cpp_lib_erase_if
# error "Feature-test macro for erase_if missing in <string>"
@@ -26,6 +26,8 @@
# error "Feature-test macro for erase_if has wrong value in <string>"
#endif
+#include <testsuite_hooks.h>
+
void
test01()
{
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc
index 3837c89..727e960 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc
@@ -1,18 +1,10 @@
// { dg-do run { target c++11 } }
// { dg-require-namedlocale "de_DE.ISO8859-15" }
+// { dg-add-options no_pch }
// C++11 21.5 Numeric Conversions [string.conversions]
#include <string>
-#include <format>
-#include <limits>
-#include <locale>
-#include <cstdio>
-#include <testsuite_hooks.h>
-
-namespace test
-{
-// Canonical version of std::to_string(double) as specified in the standard.
#if __cplusplus > 202302L
@@ -22,16 +14,29 @@ namespace test
# error "Feature-test macro for std::to_string has wrong value in <string>"
#endif
-static std::string to_string(float val) { return std::format("{}", val); }
-static std::string to_string(double val) { return std::format("{}", val); }
-static std::string to_string(long double val) { return std::format("{}", val); }
-
#else
#ifdef __cpp_lib_to_string
# error "__cpp_lib_to_string should not be defined for C++23"
#endif
+#endif
+
+#include <format>
+#include <limits>
+#include <locale>
+#include <cstdio>
+#include <testsuite_hooks.h>
+
+namespace test
+{
+// Canonical version of std::to_string(double) as specified in the standard.
+
+#if __cpp_lib_to_string
+static std::string to_string(float val) { return std::format("{}", val); }
+static std::string to_string(double val) { return std::format("{}", val); }
+static std::string to_string(long double val) { return std::format("{}", val); }
+#else
static std::string to_string(double val)
{
std::string str(100, '9');
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/version.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/version.cc
index 630e06f..669becc 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/version.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/version.cc
@@ -1,4 +1,6 @@
// { dg-do compile }
+// { dg-add-options no_pch }
+
#include <version>
#if __cplusplus > 202302L
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/version.cc b/libstdc++-v3/testsuite/21_strings/basic_string/version.cc
index 865b179..71dd4df 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string/version.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string/version.cc
@@ -1,5 +1,6 @@
// { dg-do compile { target c++17 } }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/contains/char.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/contains/char.cc
index f59cad3..629af6a 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/contains/char.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/contains/char.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++23 } }
+// { dg-add-options no_pch }
// Copyright (C) 2021-2023 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/contains/char/2.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/contains/char/2.cc
index 2f1b684..c351d30 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/contains/char/2.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/contains/char/2.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++23 } }
+// { dg-add-options no_pch }
// Copyright (C) 2021-2023 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc
index b91fea0..9291915 100644
--- a/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc
+++ b/libstdc++-v3/testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <string_view>
diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc
index 0db1673..34fb51a 100644
--- a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc
+++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++17 } }
+// { dg-add-options no_pch }
// Copyright (C) 2017-2023 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc
index 805b84de..efddcb2 100644
--- a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc
+++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
// Copyright (C) 2017-2023 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/version.cc b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/version.cc
index 908163a..1a6fde2 100644
--- a/libstdc++-v3/testsuite/21_strings/char_traits/requirements/version.cc
+++ b/libstdc++-v3/testsuite/21_strings/char_traits/requirements/version.cc
@@ -1,5 +1,6 @@
// { dg-do compile { target c++17 } }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/23_containers/array/comparison_operators/constexpr.cc b/libstdc++-v3/testsuite/23_containers/array/comparison_operators/constexpr.cc
index e4029bd..ff773fd 100644
--- a/libstdc++-v3/testsuite/23_containers/array/comparison_operators/constexpr.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/comparison_operators/constexpr.cc
@@ -1,5 +1,6 @@
// { dg-do compile { target c++20 } }
-//
+// { dg-add-options no_pch }
+
// Copyright (C) 2019-2023 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/testsuite/23_containers/array/creation/1.cc b/libstdc++-v3/testsuite/23_containers/array/creation/1.cc
index 9c2eedb..1e158ab 100644
--- a/libstdc++-v3/testsuite/23_containers/array/creation/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/creation/1.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
// Copyright (C) 2019-2023 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/23_containers/array/creation/2.cc b/libstdc++-v3/testsuite/23_containers/array/creation/2.cc
index be83073..a192073 100644
--- a/libstdc++-v3/testsuite/23_containers/array/creation/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/creation/2.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
// Copyright (C) 2019-2023 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/23_containers/array/element_access/constexpr_c++17.cc b/libstdc++-v3/testsuite/23_containers/array/element_access/constexpr_c++17.cc
index 266df756..234a4f0 100644
--- a/libstdc++-v3/testsuite/23_containers/array/element_access/constexpr_c++17.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/element_access/constexpr_c++17.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++17 } }
+// { dg-add-options no_pch }
// Copyright (C) 2011-2023 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/23_containers/array/requirements/constexpr_fill.cc b/libstdc++-v3/testsuite/23_containers/array/requirements/constexpr_fill.cc
index 6acf183..07a6400 100644
--- a/libstdc++-v3/testsuite/23_containers/array/requirements/constexpr_fill.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/requirements/constexpr_fill.cc
@@ -1,5 +1,6 @@
// { dg-do compile { target c++20 } }
-//
+// { dg-add-options no_pch }
+
// Copyright (C) 2019-2023 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/testsuite/23_containers/array/requirements/constexpr_iter.cc b/libstdc++-v3/testsuite/23_containers/array/requirements/constexpr_iter.cc
index 7bccd1f..5d06f2d 100644
--- a/libstdc++-v3/testsuite/23_containers/array/requirements/constexpr_iter.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/requirements/constexpr_iter.cc
@@ -1,5 +1,6 @@
// { dg-do compile { target c++17 } }
-//
+// { dg-add-options no_pch }
+
// Copyright (C) 2019-2023 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
diff --git a/libstdc++-v3/testsuite/23_containers/array/tuple_interface/get_neg.cc b/libstdc++-v3/testsuite/23_containers/array/tuple_interface/get_neg.cc
index 889d4aa..bf64d29 100644
--- a/libstdc++-v3/testsuite/23_containers/array/tuple_interface/get_neg.cc
+++ b/libstdc++-v3/testsuite/23_containers/array/tuple_interface/get_neg.cc
@@ -26,6 +26,6 @@ int n1 = std::get<1>(a);
int n2 = std::get<1>(std::move(a));
int n3 = std::get<1>(ca);
-// { dg-error "static assertion failed" "" { target *-*-* } 389 }
-// { dg-error "static assertion failed" "" { target *-*-* } 398 }
-// { dg-error "static assertion failed" "" { target *-*-* } 407 }
+// { dg-error "static assertion failed" "" { target *-*-* } 391 }
+// { dg-error "static assertion failed" "" { target *-*-* } 400 }
+// { dg-error "static assertion failed" "" { target *-*-* } 409 }
diff --git a/libstdc++-v3/testsuite/23_containers/deque/erasure.cc b/libstdc++-v3/testsuite/23_containers/deque/erasure.cc
index 30885d1..317ce50 100644
--- a/libstdc++-v3/testsuite/23_containers/deque/erasure.cc
+++ b/libstdc++-v3/testsuite/23_containers/deque/erasure.cc
@@ -1,4 +1,5 @@
// { dg-do run { target c++20 } }
+// { dg-add-options no_pch }
// Copyright (C) 2018-2023 Free Software Foundation, Inc.
//
@@ -18,7 +19,6 @@
// <http://www.gnu.org/licenses/>.
#include <deque>
-#include <testsuite_hooks.h>
#ifndef __cpp_lib_erase_if
# error "Feature-test macro for erase_if missing in <deque>"
@@ -26,6 +26,8 @@
# error "Feature-test macro for erase_if has wrong value in <deque>"
#endif
+#include <testsuite_hooks.h>
+
void
test01()
{
diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/erasure.cc b/libstdc++-v3/testsuite/23_containers/forward_list/erasure.cc
index 2a73b98..973a632 100644
--- a/libstdc++-v3/testsuite/23_containers/forward_list/erasure.cc
+++ b/libstdc++-v3/testsuite/23_containers/forward_list/erasure.cc
@@ -1,4 +1,5 @@
// { dg-do run { target c++20 } }
+// { dg-add-options no_pch }
// Copyright (C) 2018-2023 Free Software Foundation, Inc.
//
@@ -18,7 +19,6 @@
// <http://www.gnu.org/licenses/>.
#include <forward_list>
-#include <testsuite_hooks.h>
#ifndef __cpp_lib_erase_if
# error "Feature-test macro for erase_if missing in <forward_list>"
@@ -26,6 +26,8 @@
# error "Feature-test macro for erase_if has wrong value in <forward_list>"
#endif
+#include <testsuite_hooks.h>
+
void
test01()
{
diff --git a/libstdc++-v3/testsuite/23_containers/list/erasure.cc b/libstdc++-v3/testsuite/23_containers/list/erasure.cc
index d6b06b1..5d32098 100644
--- a/libstdc++-v3/testsuite/23_containers/list/erasure.cc
+++ b/libstdc++-v3/testsuite/23_containers/list/erasure.cc
@@ -1,4 +1,5 @@
// { dg-do run { target c++20 } }
+// { dg-add-options no_pch }
// Copyright (C) 2018-2023 Free Software Foundation, Inc.
//
@@ -18,7 +19,6 @@
// <http://www.gnu.org/licenses/>.
#include <list>
-#include <testsuite_hooks.h>
#ifndef __cpp_lib_erase_if
# error "Feature-test macro for erase_if missing in <list>"
@@ -26,6 +26,8 @@
# error "Feature-test macro for erase_if has wrong value in <list>"
#endif
+#include <testsuite_hooks.h>
+
void
test01()
{
diff --git a/libstdc++-v3/testsuite/23_containers/map/erasure.cc b/libstdc++-v3/testsuite/23_containers/map/erasure.cc
index 078d129..61090eb 100644
--- a/libstdc++-v3/testsuite/23_containers/map/erasure.cc
+++ b/libstdc++-v3/testsuite/23_containers/map/erasure.cc
@@ -1,4 +1,5 @@
// { dg-do run { target c++20 } }
+// { dg-add-options no_pch }
// Copyright (C) 2018-2023 Free Software Foundation, Inc.
//
@@ -18,8 +19,6 @@
// <http://www.gnu.org/licenses/>.
#include <map>
-#include <string>
-#include <testsuite_hooks.h>
#ifndef __cpp_lib_erase_if
# error "Feature-test macro for erase_if missing in <map>"
@@ -27,6 +26,9 @@
# error "Feature-test macro for erase_if has wrong value in <map>"
#endif
+#include <string>
+#include <testsuite_hooks.h>
+
auto is_odd_pair = [](const std::pair<const int, std::string>& p)
{
return p.first % 2 != 0;
diff --git a/libstdc++-v3/testsuite/23_containers/queue/cons_from_iters.cc b/libstdc++-v3/testsuite/23_containers/queue/cons_from_iters.cc
index 334ef00..1a1009e 100644
--- a/libstdc++-v3/testsuite/23_containers/queue/cons_from_iters.cc
+++ b/libstdc++-v3/testsuite/23_containers/queue/cons_from_iters.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do run { target c++23 } }
+// { dg-add-options no_pch }
#include <queue>
diff --git a/libstdc++-v3/testsuite/23_containers/set/erasure.cc b/libstdc++-v3/testsuite/23_containers/set/erasure.cc
index a2bbf3a..8e629fa 100644
--- a/libstdc++-v3/testsuite/23_containers/set/erasure.cc
+++ b/libstdc++-v3/testsuite/23_containers/set/erasure.cc
@@ -1,4 +1,5 @@
// { dg-do run { target c++20 } }
+// { dg-add-options no_pch }
// Copyright (C) 2018-2023 Free Software Foundation, Inc.
//
@@ -18,7 +19,6 @@
// <http://www.gnu.org/licenses/>.
#include <set>
-#include <testsuite_hooks.h>
#ifndef __cpp_lib_erase_if
# error "Feature-test macro for erase_if missing in <set>"
@@ -26,6 +26,8 @@
# error "Feature-test macro for erase_if has wrong value in <set>"
#endif
+#include <testsuite_hooks.h>
+
auto is_odd = [](const int i) { return i % 2 != 0; };
void
diff --git a/libstdc++-v3/testsuite/23_containers/span/1.cc b/libstdc++-v3/testsuite/23_containers/span/1.cc
index 40bb7a0..c1c0a7e 100644
--- a/libstdc++-v3/testsuite/23_containers/span/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/span/1.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <span>
diff --git a/libstdc++-v3/testsuite/23_containers/span/2.cc b/libstdc++-v3/testsuite/23_containers/span/2.cc
index 533d172..2931c0b 100644
--- a/libstdc++-v3/testsuite/23_containers/span/2.cc
+++ b/libstdc++-v3/testsuite/23_containers/span/2.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/23_containers/stack/cons_from_iters.cc b/libstdc++-v3/testsuite/23_containers/stack/cons_from_iters.cc
index 7724095..8df4d33 100644
--- a/libstdc++-v3/testsuite/23_containers/stack/cons_from_iters.cc
+++ b/libstdc++-v3/testsuite/23_containers/stack/cons_from_iters.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do run { target c++23 } }
+// { dg-add-options no_pch }
#include <stack>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/erasure.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/erasure.cc
index 696fc05..201145a 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/erasure.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/erasure.cc
@@ -1,4 +1,5 @@
// { dg-do run { target c++20 } }
+// { dg-add-options no_pch }
// Copyright (C) 2018-2023 Free Software Foundation, Inc.
//
@@ -18,8 +19,6 @@
// <http://www.gnu.org/licenses/>.
#include <unordered_map>
-#include <string>
-#include <testsuite_hooks.h>
#ifndef __cpp_lib_erase_if
# error "Feature-test macro for erase_if missing in <unordered_map>"
@@ -27,6 +26,9 @@
# error "Feature-test macro for erase_if has wrong value in <unordered_map>"
#endif
+#include <string>
+#include <testsuite_hooks.h>
+
auto is_odd_pair = [](const std::pair<const int, std::string>& p)
{
return p.first % 2 != 0;
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_map/operations/1.cc b/libstdc++-v3/testsuite/23_containers/unordered_map/operations/1.cc
index cfeca60..cf6ee50 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_map/operations/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_map/operations/1.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do run { target c++20 } }
+// { dg-add-options no_pch }
#include <unordered_map>
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/erasure.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/erasure.cc
index 2384136..7a298b7 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/erasure.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/erasure.cc
@@ -1,4 +1,5 @@
// { dg-do run { target c++20 } }
+// { dg-add-options no_pch }
// Copyright (C) 2018-2023 Free Software Foundation, Inc.
//
@@ -18,7 +19,6 @@
// <http://www.gnu.org/licenses/>.
#include <unordered_set>
-#include <testsuite_hooks.h>
#ifndef __cpp_lib_erase_if
# error "Feature-test macro for erase_if missing in <unordered_set>"
@@ -26,6 +26,8 @@
# error "Feature-test macro for erase_if has wrong value in <unordered_set>"
#endif
+#include <testsuite_hooks.h>
+
void
test01()
{
diff --git a/libstdc++-v3/testsuite/23_containers/unordered_set/operations/1.cc b/libstdc++-v3/testsuite/23_containers/unordered_set/operations/1.cc
index b2f1399..5da7c31 100644
--- a/libstdc++-v3/testsuite/23_containers/unordered_set/operations/1.cc
+++ b/libstdc++-v3/testsuite/23_containers/unordered_set/operations/1.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do run { target c++20 } }
+// { dg-add-options no_pch }
#include <unordered_set>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/cons/constexpr.cc b/libstdc++-v3/testsuite/23_containers/vector/cons/constexpr.cc
index 9a78458..7bf8651 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/cons/constexpr.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/cons/constexpr.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
// { dg-xfail-if "not supported" { debug_mode } }
#include <vector>
diff --git a/libstdc++-v3/testsuite/23_containers/vector/erasure.cc b/libstdc++-v3/testsuite/23_containers/vector/erasure.cc
index 2135b6b..780a9ca 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/erasure.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/erasure.cc
@@ -1,4 +1,5 @@
// { dg-do run { target c++20 } }
+// { dg-add-options no_pch }
// Copyright (C) 2018-2023 Free Software Foundation, Inc.
//
@@ -18,7 +19,6 @@
// <http://www.gnu.org/licenses/>.
#include <vector>
-#include <testsuite_hooks.h>
#ifndef __cpp_lib_erase_if
# error "Feature-test macro for erase_if missing in <vector>"
@@ -26,6 +26,8 @@
# error "Feature-test macro for erase_if has wrong value in <vector>"
#endif
+#include <testsuite_hooks.h>
+
void
test01()
{
diff --git a/libstdc++-v3/testsuite/23_containers/vector/requirements/version.cc b/libstdc++-v3/testsuite/23_containers/vector/requirements/version.cc
index 50a10d2..ef11ebb 100644
--- a/libstdc++-v3/testsuite/23_containers/vector/requirements/version.cc
+++ b/libstdc++-v3/testsuite/23_containers/vector/requirements/version.cc
@@ -1,5 +1,6 @@
// { dg-do preprocess { target c++20 } }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/24_iterators/insert_iterator/constexpr.cc b/libstdc++-v3/testsuite/24_iterators/insert_iterator/constexpr.cc
index ed2b648..24d208c 100644
--- a/libstdc++-v3/testsuite/24_iterators/insert_iterator/constexpr.cc
+++ b/libstdc++-v3/testsuite/24_iterators/insert_iterator/constexpr.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <iterator>
diff --git a/libstdc++-v3/testsuite/25_algorithms/clamp/constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/clamp/constexpr.cc
index 92db538..5fcfb1e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/clamp/constexpr.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/clamp/constexpr.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++17 } }
+// { dg-add-options no_pch }
// Copyright (C) 2016-2023 Free Software Foundation, Inc.
//
@@ -18,13 +19,14 @@
// <http://www.gnu.org/licenses/>.
#include <algorithm>
-#include <functional>
#ifndef __cpp_lib_clamp
-# error "Feature-test macro for clamp missing"
+# error "Feature-test macro for clamp missing in <algorithm>"
#elif __cpp_lib_clamp != 201603
-# error "Feature-test macro for clamp has wrong value"
+# error "Feature-test macro for clamp has wrong value in <algorithm>"
#endif
+#include <functional>
+
static_assert(std::clamp(2, 0, 1) == 1);
static_assert(std::clamp(2, 1, 0, std::greater<int>()) == 1);
diff --git a/libstdc++-v3/testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc b/libstdc++-v3/testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc
index f696e13..8cbe6c1 100644
--- a/libstdc++-v3/testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc
@@ -21,12 +21,6 @@
#include <functional>
#include <testsuite_api.h>
-#ifndef __cpp_lib_clamp
-# error "Feature-test macro for clamp missing"
-#elif __cpp_lib_clamp != 201603
-# error "Feature-test macro for clamp has wrong value"
-#endif
-
namespace std
{
using __gnu_test::NonDefaultConstructible;
diff --git a/libstdc++-v3/testsuite/25_algorithms/constexpr_macro.cc b/libstdc++-v3/testsuite/25_algorithms/constexpr_macro.cc
index d591b11..258b749 100644
--- a/libstdc++-v3/testsuite/25_algorithms/constexpr_macro.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/constexpr_macro.cc
@@ -17,6 +17,7 @@
// { dg-do compile { target c++20 } }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/25_algorithms/cpp_lib_constexpr.cc b/libstdc++-v3/testsuite/25_algorithms/cpp_lib_constexpr.cc
index 0774032..0f4143e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/cpp_lib_constexpr.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/cpp_lib_constexpr.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <algorithm>
diff --git a/libstdc++-v3/testsuite/25_algorithms/fold_left/1.cc b/libstdc++-v3/testsuite/25_algorithms/fold_left/1.cc
index b08a065..d5cbc225 100644
--- a/libstdc++-v3/testsuite/25_algorithms/fold_left/1.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/fold_left/1.cc
@@ -1,13 +1,15 @@
// { dg-do run { target c++23 } }
+// { dg-add-options no_pch }
#include <algorithm>
-#include <ranges>
-#include <testsuite_iterators.h>
#if __cpp_lib_ranges_fold != 202207L
# error "Feature-test macro __cpp_lib_ranges_fold has wrong value in <algorithm>"
#endif
+#include <ranges>
+#include <testsuite_iterators.h>
+
namespace ranges = std::ranges;
namespace views = std::views;
diff --git a/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-2.cc b/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-2.cc
index bac7801..f8dc94f 100644
--- a/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-2.cc
@@ -17,6 +17,7 @@
// { dg-do preprocess { target c++17 } }
// { dg-require-effective-target tbb_backend }
+// { dg-add-options no_pch }
#include <numeric>
diff --git a/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-3.cc b/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-3.cc
index 27ae1e4..000b2e0 100644
--- a/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-3.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-3.cc
@@ -17,6 +17,7 @@
// { dg-do preprocess { target c++17 } }
// { dg-require-effective-target tbb_backend }
+// { dg-add-options no_pch }
#include <execution>
diff --git a/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-4.cc b/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-4.cc
index a397c3d..c128695 100644
--- a/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-4.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-4.cc
@@ -17,6 +17,7 @@
// { dg-do preprocess { target c++17 } }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-5.cc b/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-5.cc
index da5b73e..7b9ae1b 100644
--- a/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-5.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-5.cc
@@ -17,6 +17,7 @@
// { dg-do preprocess { target c++17 } }
// { dg-require-effective-target tbb_backend }
+// { dg-add-options no_pch }
#include <memory>
diff --git a/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test.cc b/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test.cc
index 4d758eb..da59356 100644
--- a/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test.cc
@@ -17,6 +17,7 @@
// { dg-do preprocess { target c++17 } }
// { dg-require-effective-target tbb_backend }
+// { dg-add-options no_pch }
#include <algorithm>
diff --git a/libstdc++-v3/testsuite/26_numerics/bit/bit.byteswap/byteswap.cc b/libstdc++-v3/testsuite/26_numerics/bit/bit.byteswap/byteswap.cc
index 034019b..37b4295 100644
--- a/libstdc++-v3/testsuite/26_numerics/bit/bit.byteswap/byteswap.cc
+++ b/libstdc++-v3/testsuite/26_numerics/bit/bit.byteswap/byteswap.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++23 } }
+// { dg-add-options no_pch }
#include <bit>
diff --git a/libstdc++-v3/testsuite/26_numerics/bit/bit.byteswap/version.cc b/libstdc++-v3/testsuite/26_numerics/bit/bit.byteswap/version.cc
index c179944..aa59604 100644
--- a/libstdc++-v3/testsuite/26_numerics/bit/bit.byteswap/version.cc
+++ b/libstdc++-v3/testsuite/26_numerics/bit/bit.byteswap/version.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++23 } }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/26_numerics/bit/bit.cast/bit_cast.cc b/libstdc++-v3/testsuite/26_numerics/bit/bit.cast/bit_cast.cc
index dc7249d..b488a8b 100644
--- a/libstdc++-v3/testsuite/26_numerics/bit/bit.cast/bit_cast.cc
+++ b/libstdc++-v3/testsuite/26_numerics/bit/bit.cast/bit_cast.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <bit>
diff --git a/libstdc++-v3/testsuite/26_numerics/bit/bit.cast/version.cc b/libstdc++-v3/testsuite/26_numerics/bit/bit.cast/version.cc
index 296adf7..079780a 100644
--- a/libstdc++-v3/testsuite/26_numerics/bit/bit.cast/version.cc
+++ b/libstdc++-v3/testsuite/26_numerics/bit/bit.cast/version.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/26_numerics/bit/header-2.cc b/libstdc++-v3/testsuite/26_numerics/bit/header-2.cc
index 07d0865..94db9e1 100644
--- a/libstdc++-v3/testsuite/26_numerics/bit/header-2.cc
+++ b/libstdc++-v3/testsuite/26_numerics/bit/header-2.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/26_numerics/bit/header.cc b/libstdc++-v3/testsuite/26_numerics/bit/header.cc
index 36207bb..ecb6e1b 100644
--- a/libstdc++-v3/testsuite/26_numerics/bit/header.cc
+++ b/libstdc++-v3/testsuite/26_numerics/bit/header.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <bit>
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/1.cc b/libstdc++-v3/testsuite/26_numerics/complex/1.cc
index 229926c..f4d7bce 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/1.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do preprocess { target c++20 } }
+// { dg-add-options no_pch }
#include <complex>
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/2.cc b/libstdc++-v3/testsuite/26_numerics/complex/2.cc
index 6276e2d..2b1a5a9 100644
--- a/libstdc++-v3/testsuite/26_numerics/complex/2.cc
+++ b/libstdc++-v3/testsuite/26_numerics/complex/2.cc
@@ -17,6 +17,7 @@
// { dg-do preprocess { target c++20 } }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/26_numerics/endian/2.cc b/libstdc++-v3/testsuite/26_numerics/endian/2.cc
index 2822be3..24a40e4 100644
--- a/libstdc++-v3/testsuite/26_numerics/endian/2.cc
+++ b/libstdc++-v3/testsuite/26_numerics/endian/2.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <bit>
diff --git a/libstdc++-v3/testsuite/26_numerics/endian/3.cc b/libstdc++-v3/testsuite/26_numerics/endian/3.cc
index 7e02cab..5f6ad56 100644
--- a/libstdc++-v3/testsuite/26_numerics/endian/3.cc
+++ b/libstdc++-v3/testsuite/26_numerics/endian/3.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/26_numerics/gcd/1.cc b/libstdc++-v3/testsuite/26_numerics/gcd/1.cc
index 1475a5a..3083682 100644
--- a/libstdc++-v3/testsuite/26_numerics/gcd/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/gcd/1.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++17 } }
+// { dg-add-options no_pch }
#include <numeric>
diff --git a/libstdc++-v3/testsuite/26_numerics/lcm/1.cc b/libstdc++-v3/testsuite/26_numerics/lcm/1.cc
index 18828a7..1fa16af 100644
--- a/libstdc++-v3/testsuite/26_numerics/lcm/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/lcm/1.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++17 } }
+// { dg-add-options no_pch }
#include <numeric>
diff --git a/libstdc++-v3/testsuite/26_numerics/lerp/1.cc b/libstdc++-v3/testsuite/26_numerics/lerp/1.cc
index 65b71543..8aedc47 100644
--- a/libstdc++-v3/testsuite/26_numerics/lerp/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/lerp/1.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do run { target c++20 } }
+// { dg-add-options no_pch }
#include <cmath>
diff --git a/libstdc++-v3/testsuite/26_numerics/lerp/version.cc b/libstdc++-v3/testsuite/26_numerics/lerp/version.cc
index 63206ba..a6a5773 100644
--- a/libstdc++-v3/testsuite/26_numerics/lerp/version.cc
+++ b/libstdc++-v3/testsuite/26_numerics/lerp/version.cc
@@ -1,5 +1,6 @@
// { dg-do preprocess { target c++20 } }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/26_numerics/midpoint/integral.cc b/libstdc++-v3/testsuite/26_numerics/midpoint/integral.cc
index 0f8a16e..51218f3 100644
--- a/libstdc++-v3/testsuite/26_numerics/midpoint/integral.cc
+++ b/libstdc++-v3/testsuite/26_numerics/midpoint/integral.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do run { target c++20 } }
+// { dg-add-options no_pch }
#include <numeric>
diff --git a/libstdc++-v3/testsuite/26_numerics/midpoint/version.cc b/libstdc++-v3/testsuite/26_numerics/midpoint/version.cc
index 63206ba..a6a5773 100644
--- a/libstdc++-v3/testsuite/26_numerics/midpoint/version.cc
+++ b/libstdc++-v3/testsuite/26_numerics/midpoint/version.cc
@@ -1,5 +1,6 @@
// { dg-do preprocess { target c++20 } }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/26_numerics/numbers/1.cc b/libstdc++-v3/testsuite/26_numerics/numbers/1.cc
index f41551c..8443efb 100644
--- a/libstdc++-v3/testsuite/26_numerics/numbers/1.cc
+++ b/libstdc++-v3/testsuite/26_numerics/numbers/1.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <numbers>
diff --git a/libstdc++-v3/testsuite/26_numerics/numbers/2.cc b/libstdc++-v3/testsuite/26_numerics/numbers/2.cc
index d9e791e..d55b44c 100644
--- a/libstdc++-v3/testsuite/26_numerics/numbers/2.cc
+++ b/libstdc++-v3/testsuite/26_numerics/numbers/2.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/native_handle/char/1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/native_handle/char/1.cc
index 749451a..0551f26 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/native_handle/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/native_handle/char/1.cc
@@ -1,5 +1,6 @@
// { dg-options "-fno-inline" }
// { dg-do run { target c++26 } }
+// { dg-add-options no_pch }
// { dg-additional-files "filebuf_members-1.txt" }
#include <fstream>
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/native_handle/version.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/native_handle/version.cc
index 46c400d..10a5598 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/native_handle/version.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/native_handle/version.cc
@@ -1,5 +1,6 @@
// { dg-do preprocess { target c++26 } }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/noreplace.cc b/libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/noreplace.cc
index 2e99707..c34882f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/noreplace.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/noreplace.cc
@@ -1,4 +1,5 @@
// { dg-do run { xfail *-*-vxworks* } }
+// { dg-add-options no_pch }
#include <ios>
diff --git a/libstdc++-v3/testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc b/libstdc++-v3/testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc
index ddb7fd6..55c7ad4 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc
@@ -1,4 +1,5 @@
// { dg-do run { xfail *-*-vxworks* } }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/27_io/basic_syncbuf/1.cc b/libstdc++-v3/testsuite/27_io/basic_syncbuf/1.cc
index d48ad09..01ce127 100644
--- a/libstdc++-v3/testsuite/27_io/basic_syncbuf/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_syncbuf/1.cc
@@ -17,6 +17,7 @@
// { dg-do compile { target c++20 } }
// { dg-require-effective-target cxx11_abi }
+// { dg-add-options no_pch }
#include <syncstream>
diff --git a/libstdc++-v3/testsuite/27_io/basic_syncbuf/2.cc b/libstdc++-v3/testsuite/27_io/basic_syncbuf/2.cc
index ad1ab38..a973c44 100644
--- a/libstdc++-v3/testsuite/27_io/basic_syncbuf/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_syncbuf/2.cc
@@ -18,6 +18,7 @@
// { dg-do compile { target c++20 } }
// { dg-require-effective-target cxx11_abi }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/27_io/basic_syncstream/1.cc b/libstdc++-v3/testsuite/27_io/basic_syncstream/1.cc
index d48ad09..01ce127 100644
--- a/libstdc++-v3/testsuite/27_io/basic_syncstream/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_syncstream/1.cc
@@ -17,6 +17,7 @@
// { dg-do compile { target c++20 } }
// { dg-require-effective-target cxx11_abi }
+// { dg-add-options no_pch }
#include <syncstream>
diff --git a/libstdc++-v3/testsuite/27_io/basic_syncstream/2.cc b/libstdc++-v3/testsuite/27_io/basic_syncstream/2.cc
index ad1ab38..a973c44 100644
--- a/libstdc++-v3/testsuite/27_io/basic_syncstream/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_syncstream/2.cc
@@ -18,6 +18,7 @@
// { dg-do compile { target c++20 } }
// { dg-require-effective-target cxx11_abi }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/27_io/spanstream/1.cc b/libstdc++-v3/testsuite/27_io/spanstream/1.cc
index bd45a38..4f384db 100644
--- a/libstdc++-v3/testsuite/27_io/spanstream/1.cc
+++ b/libstdc++-v3/testsuite/27_io/spanstream/1.cc
@@ -1,4 +1,5 @@
// { dg-do run { target c++23 } }
+// { dg-add-options no_pch }
#include <spanstream>
diff --git a/libstdc++-v3/testsuite/27_io/spanstream/version.cc b/libstdc++-v3/testsuite/27_io/spanstream/version.cc
index 7434e3b..4e01113 100644
--- a/libstdc++-v3/testsuite/27_io/spanstream/version.cc
+++ b/libstdc++-v3/testsuite/27_io/spanstream/version.cc
@@ -1,5 +1,6 @@
// { dg-do compile { target c++23 } }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/cons/value_init.cc b/libstdc++-v3/testsuite/29_atomics/atomic/cons/value_init.cc
index 809c6c0..a852c42 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/cons/value_init.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/cons/value_init.cc
@@ -17,6 +17,7 @@
// { dg-do run { target c++20 } }
// { dg-require-thread-fence "" }
+// { dg-add-options no_pch }
#include <atomic>
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/lock_free_aliases.cc b/libstdc++-v3/testsuite/29_atomics/atomic/lock_free_aliases.cc
index 8192f73..372a631 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/lock_free_aliases.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/lock_free_aliases.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <atomic>
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/1.cc b/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/1.cc
index 3ded103..2fe83d5 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/1.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/1.cc
@@ -18,6 +18,7 @@
// { dg-do compile { target c++20 } }
// { dg-require-effective-target gthreads }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <atomic>
diff --git a/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/2.cc b/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/2.cc
index d07bdee..35bff9f 100644
--- a/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/2.cc
+++ b/libstdc++-v3/testsuite/29_atomics/atomic/wait_notify/2.cc
@@ -18,6 +18,7 @@
// { dg-do compile { target c++20 } }
// { dg-require-effective-target gthreads }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/c_compat.cc b/libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/c_compat.cc
index 70d37d4..bcdb969 100644
--- a/libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/c_compat.cc
+++ b/libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/c_compat.cc
@@ -1,4 +1,5 @@
// { dg-do compile { target c++23 } }
+// { dg-add-options no_pch }
#include <stdatomic.h>
diff --git a/libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/version.cc b/libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/version.cc
index 26fa76d..5feb089 100644
--- a/libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/version.cc
+++ b/libstdc++-v3/testsuite/29_atomics/headers/stdatomic.h/version.cc
@@ -1,4 +1,5 @@
// { dg-do preprocess { target c++23 } }
+// { dg-add-options no_pch }
// <stdatomic.h> is not freestanding.
// { dg-require-effective-target hosted }
diff --git a/libstdc++-v3/testsuite/30_threads/barrier/1.cc b/libstdc++-v3/testsuite/30_threads/barrier/1.cc
index e7f62a1..f1e981e 100644
--- a/libstdc++-v3/testsuite/30_threads/barrier/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/barrier/1.cc
@@ -17,6 +17,7 @@
// { dg-do compile { target c++20 } }
// { dg-require-effective-target gthreads }
+// { dg-add-options no_pch }
#include <barrier>
diff --git a/libstdc++-v3/testsuite/30_threads/barrier/2.cc b/libstdc++-v3/testsuite/30_threads/barrier/2.cc
index d33597a..d11eacc 100644
--- a/libstdc++-v3/testsuite/30_threads/barrier/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/barrier/2.cc
@@ -18,6 +18,7 @@
// { dg-do compile { target c++20 } }
// { dg-require-effective-target gthreads }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable_any/stop_token/1.cc b/libstdc++-v3/testsuite/30_threads/condition_variable_any/stop_token/1.cc
index 8c17397..03a867c 100644
--- a/libstdc++-v3/testsuite/30_threads/condition_variable_any/stop_token/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/condition_variable_any/stop_token/1.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <condition_variable>
diff --git a/libstdc++-v3/testsuite/30_threads/condition_variable_any/stop_token/2.cc b/libstdc++-v3/testsuite/30_threads/condition_variable_any/stop_token/2.cc
index 754bd91..e698915 100644
--- a/libstdc++-v3/testsuite/30_threads/condition_variable_any/stop_token/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/condition_variable_any/stop_token/2.cc
@@ -17,6 +17,7 @@
// { dg-do compile { target c++20 } }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/30_threads/jthread/1.cc b/libstdc++-v3/testsuite/30_threads/jthread/1.cc
index e4063af..ff3d428 100644
--- a/libstdc++-v3/testsuite/30_threads/jthread/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/jthread/1.cc
@@ -17,6 +17,7 @@
// { dg-do compile { target c++20 } }
// { dg-require-gthreads "" }
+// { dg-add-options no_pch }
#include <thread>
diff --git a/libstdc++-v3/testsuite/30_threads/jthread/version.cc b/libstdc++-v3/testsuite/30_threads/jthread/version.cc
index 48241e9..00dfbd8 100644
--- a/libstdc++-v3/testsuite/30_threads/jthread/version.cc
+++ b/libstdc++-v3/testsuite/30_threads/jthread/version.cc
@@ -18,6 +18,7 @@
// { dg-do compile { target c++20 } }
// { dg-require-gthreads "" }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/30_threads/latch/1.cc b/libstdc++-v3/testsuite/30_threads/latch/1.cc
index 6f4da11..ba0a95b 100644
--- a/libstdc++-v3/testsuite/30_threads/latch/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/latch/1.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <latch>
diff --git a/libstdc++-v3/testsuite/30_threads/latch/2.cc b/libstdc++-v3/testsuite/30_threads/latch/2.cc
index 4ebd9e6..15e325b 100644
--- a/libstdc++-v3/testsuite/30_threads/latch/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/latch/2.cc
@@ -17,6 +17,7 @@
// { dg-do compile { target c++20 } }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/30_threads/scoped_lock/requirements/typedefs.cc b/libstdc++-v3/testsuite/30_threads/scoped_lock/requirements/typedefs.cc
index c171afc..438b62f 100644
--- a/libstdc++-v3/testsuite/30_threads/scoped_lock/requirements/typedefs.cc
+++ b/libstdc++-v3/testsuite/30_threads/scoped_lock/requirements/typedefs.cc
@@ -1,5 +1,6 @@
// { dg-do compile { target c++17 } }
// { dg-require-gthreads "" }
+// { dg-add-options no_pch }
// Copyright (C) 2017-2023 Free Software Foundation, Inc.
//
@@ -18,7 +19,6 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-
// NB: This file is for testing with NO OTHER INCLUDES.
#include <mutex>
diff --git a/libstdc++-v3/testsuite/30_threads/semaphore/1.cc b/libstdc++-v3/testsuite/30_threads/semaphore/1.cc
index f58e7f5..ced3c6c 100644
--- a/libstdc++-v3/testsuite/30_threads/semaphore/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/semaphore/1.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <semaphore>
diff --git a/libstdc++-v3/testsuite/30_threads/semaphore/2.cc b/libstdc++-v3/testsuite/30_threads/semaphore/2.cc
index 0bab294..111984d 100644
--- a/libstdc++-v3/testsuite/30_threads/semaphore/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/semaphore/2.cc
@@ -17,6 +17,7 @@
// { dg-do compile { target c++20 } }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/30_threads/stop_token/1.cc b/libstdc++-v3/testsuite/30_threads/stop_token/1.cc
index 099c6c1..c2f1d8d 100644
--- a/libstdc++-v3/testsuite/30_threads/stop_token/1.cc
+++ b/libstdc++-v3/testsuite/30_threads/stop_token/1.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <stop_token>
diff --git a/libstdc++-v3/testsuite/30_threads/stop_token/2.cc b/libstdc++-v3/testsuite/30_threads/stop_token/2.cc
index 754bd91..e698915 100644
--- a/libstdc++-v3/testsuite/30_threads/stop_token/2.cc
+++ b/libstdc++-v3/testsuite/30_threads/stop_token/2.cc
@@ -17,6 +17,7 @@
// { dg-do compile { target c++20 } }
// { dg-require-effective-target hosted }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/experimental/feat-char8_t.cc b/libstdc++-v3/testsuite/experimental/feat-char8_t.cc
index c9b277a..05c1aa2 100644
--- a/libstdc++-v3/testsuite/experimental/feat-char8_t.cc
+++ b/libstdc++-v3/testsuite/experimental/feat-char8_t.cc
@@ -1,5 +1,6 @@
// { dg-do preprocess { target c++11 } }
// { dg-options "-fchar8_t" }
+// { dg-add-options no_pch }
#include <atomic>
#include <filesystem>
diff --git a/libstdc++-v3/testsuite/experimental/feat-cxx14.cc b/libstdc++-v3/testsuite/experimental/feat-cxx14.cc
index effe382..c009062 100644
--- a/libstdc++-v3/testsuite/experimental/feat-cxx14.cc
+++ b/libstdc++-v3/testsuite/experimental/feat-cxx14.cc
@@ -1,4 +1,5 @@
// { dg-do preprocess { target c++14 } }
+// { dg-add-options no_pch }
#include <utility>
#include <tuple>
@@ -8,10 +9,12 @@
#include <chrono>
#include <string>
#include <complex>
+#include <algorithm>
#include <iomanip>
#include <shared_mutex>
#include <map>
#include <set>
+#include <iterator>
#ifndef __cpp_lib_integer_sequence
# error "__cpp_lib_integer_sequence"
diff --git a/libstdc++-v3/testsuite/experimental/iterator/ostream_joiner.cc b/libstdc++-v3/testsuite/experimental/iterator/ostream_joiner.cc
index 61af300..ed2c4da 100644
--- a/libstdc++-v3/testsuite/experimental/iterator/ostream_joiner.cc
+++ b/libstdc++-v3/testsuite/experimental/iterator/ostream_joiner.cc
@@ -16,10 +16,9 @@
// <http://www.gnu.org/licenses/>.
// { dg-do run { target c++14 } }
+// { dg-add-options no_pch }
#include <experimental/iterator>
-#include <sstream>
-#include <testsuite_hooks.h>
#ifndef __cpp_lib_experimental_ostream_joiner
# error Feature-test macro is not defined.
@@ -27,6 +26,9 @@
# error Feature-test macro has bad value.
#endif
+#include <sstream>
+#include <testsuite_hooks.h>
+
using std::experimental::ostream_joiner;
void
diff --git a/libstdc++-v3/testsuite/experimental/numeric/gcd.cc b/libstdc++-v3/testsuite/experimental/numeric/gcd.cc
index 505675d..6d447c3 100644
--- a/libstdc++-v3/testsuite/experimental/numeric/gcd.cc
+++ b/libstdc++-v3/testsuite/experimental/numeric/gcd.cc
@@ -16,9 +16,9 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++14 } }
+// { dg-add-options no_pch }
#include <experimental/numeric>
-#include <experimental/type_traits>
#ifndef __cpp_lib_experimental_gcd_lcm
# error "Feature-test macro for gcd missing"
@@ -26,6 +26,8 @@
# error "Feature-test macro for gcd has wrong value"
#endif
+#include <experimental/type_traits>
+
using std::experimental::fundamentals_v2::gcd;
using std::experimental::is_same_v;
diff --git a/libstdc++-v3/testsuite/experimental/scopeguard/uniqueres.cc b/libstdc++-v3/testsuite/experimental/scopeguard/uniqueres.cc
index 27a427f..4deb60a 100644
--- a/libstdc++-v3/testsuite/experimental/scopeguard/uniqueres.cc
+++ b/libstdc++-v3/testsuite/experimental/scopeguard/uniqueres.cc
@@ -1,7 +1,7 @@
// { dg-do run { target c++20 } }
+// { dg-add-options no_pch }
#include <experimental/scope>
-#include <testsuite_hooks.h>
#ifndef __cpp_lib_experimental_scope
# error Feature-test macro is not defined.
@@ -9,6 +9,8 @@
# error Feature-test macro has bad value.
#endif
+#include <testsuite_hooks.h>
+
using std::experimental::unique_resource;
void
diff --git a/libstdc++-v3/testsuite/std/concepts/1.cc b/libstdc++-v3/testsuite/std/concepts/1.cc
index 0301b91..0d056d6 100644
--- a/libstdc++-v3/testsuite/std/concepts/1.cc
+++ b/libstdc++-v3/testsuite/std/concepts/1.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do preprocess { target c++20 } }
+// { dg-add-options no_pch }
#include <concepts>
diff --git a/libstdc++-v3/testsuite/std/concepts/2.cc b/libstdc++-v3/testsuite/std/concepts/2.cc
index 53a1e00..ebb054a 100644
--- a/libstdc++-v3/testsuite/std/concepts/2.cc
+++ b/libstdc++-v3/testsuite/std/concepts/2.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do preprocess { target c++20 } }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/std/ranges/adaptors/as_const/1.cc b/libstdc++-v3/testsuite/std/ranges/adaptors/as_const/1.cc
index 48c7d38..2d36e0a 100644
--- a/libstdc++-v3/testsuite/std/ranges/adaptors/as_const/1.cc
+++ b/libstdc++-v3/testsuite/std/ranges/adaptors/as_const/1.cc
@@ -1,6 +1,12 @@
// { dg-do run { target c++23 } }
+// { dg-add-options no_pch }
#include <ranges>
+
+#if __cpp_lib_ranges_as_const != 202207L
+# error "Feature-test macro __cpp_lib_ranges_as_const has wrong value in <ranges>"
+#endif
+
#include <algorithm>
#include <span>
#include <utility>
@@ -8,10 +14,6 @@
#include <testsuite_hooks.h>
#include <testsuite_iterators.h>
-#if __cpp_lib_ranges_as_const != 202207L
-# error "Feature-test macro __cpp_lib_ranges_as_const has wrong value in <ranges>"
-#endif
-
namespace ranges = std::ranges;
namespace views = std::views;
diff --git a/libstdc++-v3/testsuite/std/ranges/adaptors/as_rvalue/1.cc b/libstdc++-v3/testsuite/std/ranges/adaptors/as_rvalue/1.cc
index 74223a6..4877007 100644
--- a/libstdc++-v3/testsuite/std/ranges/adaptors/as_rvalue/1.cc
+++ b/libstdc++-v3/testsuite/std/ranges/adaptors/as_rvalue/1.cc
@@ -1,15 +1,17 @@
// { dg-do run { target c++23 } }
+// { dg-add-options no_pch }
#include <ranges>
-#include <algorithm>
-#include <memory>
-#include <testsuite_hooks.h>
-#include <testsuite_iterators.h>
#if __cpp_lib_ranges_as_rvalue != 202207L
# error "Feature-test macro __cpp_lib_ranges_as_rvalue has wrong value in <ranges>"
#endif
+#include <algorithm>
+#include <memory>
+#include <testsuite_hooks.h>
+#include <testsuite_iterators.h>
+
namespace ranges = std::ranges;
namespace views = std::views;
diff --git a/libstdc++-v3/testsuite/std/ranges/adaptors/chunk/1.cc b/libstdc++-v3/testsuite/std/ranges/adaptors/chunk/1.cc
index 7b8d4ba..90eb608 100644
--- a/libstdc++-v3/testsuite/std/ranges/adaptors/chunk/1.cc
+++ b/libstdc++-v3/testsuite/std/ranges/adaptors/chunk/1.cc
@@ -1,15 +1,17 @@
// { dg-do run { target c++23 } }
+// { dg-add-options no_pch }
#include <ranges>
-#include <algorithm>
-#include <vector>
-#include <testsuite_hooks.h>
-#include <testsuite_iterators.h>
#if __cpp_lib_ranges_chunk != 202202L
# error "Feature-test macro __cpp_lib_ranges_chunk has wrong value in <ranges>"
#endif
+#include <algorithm>
+#include <vector>
+#include <testsuite_hooks.h>
+#include <testsuite_iterators.h>
+
namespace ranges = std::ranges;
namespace views = std::views;
diff --git a/libstdc++-v3/testsuite/std/ranges/adaptors/chunk_by/1.cc b/libstdc++-v3/testsuite/std/ranges/adaptors/chunk_by/1.cc
index 656c3c0..5d1ce55 100644
--- a/libstdc++-v3/testsuite/std/ranges/adaptors/chunk_by/1.cc
+++ b/libstdc++-v3/testsuite/std/ranges/adaptors/chunk_by/1.cc
@@ -1,15 +1,17 @@
// { dg-do run { target c++23 } }
+// { dg-add-options no_pch }
#include <ranges>
-#include <algorithm>
-#include <vector>
-#include <testsuite_hooks.h>
-#include <testsuite_iterators.h>
#if __cpp_lib_ranges_chunk_by != 202202L
# error "Feature-test macro __cpp_lib_ranges_chunk_by has wrong value in <ranges>"
#endif
+#include <algorithm>
+#include <vector>
+#include <testsuite_hooks.h>
+#include <testsuite_iterators.h>
+
namespace ranges = std::ranges;
namespace views = std::views;
diff --git a/libstdc++-v3/testsuite/std/ranges/adaptors/enumerate/1.cc b/libstdc++-v3/testsuite/std/ranges/adaptors/enumerate/1.cc
index d522168..c33aa9f 100644
--- a/libstdc++-v3/testsuite/std/ranges/adaptors/enumerate/1.cc
+++ b/libstdc++-v3/testsuite/std/ranges/adaptors/enumerate/1.cc
@@ -1,15 +1,17 @@
// { dg-do run { target c++23 } }
+// { dg-add-options no_pch }
#include <ranges>
-#include <algorithm>
-#include <memory>
-#include <testsuite_hooks.h>
-#include <testsuite_iterators.h>
#if __cpp_lib_ranges_enumerate != 202302L
# error "Feature-test macro __cpp_lib_ranges_enumerate has wrong value in <ranges>"
#endif
+#include <algorithm>
+#include <memory>
+#include <testsuite_hooks.h>
+#include <testsuite_iterators.h>
+
namespace ranges = std::ranges;
namespace views = std::views;
diff --git a/libstdc++-v3/testsuite/std/ranges/adaptors/join_with/1.cc b/libstdc++-v3/testsuite/std/ranges/adaptors/join_with/1.cc
index 7bed169..8ab30a5 100644
--- a/libstdc++-v3/testsuite/std/ranges/adaptors/join_with/1.cc
+++ b/libstdc++-v3/testsuite/std/ranges/adaptors/join_with/1.cc
@@ -1,15 +1,17 @@
// { dg-do run { target c++23 } }
+// { dg-add-options no_pch }
#include <ranges>
-#include <algorithm>
-#include <string>
-#include <testsuite_hooks.h>
-#include <testsuite_iterators.h>
#if __cpp_lib_ranges_join_with != 202202L
# error "Feature-test macro __cpp_lib_ranges_join_with has wrong value in <ranges>"
#endif
+#include <algorithm>
+#include <string>
+#include <testsuite_hooks.h>
+#include <testsuite_iterators.h>
+
namespace ranges = std::ranges;
namespace views = std::views;
using namespace std::literals;
diff --git a/libstdc++-v3/testsuite/std/ranges/adaptors/slide/1.cc b/libstdc++-v3/testsuite/std/ranges/adaptors/slide/1.cc
index 8dfb871..bafe9fb 100644
--- a/libstdc++-v3/testsuite/std/ranges/adaptors/slide/1.cc
+++ b/libstdc++-v3/testsuite/std/ranges/adaptors/slide/1.cc
@@ -1,15 +1,17 @@
// { dg-do run { target c++23 } }
+// { dg-add-options no_pch }
#include <ranges>
-#include <algorithm>
-#include <utility>
-#include <testsuite_hooks.h>
-#include <testsuite_iterators.h>
#if __cpp_lib_ranges_slide != 202202L
# error "Feature-test macro __cpp_lib_ranges_slide has wrong value in <ranges>"
#endif
+#include <algorithm>
+#include <utility>
+#include <testsuite_hooks.h>
+#include <testsuite_iterators.h>
+
namespace ranges = std::ranges;
namespace views = std::views;
diff --git a/libstdc++-v3/testsuite/std/ranges/adaptors/stride/1.cc b/libstdc++-v3/testsuite/std/ranges/adaptors/stride/1.cc
index dfc413d..e0af8c8 100644
--- a/libstdc++-v3/testsuite/std/ranges/adaptors/stride/1.cc
+++ b/libstdc++-v3/testsuite/std/ranges/adaptors/stride/1.cc
@@ -1,14 +1,16 @@
// { dg-do run { target c++23 } }
+// { dg-add-options no_pch }
#include <ranges>
-#include <algorithm>
-#include <testsuite_hooks.h>
-#include <testsuite_iterators.h>
#if __cpp_lib_ranges_stride != 202207L
# error "Feature-test macro __cpp_lib_ranges_stride has wrong value in <ranges>"
#endif
+#include <algorithm>
+#include <testsuite_hooks.h>
+#include <testsuite_iterators.h>
+
namespace ranges = std::ranges;
namespace views = std::views;
diff --git a/libstdc++-v3/testsuite/std/ranges/cartesian_product/1.cc b/libstdc++-v3/testsuite/std/ranges/cartesian_product/1.cc
index 8938e92..f69f965 100644
--- a/libstdc++-v3/testsuite/std/ranges/cartesian_product/1.cc
+++ b/libstdc++-v3/testsuite/std/ranges/cartesian_product/1.cc
@@ -1,15 +1,17 @@
// { dg-do run { target c++23 } }
+// { dg-add-options no_pch }
#include <ranges>
-#include <algorithm>
-#include <sstream>
-#include <testsuite_hooks.h>
-#include <testsuite_iterators.h>
#if __cpp_lib_ranges_cartesian_product != 202207L
# error "Feature-test macro __cpp_lib_ranges_cartesian_product has wrong value in <ranges>"
#endif
+#include <algorithm>
+#include <sstream>
+#include <testsuite_hooks.h>
+#include <testsuite_iterators.h>
+
namespace ranges = std::ranges;
namespace views = std::views;
diff --git a/libstdc++-v3/testsuite/std/ranges/headers/ranges/synopsis.cc b/libstdc++-v3/testsuite/std/ranges/headers/ranges/synopsis.cc
index dfa3fca..e9fef0d 100644
--- a/libstdc++-v3/testsuite/std/ranges/headers/ranges/synopsis.cc
+++ b/libstdc++-v3/testsuite/std/ranges/headers/ranges/synopsis.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <ranges>
diff --git a/libstdc++-v3/testsuite/std/ranges/repeat/1.cc b/libstdc++-v3/testsuite/std/ranges/repeat/1.cc
index 0f6e551..cad8c8d 100644
--- a/libstdc++-v3/testsuite/std/ranges/repeat/1.cc
+++ b/libstdc++-v3/testsuite/std/ranges/repeat/1.cc
@@ -1,14 +1,16 @@
// { dg-do run { target c++23 } }
+// { dg-add-options no_pch }
#include <ranges>
-#include <algorithm>
-#include <memory>
-#include <testsuite_hooks.h>
#if __cpp_lib_ranges_repeat != 202207L
# error "Feature-test macro __cpp_lib_ranges_repeat has wrong value in <ranges>"
#endif
+#include <algorithm>
+#include <memory>
+#include <testsuite_hooks.h>
+
namespace ranges = std::ranges;
namespace views = std::views;
diff --git a/libstdc++-v3/testsuite/std/ranges/version_c++23.cc b/libstdc++-v3/testsuite/std/ranges/version_c++23.cc
index f68df67..823264f 100644
--- a/libstdc++-v3/testsuite/std/ranges/version_c++23.cc
+++ b/libstdc++-v3/testsuite/std/ranges/version_c++23.cc
@@ -1,4 +1,5 @@
// { dg-do preprocess { target c++23 } }
+// { dg-add-options no_pch }
#include <version>
diff --git a/libstdc++-v3/testsuite/std/ranges/zip/1.cc b/libstdc++-v3/testsuite/std/ranges/zip/1.cc
index f7c2c00..b7717ae 100644
--- a/libstdc++-v3/testsuite/std/ranges/zip/1.cc
+++ b/libstdc++-v3/testsuite/std/ranges/zip/1.cc
@@ -1,16 +1,18 @@
// { dg-do run { target c++23 } }
+// { dg-add-options no_pch }
#include <ranges>
+
+#if __cpp_lib_ranges_zip != 202110L
+# error "Feature-test macro __cpp_lib_ranges_zip has wrong value in <ranges>"
+#endif
+
#include <algorithm>
#include <utility>
#include <vector>
#include <testsuite_hooks.h>
#include <testsuite_iterators.h>
-#if __cpp_lib_ranges_zip != 202110L
-# error "Feature-test macro __cpp_lib_ranges_zip has wrong value in <ranges>"
-#endif
-
namespace ranges = std::ranges;
namespace views = std::views;
diff --git a/libstdc++-v3/testsuite/std/time/syn_c++20.cc b/libstdc++-v3/testsuite/std/time/syn_c++20.cc
index 9f0e5ee..dd9e405 100644
--- a/libstdc++-v3/testsuite/std/time/syn_c++20.cc
+++ b/libstdc++-v3/testsuite/std/time/syn_c++20.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target c++20 } }
+// { dg-add-options no_pch }
#include <chrono>