public inbox for libstdc++-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r14-5522] libstdc++: Test for feature test macros more accurately
@ 2023-11-16  8:10 Jonathan Wakely
  0 siblings, 0 replies; only message in thread
From: Jonathan Wakely @ 2023-11-16  8:10 UTC (permalink / raw)
  To: gcc-cvs, libstdc++-cvs

https://gcc.gnu.org/g:f4ab68469ccffa83f23c321e8cb675b1eaf35f0c

commit r14-5522-gf4ab68469ccffa83f23c321e8cb675b1eaf35f0c
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Tue Sep 19 17:46:32 2023 +0100

    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.

Diff:
---
 .../testsuite/18_support/byte/requirements.cc      |  1 +
 .../testsuite/18_support/destroying_delete.cc      |  1 +
 .../testsuite/18_support/source_location/1.cc      |  3 ++-
 .../18_support/source_location/version.cc          |  1 +
 .../testsuite/18_support/type_info/constexpr.cc    |  1 +
 .../uncaught_exceptions/uncaught_exceptions.cc     |  1 +
 .../testsuite/19_diagnostics/stacktrace/output.cc  |  1 +
 .../19_diagnostics/stacktrace/synopsis.cc          |  1 +
 .../testsuite/19_diagnostics/stacktrace/version.cc |  1 +
 .../20_util/addressof/requirements/constexpr.cc    |  1 +
 .../testsuite/20_util/allocator_traits/header-2.cc |  1 +
 .../testsuite/20_util/allocator_traits/header.cc   |  1 +
 libstdc++-v3/testsuite/20_util/as_const/1.cc       |  1 +
 .../20_util/bitset/cons/constexpr_c++23.cc         |  1 +
 libstdc++-v3/testsuite/20_util/bitset/version.cc   |  1 +
 .../20_util/duration/arithmetic/constexpr_c++17.cc |  1 +
 .../testsuite/20_util/duration_cast/rounding.cc    |  1 +
 .../members/weak_from_this.cc                      |  1 +
 .../testsuite/20_util/exchange/constexpr.cc        |  1 +
 .../testsuite/20_util/expected/synopsis.cc         |  1 +
 libstdc++-v3/testsuite/20_util/expected/version.cc |  1 +
 .../20_util/function_objects/bind_front/1.cc       |  8 +++---
 .../20_util/function_objects/bind_front/2.cc       | 12 +++++----
 .../testsuite/20_util/function_objects/invoke/3.cc |  1 +
 .../testsuite/20_util/function_objects/invoke/4.cc |  1 +
 .../20_util/function_objects/invoke/constexpr.cc   |  5 ++--
 .../20_util/function_objects/invoke/version.cc     |  1 +
 .../20_util/function_objects/searchers.cc          | 16 ++++++-----
 .../testsuite/20_util/integer_comparisons/1.cc     |  1 +
 .../testsuite/20_util/integer_comparisons/2.cc     |  1 +
 .../testsuite/20_util/is_bounded_array/value.cc    |  8 +++---
 .../20_util/is_layout_compatible/value.cc          |  2 ++
 .../20_util/is_layout_compatible/version.cc        |  1 +
 .../requirements/explicit_instantiation.cc         |  1 +
 .../is_nothrow_swappable/requirements/typedefs.cc  |  1 +
 .../20_util/is_nothrow_swappable/value.cc          |  1 +
 .../testsuite/20_util/is_nothrow_swappable/value.h | 13 ++++-----
 .../requirements/explicit_instantiation.cc         |  6 -----
 .../requirements/typedefs.cc                       |  6 -----
 .../20_util/is_nothrow_swappable_with/value.cc     |  4 ++-
 .../20_util/is_pointer_interconvertible/value.cc   |  2 ++
 .../20_util/is_pointer_interconvertible/version.cc |  1 +
 .../testsuite/20_util/is_scoped_enum/value.cc      |  1 +
 .../testsuite/20_util/is_scoped_enum/version.cc    |  1 +
 .../requirements/explicit_instantiation.cc         |  6 -----
 .../20_util/is_swappable/requirements/typedefs.cc  |  6 -----
 .../testsuite/20_util/is_swappable/value.cc        |  1 +
 .../testsuite/20_util/is_swappable/value.h         | 13 ++++-----
 .../requirements/explicit_instantiation.cc         |  6 -----
 .../is_swappable_with/requirements/typedefs.cc     |  6 -----
 .../testsuite/20_util/is_swappable_with/value.cc   |  4 ++-
 .../testsuite/20_util/is_unbounded_array/value.cc  |  4 ++-
 .../testsuite/20_util/move_only_function/cons.cc   |  1 +
 .../20_util/move_only_function/version.cc          |  1 +
 .../testsuite/20_util/optional/monadic/and_then.cc |  1 +
 .../testsuite/20_util/optional/requirements.cc     |  1 +
 libstdc++-v3/testsuite/20_util/optional/version.cc |  1 +
 libstdc++-v3/testsuite/20_util/owner_less/void.cc  |  3 ++-
 .../20_util/reference_from_temporary/value.cc      |  8 +++---
 .../20_util/reference_from_temporary/version.cc    |  1 +
 .../20_util/shared_ptr/atomic/atomic_shared_ptr.cc |  1 +
 .../testsuite/20_util/shared_ptr/creation/array.cc |  1 +
 .../20_util/shared_ptr/creation/overwrite.cc       |  1 +
 .../20_util/shared_ptr/creation/version.cc         |  1 +
 .../testsuite/20_util/time_point_cast/rounding.cc  |  1 +
 .../testsuite/20_util/to_chars/constexpr.cc        |  1 +
 libstdc++-v3/testsuite/20_util/to_chars/result.cc  |  4 ++-
 libstdc++-v3/testsuite/20_util/to_chars/version.cc |  1 +
 libstdc++-v3/testsuite/20_util/to_underlying/1.cc  |  1 +
 .../testsuite/20_util/to_underlying/version.cc     |  1 +
 libstdc++-v3/testsuite/20_util/tuple/apply/1.cc    |  4 ++-
 .../tuple/cons/constexpr_allocator_arg_t.cc        |  1 +
 .../testsuite/20_util/tuple/make_from_tuple/1.cc   |  8 +++---
 libstdc++-v3/testsuite/20_util/tuple/p2321r2.cc    |  6 +++--
 .../testsuite/20_util/tuple/tuple_element_t.cc     |  1 +
 .../20_util/unique_ptr/cons/constexpr_c++20.cc     |  1 +
 .../20_util/unique_ptr/creation/for_overwrite.cc   |  1 +
 libstdc++-v3/testsuite/20_util/unreachable/1.cc    |  1 +
 .../testsuite/20_util/unreachable/version.cc       |  1 +
 .../testsuite/20_util/unwrap_reference/1.cc        |  1 +
 .../testsuite/20_util/unwrap_reference/3.cc        |  1 +
 .../testsuite/20_util/variant/constexpr.cc         |  1 +
 libstdc++-v3/testsuite/20_util/variant/version.cc  |  1 +
 .../testsuite/20_util/variant/visit_inherited.cc   |  1 +
 libstdc++-v3/testsuite/20_util/void_t/1.cc         |  1 +
 .../capacity/char/resize_and_overwrite.cc          |  2 +-
 .../21_strings/basic_string/cons/char/constexpr.cc |  1 +
 .../basic_string/cons/wchar_t/constexpr.cc         |  1 +
 .../testsuite/21_strings/basic_string/erasure.cc   |  4 ++-
 .../numeric_conversions/char/to_string_float.cc    | 31 +++++++++++++---------
 .../basic_string/numeric_conversions/version.cc    |  2 ++
 .../testsuite/21_strings/basic_string/version.cc   |  1 +
 .../basic_string_view/operations/contains/char.cc  |  1 +
 .../operations/contains/char/2.cc                  |  1 +
 .../operations/copy/char/constexpr.cc              |  1 +
 .../requirements/constexpr_functions_c++17.cc      |  1 +
 .../requirements/constexpr_functions_c++20.cc      |  1 +
 .../21_strings/char_traits/requirements/version.cc |  1 +
 .../array/comparison_operators/constexpr.cc        |  3 ++-
 .../testsuite/23_containers/array/creation/1.cc    |  1 +
 .../testsuite/23_containers/array/creation/2.cc    |  1 +
 .../array/element_access/constexpr_c++17.cc        |  1 +
 .../array/requirements/constexpr_fill.cc           |  3 ++-
 .../array/requirements/constexpr_iter.cc           |  3 ++-
 .../23_containers/array/tuple_interface/get_neg.cc |  6 ++---
 .../testsuite/23_containers/deque/erasure.cc       |  4 ++-
 .../23_containers/forward_list/erasure.cc          |  4 ++-
 .../testsuite/23_containers/list/erasure.cc        |  4 ++-
 .../testsuite/23_containers/map/erasure.cc         |  6 +++--
 .../23_containers/queue/cons_from_iters.cc         |  1 +
 .../testsuite/23_containers/set/erasure.cc         |  4 ++-
 libstdc++-v3/testsuite/23_containers/span/1.cc     |  1 +
 libstdc++-v3/testsuite/23_containers/span/2.cc     |  1 +
 .../23_containers/stack/cons_from_iters.cc         |  1 +
 .../23_containers/unordered_map/erasure.cc         |  6 +++--
 .../23_containers/unordered_map/operations/1.cc    |  1 +
 .../23_containers/unordered_set/erasure.cc         |  4 ++-
 .../23_containers/unordered_set/operations/1.cc    |  1 +
 .../23_containers/vector/cons/constexpr.cc         |  1 +
 .../testsuite/23_containers/vector/erasure.cc      |  4 ++-
 .../23_containers/vector/requirements/version.cc   |  1 +
 .../24_iterators/insert_iterator/constexpr.cc      |  1 +
 .../testsuite/25_algorithms/clamp/constexpr.cc     |  8 +++---
 .../clamp/requirements/explicit_instantiation/1.cc |  6 -----
 .../testsuite/25_algorithms/constexpr_macro.cc     |  1 +
 .../testsuite/25_algorithms/cpp_lib_constexpr.cc   |  1 +
 .../testsuite/25_algorithms/fold_left/1.cc         |  6 +++--
 .../testsuite/25_algorithms/pstl/feature_test-2.cc |  1 +
 .../testsuite/25_algorithms/pstl/feature_test-3.cc |  1 +
 .../testsuite/25_algorithms/pstl/feature_test-4.cc |  1 +
 .../testsuite/25_algorithms/pstl/feature_test-5.cc |  1 +
 .../testsuite/25_algorithms/pstl/feature_test.cc   |  1 +
 .../26_numerics/bit/bit.byteswap/byteswap.cc       |  1 +
 .../26_numerics/bit/bit.byteswap/version.cc        |  1 +
 .../testsuite/26_numerics/bit/bit.cast/bit_cast.cc |  1 +
 .../testsuite/26_numerics/bit/bit.cast/version.cc  |  1 +
 libstdc++-v3/testsuite/26_numerics/bit/header-2.cc |  1 +
 libstdc++-v3/testsuite/26_numerics/bit/header.cc   |  1 +
 libstdc++-v3/testsuite/26_numerics/complex/1.cc    |  1 +
 libstdc++-v3/testsuite/26_numerics/complex/2.cc    |  1 +
 libstdc++-v3/testsuite/26_numerics/endian/2.cc     |  1 +
 libstdc++-v3/testsuite/26_numerics/endian/3.cc     |  1 +
 libstdc++-v3/testsuite/26_numerics/gcd/1.cc        |  1 +
 libstdc++-v3/testsuite/26_numerics/lcm/1.cc        |  1 +
 libstdc++-v3/testsuite/26_numerics/lerp/1.cc       |  1 +
 libstdc++-v3/testsuite/26_numerics/lerp/version.cc |  1 +
 .../testsuite/26_numerics/midpoint/integral.cc     |  1 +
 .../testsuite/26_numerics/midpoint/version.cc      |  1 +
 libstdc++-v3/testsuite/26_numerics/numbers/1.cc    |  1 +
 libstdc++-v3/testsuite/26_numerics/numbers/2.cc    |  1 +
 .../27_io/basic_filebuf/native_handle/char/1.cc    |  1 +
 .../27_io/basic_filebuf/native_handle/version.cc   |  1 +
 .../27_io/basic_ofstream/open/char/noreplace.cc    |  1 +
 .../27_io/basic_ofstream/open/wchar_t/noreplace.cc |  1 +
 libstdc++-v3/testsuite/27_io/basic_syncbuf/1.cc    |  1 +
 libstdc++-v3/testsuite/27_io/basic_syncbuf/2.cc    |  1 +
 libstdc++-v3/testsuite/27_io/basic_syncstream/1.cc |  1 +
 libstdc++-v3/testsuite/27_io/basic_syncstream/2.cc |  1 +
 libstdc++-v3/testsuite/27_io/spanstream/1.cc       |  1 +
 libstdc++-v3/testsuite/27_io/spanstream/version.cc |  1 +
 .../testsuite/29_atomics/atomic/cons/value_init.cc |  1 +
 .../29_atomics/atomic/lock_free_aliases.cc         |  1 +
 .../testsuite/29_atomics/atomic/wait_notify/1.cc   |  1 +
 .../testsuite/29_atomics/atomic/wait_notify/2.cc   |  1 +
 .../29_atomics/headers/stdatomic.h/c_compat.cc     |  1 +
 .../29_atomics/headers/stdatomic.h/version.cc      |  1 +
 libstdc++-v3/testsuite/30_threads/barrier/1.cc     |  1 +
 libstdc++-v3/testsuite/30_threads/barrier/2.cc     |  1 +
 .../condition_variable_any/stop_token/1.cc         |  1 +
 .../condition_variable_any/stop_token/2.cc         |  1 +
 libstdc++-v3/testsuite/30_threads/jthread/1.cc     |  1 +
 .../testsuite/30_threads/jthread/version.cc        |  1 +
 libstdc++-v3/testsuite/30_threads/latch/1.cc       |  1 +
 libstdc++-v3/testsuite/30_threads/latch/2.cc       |  1 +
 .../scoped_lock/requirements/typedefs.cc           |  2 +-
 libstdc++-v3/testsuite/30_threads/semaphore/1.cc   |  1 +
 libstdc++-v3/testsuite/30_threads/semaphore/2.cc   |  1 +
 libstdc++-v3/testsuite/30_threads/stop_token/1.cc  |  1 +
 libstdc++-v3/testsuite/30_threads/stop_token/2.cc  |  1 +
 .../testsuite/experimental/feat-char8_t.cc         |  1 +
 libstdc++-v3/testsuite/experimental/feat-cxx14.cc  |  3 +++
 .../experimental/iterator/ostream_joiner.cc        |  6 +++--
 libstdc++-v3/testsuite/experimental/numeric/gcd.cc |  4 ++-
 .../testsuite/experimental/scopeguard/uniqueres.cc |  4 ++-
 libstdc++-v3/testsuite/std/concepts/1.cc           |  1 +
 libstdc++-v3/testsuite/std/concepts/2.cc           |  1 +
 .../testsuite/std/ranges/adaptors/as_const/1.cc    | 10 ++++---
 .../testsuite/std/ranges/adaptors/as_rvalue/1.cc   | 10 ++++---
 .../testsuite/std/ranges/adaptors/chunk/1.cc       | 10 ++++---
 .../testsuite/std/ranges/adaptors/chunk_by/1.cc    | 10 ++++---
 .../testsuite/std/ranges/adaptors/enumerate/1.cc   | 10 ++++---
 .../testsuite/std/ranges/adaptors/join_with/1.cc   | 10 ++++---
 .../testsuite/std/ranges/adaptors/slide/1.cc       | 10 ++++---
 .../testsuite/std/ranges/adaptors/stride/1.cc      |  8 +++---
 .../testsuite/std/ranges/cartesian_product/1.cc    | 10 ++++---
 .../std/ranges/headers/ranges/synopsis.cc          |  1 +
 libstdc++-v3/testsuite/std/ranges/repeat/1.cc      |  8 +++---
 libstdc++-v3/testsuite/std/ranges/version_c++23.cc |  1 +
 libstdc++-v3/testsuite/std/ranges/zip/1.cc         | 10 ++++---
 libstdc++-v3/testsuite/std/time/syn_c++20.cc       |  1 +
 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 1d3b269a677..1c62f762e87 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 2ee927225a0..e6c5f28d3e4 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 48707b3c3e7..f89944cedd1 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 8cb59023e12..8cf8c5b3917 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 9390aa45f80..bb4bb4485c2 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 7f3ddf05103..405f81cae4d 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 35389ecbd85..4960ccb85b8 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 5e32527b88b..9e775b86ac9 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 ecfaf4165c3..21c2d48b7b5 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 bc024d69292..38c4f0495cd 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 9393d8a885d..0ebef20dec3 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 4a88abaadb7..de9327f935a 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 bcff9f78dda..eae34018002 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 871d17d9b04..7e2eba5095d 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 1badb29507a..8117092b417 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 6fe5475caf0..d06c5c836f3 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 0be51916942..77c3497a890 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 bd157325945..fd47e839baa 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 2a7d79201b1..3c687187a24 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 237754dd780..a0d2d5bea22 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 b592e641003..6deaa68a75e 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 8a8c11a79c2..3baa7219b5c 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 0ea892612f6..7d349377c89 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 1a4c9327f63..6cb0875c360 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 38367f70534..9356a400c01 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 122e2116f1a..4e13e8701da 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 2dc71aea504..cdd5505ba44 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 6f1a8dd3175..eb9f49f3da3 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 245fec96315..585d8a1d382 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 3e2bf573c0b..3979e16319f 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 dd417cf6a2a..4c7d848dcb5 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 6232f6ac671..51ca384ee71 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 be6079d6b5e..d44442e6a2c 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 87695bcd6e8..27268eec08f 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 ac39c8c7b2f..c5d4afbe709 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 247daf21fab..185f4aaee74 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 45cee6915f0..fa5a642197f 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 aa2bade16c2..1b0dc1e2a8c 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 f90f19cb747..509b5e78d3f 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 50fa29723c5..b138f84ddab 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 fb4652d932d..4d67c8c8df1 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 82882237e9d..9347cc0a2ce 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 43dc03be8a8..9f3bd0277ec 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 698cb48d3b3..7ef8a257401 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 ad3e12e5a71..0d47bd59ca8 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 3356d08ef69..ac742473066 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 ac875393158..6b3ee1857bd 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 c532c8323d1..210509a2e7b 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 1f3bc6b12d8..c1c90aef5a2 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 d7354e74351..8fc3b9a5d52 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 c5294485ae1..51ee09abf91 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 495e1e9d89e..7c0b422746e 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 ffe2398f80c..5498f42add5 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 b051a63f729..7721141b8b4 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 a969ca5077e..dd392e2ec00 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 3edfb5cf9b1..cb523c8dc16 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 2fd52f7c194..7e63d425796 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 3c86eda9e65..e5de0bf8de6 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 2df559bd0dd..877c1c93b46 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 7f42c190961..761b9505c34 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 6f790ac6c8e..e972f8af9e5 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 534036287fc..5062a3d1ebf 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 d78ee698eb1..5b8af326b67 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 9c0fc5dda39..bc83c332564 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 ae1ee684a50..43d902f3768 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 e51ea4dbbbe..86b01ee3053 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 5284680460a..c1010534e80 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 df1804e1ff4..41bb35b93f6 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 c970238b297..520f3f4405b 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 f800d7c09e5..0002eb8985c 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 39678408b83..7863e283a61 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 8f672c96d02..5e843038f75 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 bacb401b957..a1fac7d34de 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 774968d87e5..1d04ab03abd 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 79624288c21..78e5ef8fae9 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 02cbd929c94..3c6957c5531 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 37ef1b7356a..8976e6be0c8 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 98d801b3969..f0a93cdaa85 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 b64a6cd82c0..66753f0232e 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 d3a33f842ca..ae9643b1349 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 e2e91fdb34b..12090e132d2 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 55fac029aaf..886fd2dab5c 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 de04c5eb294..fd251dd3768 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 ade83096475..76e881dec75 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 bff88a2898a..b18ee44e3a1 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 3c88b7c163b..edef8c9f911 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 8c60708a3d3..7822c89497b 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 40cea53b590..44c8391ebc2 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 b85496a16f1..23aae3c4dd2 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 3837c896f6b..727e9601271 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 630e06fff8f..669becc36f1 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 865b17905ff..71dd4dfb67f 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 f59cad37722..629af6a9971 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 2f1b6848b76..c351d306180 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 b91fea03c62..92919155cb3 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 0db1673d8d3..34fb51a096b 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 805b84dea58..efddcb23fab 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 908163a2635..1a6fde2bbb7 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 e4029bdc06b..ff773fd9fab 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 9c2eedb5c15..1e158abc275 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 be83073dc3d..a192073bdd4 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 266df756db9..234a4f01a8b 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 6acf1837a68..07a64003c8e 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 7bccd1f79aa..5d06f2dda93 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 889d4aa2e0b..bf64d298579 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 30885d1476a..317ce50fc57 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 2a73b98a293..973a6323f05 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 d6b06b13326..5d32098c17d 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 078d1297404..61090eb810e 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 334ef00b79e..1a1009e34b3 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 a2bbf3ad603..8e629fa9e0c 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 40bb7a0b1f3..c1c0a7e619b 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 533d1721a53..2931c0b14ed 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 77240952909..8df4d33b729 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 696fc05afa4..201145a651c 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 cfeca606c55..cf6ee50f9ef 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 2384136e769..7a298b7a11c 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 b2f13990b56..5da7c31cc52 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 9a784583304..7bf86511240 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 2135b6b8fb3..780a9ca54ba 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 50a10d217f6..ef11ebbbfc6 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 ed2b6488516..24d208cff2b 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 92db5388595..5fcfb1e2e62 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 f696e135477..8cbe6c14835 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 d591b11bd5f..258b7495a5d 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 0774032b0a0..0f4143ea794 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 b08a0651174..d5cbc225412 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 bac78011837..f8dc94f640d 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 27ae1e42c5b..000b2e0a144 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 a397c3db8ae..c128695a309 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 da5b73e5859..7b9ae1bc75e 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 4d758eb9292..da593562428 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 034019b3da2..37b42957e37 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 c179944e6e8..aa59604d186 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 dc7249df68a..b488a8b2df2 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 296adf75682..079780a81b0 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 07d0865214e..94db9e15eb6 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 36207bb5149..ecb6e1bdb11 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 229926cd82c..f4d7bce2335 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 6276e2de405..2b1a5a932f4 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 2822be35563..24a40e47cf4 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 7e02cab4086..5f6ad56600c 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 1475a5a7348..3083682bd1a 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 18828a7d403..1fa16af8316 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 65b715437f5..8aedc47f1ce 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 63206ba8e3f..a6a57733a0f 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 0f8a16e656e..51218f38f2d 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 63206ba8e3f..a6a57733a0f 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 f41551c2148..8443efba086 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 d9e791e2843..d55b44c0257 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 749451a4c81..0551f260ade 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 46c400d12ce..10a559859e3 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 2e99707df86..c34882fa4e9 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 ddb7fd69160..55c7ad4876f 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 d48ad090086..01ce127fbda 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 ad1ab383b1c..a973c448404 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 d48ad090086..01ce127fbda 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 ad1ab383b1c..a973c448404 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 bd45a38ae3c..4f384dbdd54 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 7434e3b292e..4e01113ff98 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 809c6c02443..a852c42f397 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 8192f73dd47..372a63129ff 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 3ded103b4fe..2fe83d58aaa 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 d07bdeece20..35bff9fcf7a 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 70d37d4d8cd..bcdb969b0c0 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 26fa76d0229..5feb08936d8 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 e7f62a17f24..f1e981eb2f8 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 d33597a0c40..d11eacc825b 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 8c173977bcb..03a867c3131 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 754bd912eb4..e698915ed6f 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 e4063af3784..ff3d428efec 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 48241e981ea..00dfbd881a9 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 6f4da112012..ba0a95bad88 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 4ebd9e67ec7..15e325bd950 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 c171afc6a7c..438b62f4814 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 f58e7f522df..ced3c6c700c 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 0bab29417ac..111984d8e0f 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 099c6c1c271..c2f1d8d4d76 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 754bd912eb4..e698915ed6f 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 c9b277a4626..05c1aa21541 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 effe382e06e..c009062b55c 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 61af30058bb..ed2c4da91ed 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 505675d618c..6d447c36ed8 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 27a427f7ea8..4deb60a1422 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 0301b91e869..0d056d68de8 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 53a1e006993..ebb054ac33b 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 48c7d38a0a3..2d36e0a4712 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 74223a699b6..48770077370 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 7b8d4bacc0c..90eb608ca5e 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 656c3c0d15e..5d1ce55b485 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 d5221680d6b..c33aa9ff51e 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 7bed169d127..8ab30a5277d 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 8dfb8715e5a..bafe9fbc4bf 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 dfc413dbb66..e0af8c874fd 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 8938e92158d..f69f965c0ce 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 dfa3fcaa37e..e9fef0dce48 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 0f6e551c1e9..cad8c8dcbe7 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 f68df67d3b3..823264f32aa 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 f7c2c00a2cd..b7717aed92c 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 9f0e5ee5a9d..dd9e4059c1b 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>

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-11-16  8:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-16  8:10 [gcc r14-5522] libstdc++: Test for feature test macros more accurately Jonathan Wakely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).