[libcxx-commits] [libcxx] [llvm] [libc++][C++03] Use `__cxx03/` headers in C++03 mode (PR #109002)

Nikolas Klauser via libcxx-commits libcxx-commits at lists.llvm.org
Fri Dec 20 09:58:54 PST 2024


https://github.com/philnik777 updated https://github.com/llvm/llvm-project/pull/109002

>From 7b2f460950c96083f4e57e9f5acd70db1f6bc546 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser <nikolasklauser at berlin.de>
Date: Tue, 17 Sep 2024 17:35:33 +0200
Subject: [PATCH] [libc++][C++03] Use `__cxx03/` headers in C++03 mode

---
 .github/workflows/libcxx-build-and-test.yaml  |    1 +
 .../cmake/caches/Generic-cxx03-frozen.cmake   |    2 +
 libcxx/include/CMakeLists.txt                 | 1020 +++++++++
 libcxx/include/__cxx03/CMakeLists.txt         | 1092 ---------
 libcxx/include/__cxx03/__config               |    2 +-
 libcxx/include/__cxx03/__configuration/abi.h  |    2 +-
 .../__cxx03/__configuration/compiler.h        |    2 +-
 .../__configuration/config_site_shim.h        |   80 +
 .../__cxx03/__configuration/language.h        |    2 +-
 .../__cxx03/__configuration/platform.h        |    2 +-
 .../locale_base_api/bsd_locale_fallbacks.h    |    2 +-
 .../__cxx03/__thread/support/pthread.h        |    4 +-
 libcxx/include/__cxx03/climits                |    2 +-
 libcxx/include/__cxx03/locale                 |    2 +-
 libcxx/include/__cxx03/module.modulemap       | 1978 ++++++++---------
 libcxx/include/__cxx03/version                |    6 +-
 libcxx/include/algorithm                      |    7 +-
 libcxx/include/any                            |    7 +-
 libcxx/include/array                          |    7 +-
 libcxx/include/atomic                         |    7 +-
 libcxx/include/barrier                        |    7 +-
 libcxx/include/bit                            |    7 +-
 libcxx/include/bitset                         |    7 +-
 libcxx/include/cassert                        |    7 +-
 libcxx/include/ccomplex                       |    7 +-
 libcxx/include/cctype                         |    7 +-
 libcxx/include/cerrno                         |    7 +-
 libcxx/include/cfenv                          |    8 +-
 libcxx/include/cfloat                         |    7 +-
 libcxx/include/charconv                       |    7 +-
 libcxx/include/chrono                         |    7 +-
 libcxx/include/cinttypes                      |    7 +-
 libcxx/include/ciso646                        |    7 +-
 libcxx/include/climits                        |    7 +-
 libcxx/include/clocale                        |    7 +-
 libcxx/include/cmath                          |    7 +-
 libcxx/include/codecvt                        |    7 +-
 libcxx/include/compare                        |    7 +-
 libcxx/include/complex                        |    7 +-
 libcxx/include/complex.h                      |    7 +-
 libcxx/include/concepts                       |    7 +-
 libcxx/include/condition_variable             |    7 +-
 libcxx/include/coroutine                      |    7 +-
 libcxx/include/csetjmp                        |    7 +-
 libcxx/include/csignal                        |    7 +-
 libcxx/include/cstdalign                      |    7 +-
 libcxx/include/cstdarg                        |    7 +-
 libcxx/include/cstdbool                       |    7 +-
 libcxx/include/cstddef                        |    7 +-
 libcxx/include/cstdint                        |    7 +-
 libcxx/include/cstdio                         |    7 +-
 libcxx/include/cstdlib                        |    7 +-
 libcxx/include/cstring                        |    7 +-
 libcxx/include/ctgmath                        |    7 +-
 libcxx/include/ctime                          |    7 +-
 libcxx/include/ctype.h                        |    7 +-
 libcxx/include/cuchar                         |    8 +-
 libcxx/include/cwchar                         |    7 +-
 libcxx/include/cwctype                        |    7 +-
 libcxx/include/deque                          |    7 +-
 libcxx/include/errno.h                        |    7 +-
 libcxx/include/exception                      |    7 +-
 libcxx/include/execution                      |    7 +-
 libcxx/include/expected                       |    7 +-
 libcxx/include/experimental/iterator          |    7 +-
 libcxx/include/experimental/memory            |    7 +-
 libcxx/include/experimental/propagate_const   |    7 +-
 libcxx/include/experimental/simd              |    7 +-
 libcxx/include/experimental/type_traits       |    7 +-
 libcxx/include/experimental/utility           |    7 +-
 libcxx/include/ext/hash_map                   |    7 +-
 libcxx/include/ext/hash_set                   |    7 +-
 libcxx/include/fenv.h                         |    7 +-
 libcxx/include/filesystem                     |    7 +-
 libcxx/include/flat_map                       |    7 +-
 libcxx/include/float.h                        |    7 +-
 libcxx/include/format                         |    7 +-
 libcxx/include/forward_list                   |    7 +-
 libcxx/include/fstream                        |    7 +-
 libcxx/include/functional                     |    7 +-
 libcxx/include/future                         |    7 +-
 libcxx/include/initializer_list               |    7 +-
 libcxx/include/inttypes.h                     |    7 +-
 libcxx/include/iomanip                        |    7 +-
 libcxx/include/ios                            |    7 +-
 libcxx/include/iosfwd                         |    7 +-
 libcxx/include/iostream                       |    7 +-
 libcxx/include/istream                        |    7 +-
 libcxx/include/iterator                       |    7 +-
 libcxx/include/latch                          |    7 +-
 libcxx/include/limits                         |    7 +-
 libcxx/include/list                           |    7 +-
 libcxx/include/locale                         |    7 +-
 libcxx/include/map                            |    9 +-
 libcxx/include/math.h                         |    7 +-
 libcxx/include/mdspan                         |    7 +-
 libcxx/include/memory                         |    7 +-
 libcxx/include/memory_resource                |    7 +-
 libcxx/include/mutex                          |    7 +-
 libcxx/include/new                            |    7 +-
 libcxx/include/numbers                        |    7 +-
 libcxx/include/numeric                        |    7 +-
 libcxx/include/optional                       |    7 +-
 libcxx/include/ostream                        |    7 +-
 libcxx/include/print                          |    7 +-
 libcxx/include/queue                          |    7 +-
 libcxx/include/random                         |    7 +-
 libcxx/include/ranges                         |    7 +-
 libcxx/include/ratio                          |    7 +-
 libcxx/include/regex                          |    7 +-
 libcxx/include/scoped_allocator               |    7 +-
 libcxx/include/semaphore                      |    7 +-
 libcxx/include/set                            |    7 +-
 libcxx/include/shared_mutex                   |    7 +-
 libcxx/include/source_location                |    7 +-
 libcxx/include/span                           |    7 +-
 libcxx/include/sstream                        |    7 +-
 libcxx/include/stack                          |    7 +-
 libcxx/include/stdatomic.h                    |    7 +-
 libcxx/include/stdbool.h                      |    7 +-
 libcxx/include/stddef.h                       |    7 +-
 libcxx/include/stdexcept                      |    7 +-
 libcxx/include/stdio.h                        |    7 +-
 libcxx/include/stdlib.h                       |    7 +-
 libcxx/include/stop_token                     |    7 +-
 libcxx/include/streambuf                      |    7 +-
 libcxx/include/string                         |    7 +-
 libcxx/include/string.h                       |    7 +-
 libcxx/include/string_view                    |    7 +-
 libcxx/include/strstream                      |    7 +-
 libcxx/include/syncstream                     |    7 +-
 libcxx/include/system_error                   |    7 +-
 libcxx/include/tgmath.h                       |    7 +-
 libcxx/include/thread                         |    7 +-
 libcxx/include/tuple                          |    7 +-
 libcxx/include/type_traits                    |    7 +-
 libcxx/include/typeindex                      |    7 +-
 libcxx/include/typeinfo                       |    7 +-
 libcxx/include/uchar.h                        |    7 +-
 libcxx/include/unordered_map                  |    7 +-
 libcxx/include/unordered_set                  |    7 +-
 libcxx/include/utility                        |    7 +-
 libcxx/include/valarray                       |    7 +-
 libcxx/include/variant                        |    7 +-
 libcxx/include/vector                         |    7 +-
 libcxx/include/version                        |   13 +-
 libcxx/include/wchar.h                        |    7 +-
 libcxx/include/wctype.h                       |    7 +-
 .../libcxx/algorithms/half_positive.pass.cpp  |    2 +
 ...customize_verbose_abort.link-time.pass.cpp |    2 +
 .../assertions/default_verbose_abort.pass.cpp |    2 +
 .../libcxx/assertions/modes/none.pass.cpp     |    2 +
 .../assertions/single_expression.pass.cpp     |    2 +
 ...compatible_with_stdatomic.compile.pass.cpp |    2 +
 .../test/libcxx/clang_modules_include.gen.py  |    2 +
 .../tree_balance_after_insert.pass.cpp        |    2 +
 .../tree_key_value_traits.pass.cpp            |    2 +
 .../associative/tree_left_rotate.pass.cpp     |    2 +
 .../associative/tree_remove.pass.cpp          |    2 +
 .../associative/tree_right_rotate.pass.cpp    |    2 +
 .../unord.map/abi.compile.pass.cpp            |    2 +
 .../unord.set/abi.compile.pass.cpp            |    2 +
 .../container_traits.compile.pass.cpp         |    2 +
 .../unord/key_value_traits.pass.cpp           |    2 +
 .../containers/unord/next_pow2.pass.cpp       |    2 +
 .../containers/unord/next_prime.pass.cpp      |    2 +
 .../depr/depr.c.headers/extern_c.pass.cpp     |    2 +
 libcxx/test/libcxx/header_inclusions.gen.py   |    3 +
 .../filebuf/traits_mismatch.verify.cpp        |    2 +
 .../fstreams/traits_mismatch.verify.cpp       |    2 +
 .../input.streams/traits_mismatch.verify.cpp  |    2 +
 .../output.streams/traits_mismatch.verify.cpp |    2 +
 .../stringbuf/const_sso_buffer.pass.cpp       |    2 +
 .../string.streams/traits_mismatch.verify.cpp |    2 +
 .../iterators/aliasing_iterator.pass.cpp      |    2 +
 .../bounded_iter/arithmetic.pass.cpp          |    2 +
 .../bounded_iter/comparison.pass.cpp          |    2 +
 .../bounded_iter/pointer_traits.pass.cpp      |    2 +
 .../bounded_iter/types.compile.pass.cpp       |    2 +
 ...contiguous_iterators.conv.compile.pass.cpp |    2 +
 .../iterators/contiguous_iterators.verify.cpp |    2 +
 .../iterator.operations/prev.verify.cpp       |    2 +
 .../support.dynamic/libcpp_deallocate.sh.cpp  |    2 +
 libcxx/test/libcxx/lint/lint_cmakelists.sh.py |    4 +-
 .../libcxx/memory/allocation_guard.pass.cpp   |    2 +
 .../libcxx/memory/swap_allocator.pass.cpp     |    2 +
 libcxx/test/libcxx/numerics/bit.ops.pass.cpp  |    2 +
 .../numerics/clamp_to_integral.pass.cpp       |    2 +
 .../complex.number/cmplx.over.pow.pass.cpp    |    2 +
 .../test/libcxx/selftest/test_macros.pass.cpp |    3 +
 .../c.strings/constexpr_memmove.pass.cpp      |    2 +
 libcxx/test/libcxx/transitive_includes.gen.py |    2 +
 .../type_traits/datasizeof.compile.pass.cpp   |    2 +
 .../is_constant_evaluated.pass.cpp            |    2 +
 .../is_trivially_comparable.compile.pass.cpp  |    2 +
 .../is_trivially_relocatable.compile.pass.cpp |    2 +
 .../utilities/exception_guard.odr.sh.cpp      |    2 +
 .../utilities/is_pointer_in_range.pass.cpp    |    2 +
 .../libcxx/utilities/is_valid_range.pass.cpp  |    2 +
 .../libcxx/utilities/meta/meta_base.pass.cpp  |    2 +
 .../test/libcxx/utilities/no_destroy.pass.cpp |    2 +
 .../template.bitset/includes.pass.cpp         |    2 +
 .../private_constructor_tag.compile.pass.cpp  |    2 +
 .../array/array.fill/fill.verify.cpp          |    2 +
 .../array/array.swap/swap.verify.cpp          |    2 +
 .../array/array.tuple/get.verify.cpp          |    2 +
 .../array.tuple/tuple_element.verify.cpp      |    2 +
 .../array/size_and_alignment.compile.pass.cpp |    2 +
 .../sequences/forwardlist/types.pass.cpp      |    2 +
 .../containers/sequences/list/types.pass.cpp  |    2 +
 .../vector/vector.cons/exceptions.pass.cpp    |    2 +
 .../fstreams/fstream.cons/default.pass.cpp    |    2 +
 .../fstreams/fstream.cons/move.pass.cpp       |    2 +
 .../fstreams/fstream.cons/pointer.pass.cpp    |    2 +
 .../fstreams/fstream.cons/string.pass.cpp     |    2 +
 .../fstreams/ifstream.cons/default.pass.cpp   |    2 +
 .../fstreams/ifstream.cons/move.pass.cpp      |    2 +
 .../fstreams/ifstream.cons/pointer.pass.cpp   |    2 +
 .../fstreams/ifstream.cons/string.pass.cpp    |    2 +
 .../fstreams/ofstream.cons/default.pass.cpp   |    2 +
 .../fstreams/ofstream.cons/move.pass.cpp      |    2 +
 .../fstreams/ofstream.cons/pointer.pass.cpp   |    2 +
 .../fstreams/ofstream.cons/string.pass.cpp    |    2 +
 .../ios/basic.ios.members/copyfmt.pass.cpp    |    2 +
 .../istringstream.cons/default.pass.cpp       |    2 +
 .../istringstream.cons/move.pass.cpp          |    2 +
 .../istringstream.cons/string.pass.cpp        |    2 +
 .../ostringstream.cons/default.pass.cpp       |    2 +
 .../ostringstream.cons/move.pass.cpp          |    2 +
 .../ostringstream.cons/string.pass.cpp        |    2 +
 .../stringbuf/stringbuf.cons/default.pass.cpp |    2 +
 .../stringstream.cons/default.pass.cpp        |    2 +
 .../stringstream.cons/move.pass.cpp           |    2 +
 .../stringstream.cons/string.pass.cpp         |    2 +
 .../cstdalign.compile.pass.cpp                |    2 +
 .../std/numerics/c.math/isnormal.pass.cpp     |    2 +
 .../test/std/numerics/c.math/signbit.pass.cpp |    2 +
 .../re.tokiter/re.tokiter.cnstr/init.pass.cpp |    2 +
 .../strings/basic.string/char.bad.verify.cpp  |    2 +
 .../strings/string.view/char.bad.verify.cpp   |    2 +
 .../nonstdmem.uglified.compile.pass.cpp       |    2 +
 libcxx/test/support/test_macros.h             |   32 +-
 .../proper_version_checks.cpp                 |    3 +
 libcxx/utils/ci/run-buildbot                  |    6 +
 .../generate_feature_test_macro_components.py |   13 +-
 libcxx/utils/libcxx/test/params.py            |    7 +
 .../vendor/llvm/default_assertion_handler.in  |    9 +-
 247 files changed, 2888 insertions(+), 2505 deletions(-)
 create mode 100644 libcxx/cmake/caches/Generic-cxx03-frozen.cmake
 delete mode 100644 libcxx/include/__cxx03/CMakeLists.txt
 create mode 100644 libcxx/include/__cxx03/__configuration/config_site_shim.h

diff --git a/.github/workflows/libcxx-build-and-test.yaml b/.github/workflows/libcxx-build-and-test.yaml
index a061be3892523d..a28bf4d5daf6d5 100644
--- a/.github/workflows/libcxx-build-and-test.yaml
+++ b/.github/workflows/libcxx-build-and-test.yaml
@@ -43,6 +43,7 @@ jobs:
       fail-fast: false
       matrix:
         config: [
+          'frozen-cxx03-headers',
           'generic-cxx03',
           'generic-cxx26',
           'generic-modules'
diff --git a/libcxx/cmake/caches/Generic-cxx03-frozen.cmake b/libcxx/cmake/caches/Generic-cxx03-frozen.cmake
new file mode 100644
index 00000000000000..dfd158bf6edbe5
--- /dev/null
+++ b/libcxx/cmake/caches/Generic-cxx03-frozen.cmake
@@ -0,0 +1,2 @@
+set(LIBCXX_TEST_PARAMS "std=c++03;test_frozen_cxx03_headers=True" CACHE STRING "")
+set(LIBCXXABI_TEST_PARAMS "${LIBCXX_TEST_PARAMS}" CACHE STRING "")
diff --git a/libcxx/include/CMakeLists.txt b/libcxx/include/CMakeLists.txt
index b5bbfbe7d3a233..0b484ebe5e87c8 100644
--- a/libcxx/include/CMakeLists.txt
+++ b/libcxx/include/CMakeLists.txt
@@ -1054,6 +1054,1026 @@ set(files
   version
   wchar.h
   wctype.h
+
+# C++03 frozen headers
+  __cxx03/__algorithm/adjacent_find.h
+  __cxx03/__algorithm/all_of.h
+  __cxx03/__algorithm/any_of.h
+  __cxx03/__algorithm/binary_search.h
+  __cxx03/__algorithm/clamp.h
+  __cxx03/__algorithm/comp.h
+  __cxx03/__algorithm/comp_ref_type.h
+  __cxx03/__algorithm/copy.h
+  __cxx03/__algorithm/copy_backward.h
+  __cxx03/__algorithm/copy_if.h
+  __cxx03/__algorithm/copy_move_common.h
+  __cxx03/__algorithm/copy_n.h
+  __cxx03/__algorithm/count.h
+  __cxx03/__algorithm/count_if.h
+  __cxx03/__algorithm/equal.h
+  __cxx03/__algorithm/equal_range.h
+  __cxx03/__algorithm/fill.h
+  __cxx03/__algorithm/fill_n.h
+  __cxx03/__algorithm/find.h
+  __cxx03/__algorithm/find_end.h
+  __cxx03/__algorithm/find_first_of.h
+  __cxx03/__algorithm/find_if.h
+  __cxx03/__algorithm/find_if_not.h
+  __cxx03/__algorithm/find_segment_if.h
+  __cxx03/__algorithm/fold.h
+  __cxx03/__algorithm/for_each.h
+  __cxx03/__algorithm/for_each_n.h
+  __cxx03/__algorithm/for_each_segment.h
+  __cxx03/__algorithm/generate.h
+  __cxx03/__algorithm/generate_n.h
+  __cxx03/__algorithm/half_positive.h
+  __cxx03/__algorithm/in_found_result.h
+  __cxx03/__algorithm/in_fun_result.h
+  __cxx03/__algorithm/in_in_out_result.h
+  __cxx03/__algorithm/in_in_result.h
+  __cxx03/__algorithm/in_out_out_result.h
+  __cxx03/__algorithm/in_out_result.h
+  __cxx03/__algorithm/includes.h
+  __cxx03/__algorithm/inplace_merge.h
+  __cxx03/__algorithm/is_heap.h
+  __cxx03/__algorithm/is_heap_until.h
+  __cxx03/__algorithm/is_partitioned.h
+  __cxx03/__algorithm/is_permutation.h
+  __cxx03/__algorithm/is_sorted.h
+  __cxx03/__algorithm/is_sorted_until.h
+  __cxx03/__algorithm/iter_swap.h
+  __cxx03/__algorithm/iterator_operations.h
+  __cxx03/__algorithm/lexicographical_compare.h
+  __cxx03/__algorithm/lexicographical_compare_three_way.h
+  __cxx03/__algorithm/lower_bound.h
+  __cxx03/__algorithm/make_heap.h
+  __cxx03/__algorithm/make_projected.h
+  __cxx03/__algorithm/max.h
+  __cxx03/__algorithm/max_element.h
+  __cxx03/__algorithm/merge.h
+  __cxx03/__algorithm/min.h
+  __cxx03/__algorithm/min_element.h
+  __cxx03/__algorithm/min_max_result.h
+  __cxx03/__algorithm/minmax.h
+  __cxx03/__algorithm/minmax_element.h
+  __cxx03/__algorithm/mismatch.h
+  __cxx03/__algorithm/move.h
+  __cxx03/__algorithm/move_backward.h
+  __cxx03/__algorithm/next_permutation.h
+  __cxx03/__algorithm/none_of.h
+  __cxx03/__algorithm/nth_element.h
+  __cxx03/__algorithm/partial_sort.h
+  __cxx03/__algorithm/partial_sort_copy.h
+  __cxx03/__algorithm/partition.h
+  __cxx03/__algorithm/partition_copy.h
+  __cxx03/__algorithm/partition_point.h
+  __cxx03/__algorithm/pop_heap.h
+  __cxx03/__algorithm/prev_permutation.h
+  __cxx03/__algorithm/pstl.h
+  __cxx03/__algorithm/push_heap.h
+  __cxx03/__algorithm/ranges_adjacent_find.h
+  __cxx03/__algorithm/ranges_all_of.h
+  __cxx03/__algorithm/ranges_any_of.h
+  __cxx03/__algorithm/ranges_binary_search.h
+  __cxx03/__algorithm/ranges_clamp.h
+  __cxx03/__algorithm/ranges_contains.h
+  __cxx03/__algorithm/ranges_contains_subrange.h
+  __cxx03/__algorithm/ranges_copy.h
+  __cxx03/__algorithm/ranges_copy_backward.h
+  __cxx03/__algorithm/ranges_copy_if.h
+  __cxx03/__algorithm/ranges_copy_n.h
+  __cxx03/__algorithm/ranges_count.h
+  __cxx03/__algorithm/ranges_count_if.h
+  __cxx03/__algorithm/ranges_ends_with.h
+  __cxx03/__algorithm/ranges_equal.h
+  __cxx03/__algorithm/ranges_equal_range.h
+  __cxx03/__algorithm/ranges_fill.h
+  __cxx03/__algorithm/ranges_fill_n.h
+  __cxx03/__algorithm/ranges_find.h
+  __cxx03/__algorithm/ranges_find_end.h
+  __cxx03/__algorithm/ranges_find_first_of.h
+  __cxx03/__algorithm/ranges_find_if.h
+  __cxx03/__algorithm/ranges_find_if_not.h
+  __cxx03/__algorithm/ranges_find_last.h
+  __cxx03/__algorithm/ranges_for_each.h
+  __cxx03/__algorithm/ranges_for_each_n.h
+  __cxx03/__algorithm/ranges_generate.h
+  __cxx03/__algorithm/ranges_generate_n.h
+  __cxx03/__algorithm/ranges_includes.h
+  __cxx03/__algorithm/ranges_inplace_merge.h
+  __cxx03/__algorithm/ranges_is_heap.h
+  __cxx03/__algorithm/ranges_is_heap_until.h
+  __cxx03/__algorithm/ranges_is_partitioned.h
+  __cxx03/__algorithm/ranges_is_permutation.h
+  __cxx03/__algorithm/ranges_is_sorted.h
+  __cxx03/__algorithm/ranges_is_sorted_until.h
+  __cxx03/__algorithm/ranges_iterator_concept.h
+  __cxx03/__algorithm/ranges_lexicographical_compare.h
+  __cxx03/__algorithm/ranges_lower_bound.h
+  __cxx03/__algorithm/ranges_make_heap.h
+  __cxx03/__algorithm/ranges_max.h
+  __cxx03/__algorithm/ranges_max_element.h
+  __cxx03/__algorithm/ranges_merge.h
+  __cxx03/__algorithm/ranges_min.h
+  __cxx03/__algorithm/ranges_min_element.h
+  __cxx03/__algorithm/ranges_minmax.h
+  __cxx03/__algorithm/ranges_minmax_element.h
+  __cxx03/__algorithm/ranges_mismatch.h
+  __cxx03/__algorithm/ranges_move.h
+  __cxx03/__algorithm/ranges_move_backward.h
+  __cxx03/__algorithm/ranges_next_permutation.h
+  __cxx03/__algorithm/ranges_none_of.h
+  __cxx03/__algorithm/ranges_nth_element.h
+  __cxx03/__algorithm/ranges_partial_sort.h
+  __cxx03/__algorithm/ranges_partial_sort_copy.h
+  __cxx03/__algorithm/ranges_partition.h
+  __cxx03/__algorithm/ranges_partition_copy.h
+  __cxx03/__algorithm/ranges_partition_point.h
+  __cxx03/__algorithm/ranges_pop_heap.h
+  __cxx03/__algorithm/ranges_prev_permutation.h
+  __cxx03/__algorithm/ranges_push_heap.h
+  __cxx03/__algorithm/ranges_remove.h
+  __cxx03/__algorithm/ranges_remove_copy.h
+  __cxx03/__algorithm/ranges_remove_copy_if.h
+  __cxx03/__algorithm/ranges_remove_if.h
+  __cxx03/__algorithm/ranges_replace.h
+  __cxx03/__algorithm/ranges_replace_copy.h
+  __cxx03/__algorithm/ranges_replace_copy_if.h
+  __cxx03/__algorithm/ranges_replace_if.h
+  __cxx03/__algorithm/ranges_reverse.h
+  __cxx03/__algorithm/ranges_reverse_copy.h
+  __cxx03/__algorithm/ranges_rotate.h
+  __cxx03/__algorithm/ranges_rotate_copy.h
+  __cxx03/__algorithm/ranges_sample.h
+  __cxx03/__algorithm/ranges_search.h
+  __cxx03/__algorithm/ranges_search_n.h
+  __cxx03/__algorithm/ranges_set_difference.h
+  __cxx03/__algorithm/ranges_set_intersection.h
+  __cxx03/__algorithm/ranges_set_symmetric_difference.h
+  __cxx03/__algorithm/ranges_set_union.h
+  __cxx03/__algorithm/ranges_shuffle.h
+  __cxx03/__algorithm/ranges_sort.h
+  __cxx03/__algorithm/ranges_sort_heap.h
+  __cxx03/__algorithm/ranges_stable_partition.h
+  __cxx03/__algorithm/ranges_stable_sort.h
+  __cxx03/__algorithm/ranges_starts_with.h
+  __cxx03/__algorithm/ranges_swap_ranges.h
+  __cxx03/__algorithm/ranges_transform.h
+  __cxx03/__algorithm/ranges_unique.h
+  __cxx03/__algorithm/ranges_unique_copy.h
+  __cxx03/__algorithm/ranges_upper_bound.h
+  __cxx03/__algorithm/remove.h
+  __cxx03/__algorithm/remove_copy.h
+  __cxx03/__algorithm/remove_copy_if.h
+  __cxx03/__algorithm/remove_if.h
+  __cxx03/__algorithm/replace.h
+  __cxx03/__algorithm/replace_copy.h
+  __cxx03/__algorithm/replace_copy_if.h
+  __cxx03/__algorithm/replace_if.h
+  __cxx03/__algorithm/reverse.h
+  __cxx03/__algorithm/reverse_copy.h
+  __cxx03/__algorithm/rotate.h
+  __cxx03/__algorithm/rotate_copy.h
+  __cxx03/__algorithm/sample.h
+  __cxx03/__algorithm/search.h
+  __cxx03/__algorithm/search_n.h
+  __cxx03/__algorithm/set_difference.h
+  __cxx03/__algorithm/set_intersection.h
+  __cxx03/__algorithm/set_symmetric_difference.h
+  __cxx03/__algorithm/set_union.h
+  __cxx03/__algorithm/shift_left.h
+  __cxx03/__algorithm/shift_right.h
+  __cxx03/__algorithm/shuffle.h
+  __cxx03/__algorithm/sift_down.h
+  __cxx03/__algorithm/simd_utils.h
+  __cxx03/__algorithm/sort.h
+  __cxx03/__algorithm/sort_heap.h
+  __cxx03/__algorithm/stable_partition.h
+  __cxx03/__algorithm/stable_sort.h
+  __cxx03/__algorithm/swap_ranges.h
+  __cxx03/__algorithm/three_way_comp_ref_type.h
+  __cxx03/__algorithm/transform.h
+  __cxx03/__algorithm/uniform_random_bit_generator_adaptor.h
+  __cxx03/__algorithm/unique.h
+  __cxx03/__algorithm/unique_copy.h
+  __cxx03/__algorithm/unwrap_iter.h
+  __cxx03/__algorithm/unwrap_range.h
+  __cxx03/__algorithm/upper_bound.h
+  __cxx03/__assert
+  __cxx03/__atomic/aliases.h
+  __cxx03/__atomic/atomic.h
+  __cxx03/__atomic/atomic_base.h
+  __cxx03/__atomic/atomic_flag.h
+  __cxx03/__atomic/atomic_init.h
+  __cxx03/__atomic/atomic_lock_free.h
+  __cxx03/__atomic/atomic_ref.h
+  __cxx03/__atomic/atomic_sync.h
+  __cxx03/__atomic/check_memory_order.h
+  __cxx03/__atomic/contention_t.h
+  __cxx03/__atomic/cxx_atomic_impl.h
+  __cxx03/__atomic/fence.h
+  __cxx03/__atomic/is_always_lock_free.h
+  __cxx03/__atomic/kill_dependency.h
+  __cxx03/__atomic/memory_order.h
+  __cxx03/__atomic/to_gcc_order.h
+  __cxx03/__bit/bit_cast.h
+  __cxx03/__bit/bit_ceil.h
+  __cxx03/__bit/bit_floor.h
+  __cxx03/__bit/bit_log2.h
+  __cxx03/__bit/bit_width.h
+  __cxx03/__bit/blsr.h
+  __cxx03/__bit/byteswap.h
+  __cxx03/__bit/countl.h
+  __cxx03/__bit/countr.h
+  __cxx03/__bit/endian.h
+  __cxx03/__bit/has_single_bit.h
+  __cxx03/__bit/invert_if.h
+  __cxx03/__bit/popcount.h
+  __cxx03/__bit/rotate.h
+  __cxx03/__bit_reference
+  __cxx03/__charconv/chars_format.h
+  __cxx03/__charconv/from_chars_integral.h
+  __cxx03/__charconv/from_chars_result.h
+  __cxx03/__charconv/tables.h
+  __cxx03/__charconv/to_chars.h
+  __cxx03/__charconv/to_chars_base_10.h
+  __cxx03/__charconv/to_chars_floating_point.h
+  __cxx03/__charconv/to_chars_integral.h
+  __cxx03/__charconv/to_chars_result.h
+  __cxx03/__charconv/traits.h
+  __cxx03/__chrono/calendar.h
+  __cxx03/__chrono/concepts.h
+  __cxx03/__chrono/convert_to_timespec.h
+  __cxx03/__chrono/convert_to_tm.h
+  __cxx03/__chrono/day.h
+  __cxx03/__chrono/duration.h
+  __cxx03/__chrono/exception.h
+  __cxx03/__chrono/file_clock.h
+  __cxx03/__chrono/formatter.h
+  __cxx03/__chrono/hh_mm_ss.h
+  __cxx03/__chrono/high_resolution_clock.h
+  __cxx03/__chrono/leap_second.h
+  __cxx03/__chrono/literals.h
+  __cxx03/__chrono/local_info.h
+  __cxx03/__chrono/month.h
+  __cxx03/__chrono/month_weekday.h
+  __cxx03/__chrono/monthday.h
+  __cxx03/__chrono/ostream.h
+  __cxx03/__chrono/parser_std_format_spec.h
+  __cxx03/__chrono/statically_widen.h
+  __cxx03/__chrono/steady_clock.h
+  __cxx03/__chrono/sys_info.h
+  __cxx03/__chrono/system_clock.h
+  __cxx03/__chrono/time_point.h
+  __cxx03/__chrono/time_zone.h
+  __cxx03/__chrono/time_zone_link.h
+  __cxx03/__chrono/tzdb.h
+  __cxx03/__chrono/tzdb_list.h
+  __cxx03/__chrono/weekday.h
+  __cxx03/__chrono/year.h
+  __cxx03/__chrono/year_month.h
+  __cxx03/__chrono/year_month_day.h
+  __cxx03/__chrono/year_month_weekday.h
+  __cxx03/__chrono/zoned_time.h
+  __cxx03/__compare/common_comparison_category.h
+  __cxx03/__compare/compare_partial_order_fallback.h
+  __cxx03/__compare/compare_strong_order_fallback.h
+  __cxx03/__compare/compare_three_way.h
+  __cxx03/__compare/compare_three_way_result.h
+  __cxx03/__compare/compare_weak_order_fallback.h
+  __cxx03/__compare/is_eq.h
+  __cxx03/__compare/ordering.h
+  __cxx03/__compare/partial_order.h
+  __cxx03/__compare/strong_order.h
+  __cxx03/__compare/synth_three_way.h
+  __cxx03/__compare/three_way_comparable.h
+  __cxx03/__compare/weak_order.h
+  __cxx03/__concepts/arithmetic.h
+  __cxx03/__concepts/assignable.h
+  __cxx03/__concepts/boolean_testable.h
+  __cxx03/__concepts/class_or_enum.h
+  __cxx03/__concepts/common_reference_with.h
+  __cxx03/__concepts/common_with.h
+  __cxx03/__concepts/constructible.h
+  __cxx03/__concepts/convertible_to.h
+  __cxx03/__concepts/copyable.h
+  __cxx03/__concepts/derived_from.h
+  __cxx03/__concepts/destructible.h
+  __cxx03/__concepts/different_from.h
+  __cxx03/__concepts/equality_comparable.h
+  __cxx03/__concepts/invocable.h
+  __cxx03/__concepts/movable.h
+  __cxx03/__concepts/predicate.h
+  __cxx03/__concepts/regular.h
+  __cxx03/__concepts/relation.h
+  __cxx03/__concepts/same_as.h
+  __cxx03/__concepts/semiregular.h
+  __cxx03/__concepts/swappable.h
+  __cxx03/__concepts/totally_ordered.h
+  __cxx03/__condition_variable/condition_variable.h
+  __cxx03/__config
+  __cxx03/__configuration/abi.h
+  __cxx03/__configuration/availability.h
+  __cxx03/__configuration/compiler.h
+  __cxx03/__configuration/config_site_shim.h
+  __cxx03/__configuration/language.h
+  __cxx03/__configuration/platform.h
+  __cxx03/__coroutine/coroutine_handle.h
+  __cxx03/__coroutine/coroutine_traits.h
+  __cxx03/__coroutine/noop_coroutine_handle.h
+  __cxx03/__coroutine/trivial_awaitables.h
+  __cxx03/__debug_utils/randomize_range.h
+  __cxx03/__debug_utils/sanitizers.h
+  __cxx03/__debug_utils/strict_weak_ordering_check.h
+  __cxx03/__exception/exception.h
+  __cxx03/__exception/exception_ptr.h
+  __cxx03/__exception/nested_exception.h
+  __cxx03/__exception/operations.h
+  __cxx03/__exception/terminate.h
+  __cxx03/__expected/bad_expected_access.h
+  __cxx03/__expected/expected.h
+  __cxx03/__expected/unexpect.h
+  __cxx03/__expected/unexpected.h
+  __cxx03/__filesystem/copy_options.h
+  __cxx03/__filesystem/directory_entry.h
+  __cxx03/__filesystem/directory_iterator.h
+  __cxx03/__filesystem/directory_options.h
+  __cxx03/__filesystem/file_status.h
+  __cxx03/__filesystem/file_time_type.h
+  __cxx03/__filesystem/file_type.h
+  __cxx03/__filesystem/filesystem_error.h
+  __cxx03/__filesystem/operations.h
+  __cxx03/__filesystem/path.h
+  __cxx03/__filesystem/path_iterator.h
+  __cxx03/__filesystem/perm_options.h
+  __cxx03/__filesystem/perms.h
+  __cxx03/__filesystem/recursive_directory_iterator.h
+  __cxx03/__filesystem/space_info.h
+  __cxx03/__filesystem/u8path.h
+  __cxx03/__format/buffer.h
+  __cxx03/__format/concepts.h
+  __cxx03/__format/container_adaptor.h
+  __cxx03/__format/enable_insertable.h
+  __cxx03/__format/escaped_output_table.h
+  __cxx03/__format/extended_grapheme_cluster_table.h
+  __cxx03/__format/format_arg.h
+  __cxx03/__format/format_arg_store.h
+  __cxx03/__format/format_args.h
+  __cxx03/__format/format_context.h
+  __cxx03/__format/format_error.h
+  __cxx03/__format/format_functions.h
+  __cxx03/__format/format_parse_context.h
+  __cxx03/__format/format_string.h
+  __cxx03/__format/format_to_n_result.h
+  __cxx03/__format/formatter.h
+  __cxx03/__format/formatter_bool.h
+  __cxx03/__format/formatter_char.h
+  __cxx03/__format/formatter_floating_point.h
+  __cxx03/__format/formatter_integer.h
+  __cxx03/__format/formatter_integral.h
+  __cxx03/__format/formatter_output.h
+  __cxx03/__format/formatter_pointer.h
+  __cxx03/__format/formatter_string.h
+  __cxx03/__format/formatter_tuple.h
+  __cxx03/__format/indic_conjunct_break_table.h
+  __cxx03/__format/parser_std_format_spec.h
+  __cxx03/__format/range_default_formatter.h
+  __cxx03/__format/range_formatter.h
+  __cxx03/__format/unicode.h
+  __cxx03/__format/width_estimation_table.h
+  __cxx03/__format/write_escaped.h
+  __cxx03/__functional/binary_function.h
+  __cxx03/__functional/binary_negate.h
+  __cxx03/__functional/bind.h
+  __cxx03/__functional/bind_back.h
+  __cxx03/__functional/bind_front.h
+  __cxx03/__functional/binder1st.h
+  __cxx03/__functional/binder2nd.h
+  __cxx03/__functional/boyer_moore_searcher.h
+  __cxx03/__functional/compose.h
+  __cxx03/__functional/default_searcher.h
+  __cxx03/__functional/function.h
+  __cxx03/__functional/hash.h
+  __cxx03/__functional/identity.h
+  __cxx03/__functional/invoke.h
+  __cxx03/__functional/is_transparent.h
+  __cxx03/__functional/mem_fn.h
+  __cxx03/__functional/mem_fun_ref.h
+  __cxx03/__functional/not_fn.h
+  __cxx03/__functional/operations.h
+  __cxx03/__functional/perfect_forward.h
+  __cxx03/__functional/pointer_to_binary_function.h
+  __cxx03/__functional/pointer_to_unary_function.h
+  __cxx03/__functional/ranges_operations.h
+  __cxx03/__functional/reference_wrapper.h
+  __cxx03/__functional/unary_function.h
+  __cxx03/__functional/unary_negate.h
+  __cxx03/__functional/weak_result_type.h
+  __cxx03/__fwd/array.h
+  __cxx03/__fwd/bit_reference.h
+  __cxx03/__fwd/complex.h
+  __cxx03/__fwd/deque.h
+  __cxx03/__fwd/format.h
+  __cxx03/__fwd/fstream.h
+  __cxx03/__fwd/functional.h
+  __cxx03/__fwd/ios.h
+  __cxx03/__fwd/istream.h
+  __cxx03/__fwd/mdspan.h
+  __cxx03/__fwd/memory.h
+  __cxx03/__fwd/memory_resource.h
+  __cxx03/__fwd/ostream.h
+  __cxx03/__fwd/pair.h
+  __cxx03/__fwd/queue.h
+  __cxx03/__fwd/span.h
+  __cxx03/__fwd/sstream.h
+  __cxx03/__fwd/stack.h
+  __cxx03/__fwd/streambuf.h
+  __cxx03/__fwd/string.h
+  __cxx03/__fwd/string_view.h
+  __cxx03/__fwd/subrange.h
+  __cxx03/__fwd/tuple.h
+  __cxx03/__fwd/vector.h
+  __cxx03/__hash_table
+  __cxx03/__ios/fpos.h
+  __cxx03/__iterator/access.h
+  __cxx03/__iterator/advance.h
+  __cxx03/__iterator/aliasing_iterator.h
+  __cxx03/__iterator/back_insert_iterator.h
+  __cxx03/__iterator/bounded_iter.h
+  __cxx03/__iterator/common_iterator.h
+  __cxx03/__iterator/concepts.h
+  __cxx03/__iterator/counted_iterator.h
+  __cxx03/__iterator/cpp17_iterator_concepts.h
+  __cxx03/__iterator/data.h
+  __cxx03/__iterator/default_sentinel.h
+  __cxx03/__iterator/distance.h
+  __cxx03/__iterator/empty.h
+  __cxx03/__iterator/erase_if_container.h
+  __cxx03/__iterator/front_insert_iterator.h
+  __cxx03/__iterator/incrementable_traits.h
+  __cxx03/__iterator/indirectly_comparable.h
+  __cxx03/__iterator/insert_iterator.h
+  __cxx03/__iterator/istream_iterator.h
+  __cxx03/__iterator/istreambuf_iterator.h
+  __cxx03/__iterator/iter_move.h
+  __cxx03/__iterator/iter_swap.h
+  __cxx03/__iterator/iterator.h
+  __cxx03/__iterator/iterator_traits.h
+  __cxx03/__iterator/iterator_with_data.h
+  __cxx03/__iterator/mergeable.h
+  __cxx03/__iterator/move_iterator.h
+  __cxx03/__iterator/move_sentinel.h
+  __cxx03/__iterator/next.h
+  __cxx03/__iterator/ostream_iterator.h
+  __cxx03/__iterator/ostreambuf_iterator.h
+  __cxx03/__iterator/permutable.h
+  __cxx03/__iterator/prev.h
+  __cxx03/__iterator/projected.h
+  __cxx03/__iterator/ranges_iterator_traits.h
+  __cxx03/__iterator/readable_traits.h
+  __cxx03/__iterator/reverse_access.h
+  __cxx03/__iterator/reverse_iterator.h
+  __cxx03/__iterator/segmented_iterator.h
+  __cxx03/__iterator/size.h
+  __cxx03/__iterator/sortable.h
+  __cxx03/__iterator/unreachable_sentinel.h
+  __cxx03/__iterator/wrap_iter.h
+  __cxx03/__locale
+  __cxx03/__locale_dir/locale_base_api.h
+  __cxx03/__locale_dir/locale_base_api/android.h
+  __cxx03/__locale_dir/locale_base_api/bsd_locale_defaults.h
+  __cxx03/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
+  __cxx03/__locale_dir/locale_base_api/fuchsia.h
+  __cxx03/__locale_dir/locale_base_api/ibm.h
+  __cxx03/__locale_dir/locale_base_api/locale_guard.h
+  __cxx03/__locale_dir/locale_base_api/musl.h
+  __cxx03/__locale_dir/locale_base_api/newlib.h
+  __cxx03/__locale_dir/locale_base_api/openbsd.h
+  __cxx03/__locale_dir/locale_base_api/win32.h
+  __cxx03/__math/abs.h
+  __cxx03/__math/copysign.h
+  __cxx03/__math/error_functions.h
+  __cxx03/__math/exponential_functions.h
+  __cxx03/__math/fdim.h
+  __cxx03/__math/fma.h
+  __cxx03/__math/gamma.h
+  __cxx03/__math/hyperbolic_functions.h
+  __cxx03/__math/hypot.h
+  __cxx03/__math/inverse_hyperbolic_functions.h
+  __cxx03/__math/inverse_trigonometric_functions.h
+  __cxx03/__math/logarithms.h
+  __cxx03/__math/min_max.h
+  __cxx03/__math/modulo.h
+  __cxx03/__math/remainder.h
+  __cxx03/__math/roots.h
+  __cxx03/__math/rounding_functions.h
+  __cxx03/__math/special_functions.h
+  __cxx03/__math/traits.h
+  __cxx03/__math/trigonometric_functions.h
+  __cxx03/__mbstate_t.h
+  __cxx03/__mdspan/default_accessor.h
+  __cxx03/__mdspan/extents.h
+  __cxx03/__mdspan/layout_left.h
+  __cxx03/__mdspan/layout_right.h
+  __cxx03/__mdspan/layout_stride.h
+  __cxx03/__mdspan/mdspan.h
+  __cxx03/__memory/addressof.h
+  __cxx03/__memory/align.h
+  __cxx03/__memory/aligned_alloc.h
+  __cxx03/__memory/allocate_at_least.h
+  __cxx03/__memory/allocation_guard.h
+  __cxx03/__memory/allocator.h
+  __cxx03/__memory/allocator_arg_t.h
+  __cxx03/__memory/allocator_destructor.h
+  __cxx03/__memory/allocator_traits.h
+  __cxx03/__memory/assume_aligned.h
+  __cxx03/__memory/auto_ptr.h
+  __cxx03/__memory/builtin_new_allocator.h
+  __cxx03/__memory/compressed_pair.h
+  __cxx03/__memory/concepts.h
+  __cxx03/__memory/construct_at.h
+  __cxx03/__memory/destruct_n.h
+  __cxx03/__memory/inout_ptr.h
+  __cxx03/__memory/out_ptr.h
+  __cxx03/__memory/pointer_traits.h
+  __cxx03/__memory/ranges_construct_at.h
+  __cxx03/__memory/ranges_uninitialized_algorithms.h
+  __cxx03/__memory/raw_storage_iterator.h
+  __cxx03/__memory/shared_ptr.h
+  __cxx03/__memory/swap_allocator.h
+  __cxx03/__memory/temp_value.h
+  __cxx03/__memory/temporary_buffer.h
+  __cxx03/__memory/uninitialized_algorithms.h
+  __cxx03/__memory/unique_ptr.h
+  __cxx03/__memory/uses_allocator.h
+  __cxx03/__memory/uses_allocator_construction.h
+  __cxx03/__memory/voidify.h
+  __cxx03/__memory_resource/memory_resource.h
+  __cxx03/__memory_resource/monotonic_buffer_resource.h
+  __cxx03/__memory_resource/polymorphic_allocator.h
+  __cxx03/__memory_resource/pool_options.h
+  __cxx03/__memory_resource/synchronized_pool_resource.h
+  __cxx03/__memory_resource/unsynchronized_pool_resource.h
+  __cxx03/__mutex/lock_guard.h
+  __cxx03/__mutex/mutex.h
+  __cxx03/__mutex/once_flag.h
+  __cxx03/__mutex/tag_types.h
+  __cxx03/__mutex/unique_lock.h
+  __cxx03/__node_handle
+  __cxx03/__numeric/accumulate.h
+  __cxx03/__numeric/adjacent_difference.h
+  __cxx03/__numeric/exclusive_scan.h
+  __cxx03/__numeric/gcd_lcm.h
+  __cxx03/__numeric/inclusive_scan.h
+  __cxx03/__numeric/inner_product.h
+  __cxx03/__numeric/iota.h
+  __cxx03/__numeric/midpoint.h
+  __cxx03/__numeric/partial_sum.h
+  __cxx03/__numeric/pstl.h
+  __cxx03/__numeric/reduce.h
+  __cxx03/__numeric/saturation_arithmetic.h
+  __cxx03/__numeric/transform_exclusive_scan.h
+  __cxx03/__numeric/transform_inclusive_scan.h
+  __cxx03/__numeric/transform_reduce.h
+  __cxx03/__ostream/basic_ostream.h
+  __cxx03/__ostream/print.h
+  __cxx03/__pstl/backend.h
+  __cxx03/__pstl/backend_fwd.h
+  __cxx03/__pstl/backends/default.h
+  __cxx03/__pstl/backends/libdispatch.h
+  __cxx03/__pstl/backends/serial.h
+  __cxx03/__pstl/backends/std_thread.h
+  __cxx03/__pstl/cpu_algos/any_of.h
+  __cxx03/__pstl/cpu_algos/cpu_traits.h
+  __cxx03/__pstl/cpu_algos/fill.h
+  __cxx03/__pstl/cpu_algos/find_if.h
+  __cxx03/__pstl/cpu_algos/for_each.h
+  __cxx03/__pstl/cpu_algos/merge.h
+  __cxx03/__pstl/cpu_algos/stable_sort.h
+  __cxx03/__pstl/cpu_algos/transform.h
+  __cxx03/__pstl/cpu_algos/transform_reduce.h
+  __cxx03/__pstl/dispatch.h
+  __cxx03/__pstl/handle_exception.h
+  __cxx03/__random/bernoulli_distribution.h
+  __cxx03/__random/binomial_distribution.h
+  __cxx03/__random/cauchy_distribution.h
+  __cxx03/__random/chi_squared_distribution.h
+  __cxx03/__random/clamp_to_integral.h
+  __cxx03/__random/default_random_engine.h
+  __cxx03/__random/discard_block_engine.h
+  __cxx03/__random/discrete_distribution.h
+  __cxx03/__random/exponential_distribution.h
+  __cxx03/__random/extreme_value_distribution.h
+  __cxx03/__random/fisher_f_distribution.h
+  __cxx03/__random/gamma_distribution.h
+  __cxx03/__random/generate_canonical.h
+  __cxx03/__random/geometric_distribution.h
+  __cxx03/__random/independent_bits_engine.h
+  __cxx03/__random/is_seed_sequence.h
+  __cxx03/__random/is_valid.h
+  __cxx03/__random/knuth_b.h
+  __cxx03/__random/linear_congruential_engine.h
+  __cxx03/__random/log2.h
+  __cxx03/__random/lognormal_distribution.h
+  __cxx03/__random/mersenne_twister_engine.h
+  __cxx03/__random/negative_binomial_distribution.h
+  __cxx03/__random/normal_distribution.h
+  __cxx03/__random/piecewise_constant_distribution.h
+  __cxx03/__random/piecewise_linear_distribution.h
+  __cxx03/__random/poisson_distribution.h
+  __cxx03/__random/random_device.h
+  __cxx03/__random/ranlux.h
+  __cxx03/__random/seed_seq.h
+  __cxx03/__random/shuffle_order_engine.h
+  __cxx03/__random/student_t_distribution.h
+  __cxx03/__random/subtract_with_carry_engine.h
+  __cxx03/__random/uniform_int_distribution.h
+  __cxx03/__random/uniform_random_bit_generator.h
+  __cxx03/__random/uniform_real_distribution.h
+  __cxx03/__random/weibull_distribution.h
+  __cxx03/__ranges/access.h
+  __cxx03/__ranges/all.h
+  __cxx03/__ranges/as_rvalue_view.h
+  __cxx03/__ranges/chunk_by_view.h
+  __cxx03/__ranges/common_view.h
+  __cxx03/__ranges/concepts.h
+  __cxx03/__ranges/container_compatible_range.h
+  __cxx03/__ranges/counted.h
+  __cxx03/__ranges/dangling.h
+  __cxx03/__ranges/data.h
+  __cxx03/__ranges/drop_view.h
+  __cxx03/__ranges/drop_while_view.h
+  __cxx03/__ranges/elements_view.h
+  __cxx03/__ranges/empty.h
+  __cxx03/__ranges/empty_view.h
+  __cxx03/__ranges/enable_borrowed_range.h
+  __cxx03/__ranges/enable_view.h
+  __cxx03/__ranges/filter_view.h
+  __cxx03/__ranges/from_range.h
+  __cxx03/__ranges/iota_view.h
+  __cxx03/__ranges/istream_view.h
+  __cxx03/__ranges/join_view.h
+  __cxx03/__ranges/lazy_split_view.h
+  __cxx03/__ranges/movable_box.h
+  __cxx03/__ranges/non_propagating_cache.h
+  __cxx03/__ranges/owning_view.h
+  __cxx03/__ranges/range_adaptor.h
+  __cxx03/__ranges/rbegin.h
+  __cxx03/__ranges/ref_view.h
+  __cxx03/__ranges/rend.h
+  __cxx03/__ranges/repeat_view.h
+  __cxx03/__ranges/reverse_view.h
+  __cxx03/__ranges/single_view.h
+  __cxx03/__ranges/size.h
+  __cxx03/__ranges/split_view.h
+  __cxx03/__ranges/subrange.h
+  __cxx03/__ranges/take_view.h
+  __cxx03/__ranges/take_while_view.h
+  __cxx03/__ranges/to.h
+  __cxx03/__ranges/transform_view.h
+  __cxx03/__ranges/view_interface.h
+  __cxx03/__ranges/views.h
+  __cxx03/__ranges/zip_view.h
+  __cxx03/__split_buffer
+  __cxx03/__std_clang_module
+  __cxx03/__std_mbstate_t.h
+  __cxx03/__stop_token/atomic_unique_lock.h
+  __cxx03/__stop_token/intrusive_list_view.h
+  __cxx03/__stop_token/intrusive_shared_ptr.h
+  __cxx03/__stop_token/stop_callback.h
+  __cxx03/__stop_token/stop_source.h
+  __cxx03/__stop_token/stop_state.h
+  __cxx03/__stop_token/stop_token.h
+  __cxx03/__string/char_traits.h
+  __cxx03/__string/constexpr_c_functions.h
+  __cxx03/__string/extern_template_lists.h
+  __cxx03/__support/ibm/gettod_zos.h
+  __cxx03/__support/ibm/locale_mgmt_zos.h
+  __cxx03/__support/ibm/nanosleep.h
+  __cxx03/__support/xlocale/__nop_locale_mgmt.h
+  __cxx03/__support/xlocale/__posix_l_fallback.h
+  __cxx03/__support/xlocale/__strtonum_fallback.h
+  __cxx03/__system_error/errc.h
+  __cxx03/__system_error/error_category.h
+  __cxx03/__system_error/error_code.h
+  __cxx03/__system_error/error_condition.h
+  __cxx03/__system_error/system_error.h
+  __cxx03/__thread/formatter.h
+  __cxx03/__thread/id.h
+  __cxx03/__thread/jthread.h
+  __cxx03/__thread/poll_with_backoff.h
+  __cxx03/__thread/support.h
+  __cxx03/__thread/support/c11.h
+  __cxx03/__thread/support/external.h
+  __cxx03/__thread/support/pthread.h
+  __cxx03/__thread/support/windows.h
+  __cxx03/__thread/this_thread.h
+  __cxx03/__thread/thread.h
+  __cxx03/__thread/timed_backoff_policy.h
+  __cxx03/__tree
+  __cxx03/__tuple/find_index.h
+  __cxx03/__tuple/ignore.h
+  __cxx03/__tuple/make_tuple_types.h
+  __cxx03/__tuple/sfinae_helpers.h
+  __cxx03/__tuple/tuple_element.h
+  __cxx03/__tuple/tuple_indices.h
+  __cxx03/__tuple/tuple_like.h
+  __cxx03/__tuple/tuple_like_ext.h
+  __cxx03/__tuple/tuple_like_no_subrange.h
+  __cxx03/__tuple/tuple_size.h
+  __cxx03/__tuple/tuple_types.h
+  __cxx03/__type_traits/add_const.h
+  __cxx03/__type_traits/add_cv.h
+  __cxx03/__type_traits/add_lvalue_reference.h
+  __cxx03/__type_traits/add_pointer.h
+  __cxx03/__type_traits/add_rvalue_reference.h
+  __cxx03/__type_traits/add_volatile.h
+  __cxx03/__type_traits/aligned_storage.h
+  __cxx03/__type_traits/aligned_union.h
+  __cxx03/__type_traits/alignment_of.h
+  __cxx03/__type_traits/can_extract_key.h
+  __cxx03/__type_traits/common_reference.h
+  __cxx03/__type_traits/common_type.h
+  __cxx03/__type_traits/conditional.h
+  __cxx03/__type_traits/conjunction.h
+  __cxx03/__type_traits/copy_cv.h
+  __cxx03/__type_traits/copy_cvref.h
+  __cxx03/__type_traits/datasizeof.h
+  __cxx03/__type_traits/decay.h
+  __cxx03/__type_traits/dependent_type.h
+  __cxx03/__type_traits/desugars_to.h
+  __cxx03/__type_traits/disjunction.h
+  __cxx03/__type_traits/enable_if.h
+  __cxx03/__type_traits/extent.h
+  __cxx03/__type_traits/has_unique_object_representation.h
+  __cxx03/__type_traits/has_virtual_destructor.h
+  __cxx03/__type_traits/integral_constant.h
+  __cxx03/__type_traits/invoke.h
+  __cxx03/__type_traits/is_abstract.h
+  __cxx03/__type_traits/is_aggregate.h
+  __cxx03/__type_traits/is_allocator.h
+  __cxx03/__type_traits/is_always_bitcastable.h
+  __cxx03/__type_traits/is_arithmetic.h
+  __cxx03/__type_traits/is_array.h
+  __cxx03/__type_traits/is_assignable.h
+  __cxx03/__type_traits/is_base_of.h
+  __cxx03/__type_traits/is_bounded_array.h
+  __cxx03/__type_traits/is_callable.h
+  __cxx03/__type_traits/is_char_like_type.h
+  __cxx03/__type_traits/is_class.h
+  __cxx03/__type_traits/is_compound.h
+  __cxx03/__type_traits/is_const.h
+  __cxx03/__type_traits/is_constant_evaluated.h
+  __cxx03/__type_traits/is_constructible.h
+  __cxx03/__type_traits/is_convertible.h
+  __cxx03/__type_traits/is_core_convertible.h
+  __cxx03/__type_traits/is_destructible.h
+  __cxx03/__type_traits/is_empty.h
+  __cxx03/__type_traits/is_enum.h
+  __cxx03/__type_traits/is_equality_comparable.h
+  __cxx03/__type_traits/is_execution_policy.h
+  __cxx03/__type_traits/is_final.h
+  __cxx03/__type_traits/is_floating_point.h
+  __cxx03/__type_traits/is_function.h
+  __cxx03/__type_traits/is_fundamental.h
+  __cxx03/__type_traits/is_implicitly_default_constructible.h
+  __cxx03/__type_traits/is_integral.h
+  __cxx03/__type_traits/is_literal_type.h
+  __cxx03/__type_traits/is_member_pointer.h
+  __cxx03/__type_traits/is_nothrow_assignable.h
+  __cxx03/__type_traits/is_nothrow_constructible.h
+  __cxx03/__type_traits/is_nothrow_convertible.h
+  __cxx03/__type_traits/is_nothrow_destructible.h
+  __cxx03/__type_traits/is_null_pointer.h
+  __cxx03/__type_traits/is_object.h
+  __cxx03/__type_traits/is_pod.h
+  __cxx03/__type_traits/is_pointer.h
+  __cxx03/__type_traits/is_polymorphic.h
+  __cxx03/__type_traits/is_primary_template.h
+  __cxx03/__type_traits/is_reference.h
+  __cxx03/__type_traits/is_reference_wrapper.h
+  __cxx03/__type_traits/is_referenceable.h
+  __cxx03/__type_traits/is_same.h
+  __cxx03/__type_traits/is_scalar.h
+  __cxx03/__type_traits/is_signed.h
+  __cxx03/__type_traits/is_signed_integer.h
+  __cxx03/__type_traits/is_specialization.h
+  __cxx03/__type_traits/is_standard_layout.h
+  __cxx03/__type_traits/is_swappable.h
+  __cxx03/__type_traits/is_trivial.h
+  __cxx03/__type_traits/is_trivially_assignable.h
+  __cxx03/__type_traits/is_trivially_constructible.h
+  __cxx03/__type_traits/is_trivially_copyable.h
+  __cxx03/__type_traits/is_trivially_destructible.h
+  __cxx03/__type_traits/is_trivially_lexicographically_comparable.h
+  __cxx03/__type_traits/is_trivially_relocatable.h
+  __cxx03/__type_traits/is_unbounded_array.h
+  __cxx03/__type_traits/is_union.h
+  __cxx03/__type_traits/is_unsigned.h
+  __cxx03/__type_traits/is_unsigned_integer.h
+  __cxx03/__type_traits/is_valid_expansion.h
+  __cxx03/__type_traits/is_void.h
+  __cxx03/__type_traits/is_volatile.h
+  __cxx03/__type_traits/lazy.h
+  __cxx03/__type_traits/make_32_64_or_128_bit.h
+  __cxx03/__type_traits/make_const_lvalue_ref.h
+  __cxx03/__type_traits/make_signed.h
+  __cxx03/__type_traits/make_unsigned.h
+  __cxx03/__type_traits/maybe_const.h
+  __cxx03/__type_traits/nat.h
+  __cxx03/__type_traits/negation.h
+  __cxx03/__type_traits/noexcept_move_assign_container.h
+  __cxx03/__type_traits/promote.h
+  __cxx03/__type_traits/rank.h
+  __cxx03/__type_traits/remove_all_extents.h
+  __cxx03/__type_traits/remove_const.h
+  __cxx03/__type_traits/remove_const_ref.h
+  __cxx03/__type_traits/remove_cv.h
+  __cxx03/__type_traits/remove_cvref.h
+  __cxx03/__type_traits/remove_extent.h
+  __cxx03/__type_traits/remove_pointer.h
+  __cxx03/__type_traits/remove_reference.h
+  __cxx03/__type_traits/remove_volatile.h
+  __cxx03/__type_traits/result_of.h
+  __cxx03/__type_traits/strip_signature.h
+  __cxx03/__type_traits/type_identity.h
+  __cxx03/__type_traits/type_list.h
+  __cxx03/__type_traits/underlying_type.h
+  __cxx03/__type_traits/unwrap_ref.h
+  __cxx03/__type_traits/void_t.h
+  __cxx03/__undef_macros
+  __cxx03/__utility/as_const.h
+  __cxx03/__utility/as_lvalue.h
+  __cxx03/__utility/auto_cast.h
+  __cxx03/__utility/cmp.h
+  __cxx03/__utility/convert_to_integral.h
+  __cxx03/__utility/declval.h
+  __cxx03/__utility/empty.h
+  __cxx03/__utility/exception_guard.h
+  __cxx03/__utility/exchange.h
+  __cxx03/__utility/forward.h
+  __cxx03/__utility/forward_like.h
+  __cxx03/__utility/in_place.h
+  __cxx03/__utility/integer_sequence.h
+  __cxx03/__utility/is_pointer_in_range.h
+  __cxx03/__utility/is_valid_range.h
+  __cxx03/__utility/move.h
+  __cxx03/__utility/no_destroy.h
+  __cxx03/__utility/pair.h
+  __cxx03/__utility/piecewise_construct.h
+  __cxx03/__utility/priority_tag.h
+  __cxx03/__utility/private_constructor_tag.h
+  __cxx03/__utility/rel_ops.h
+  __cxx03/__utility/small_buffer.h
+  __cxx03/__utility/swap.h
+  __cxx03/__utility/to_underlying.h
+  __cxx03/__utility/unreachable.h
+  __cxx03/__variant/monostate.h
+  __cxx03/__verbose_abort
+  __cxx03/algorithm
+  __cxx03/any
+  __cxx03/array
+  __cxx03/atomic
+  __cxx03/barrier
+  __cxx03/bit
+  __cxx03/bitset
+  __cxx03/cassert
+  __cxx03/ccomplex
+  __cxx03/cctype
+  __cxx03/cerrno
+  __cxx03/cfenv
+  __cxx03/cfloat
+  __cxx03/charconv
+  __cxx03/chrono
+  __cxx03/cinttypes
+  __cxx03/ciso646
+  __cxx03/climits
+  __cxx03/clocale
+  __cxx03/cmath
+  __cxx03/codecvt
+  __cxx03/compare
+  __cxx03/complex
+  __cxx03/complex.h
+  __cxx03/concepts
+  __cxx03/condition_variable
+  __cxx03/coroutine
+  __cxx03/csetjmp
+  __cxx03/csignal
+  __cxx03/cstdarg
+  __cxx03/cstdbool
+  __cxx03/cstddef
+  __cxx03/cstdint
+  __cxx03/cstdio
+  __cxx03/cstdlib
+  __cxx03/cstring
+  __cxx03/ctgmath
+  __cxx03/ctime
+  __cxx03/ctype.h
+  __cxx03/cuchar
+  __cxx03/cwchar
+  __cxx03/cwctype
+  __cxx03/deque
+  __cxx03/errno.h
+  __cxx03/exception
+  __cxx03/execution
+  __cxx03/expected
+  __cxx03/experimental/__config
+  __cxx03/experimental/__simd/aligned_tag.h
+  __cxx03/experimental/__simd/declaration.h
+  __cxx03/experimental/__simd/reference.h
+  __cxx03/experimental/__simd/scalar.h
+  __cxx03/experimental/__simd/simd.h
+  __cxx03/experimental/__simd/simd_mask.h
+  __cxx03/experimental/__simd/traits.h
+  __cxx03/experimental/__simd/utility.h
+  __cxx03/experimental/__simd/vec_ext.h
+  __cxx03/experimental/iterator
+  __cxx03/experimental/memory
+  __cxx03/experimental/propagate_const
+  __cxx03/experimental/simd
+  __cxx03/experimental/type_traits
+  __cxx03/experimental/utility
+  __cxx03/ext/__hash
+  __cxx03/ext/hash_map
+  __cxx03/ext/hash_set
+  __cxx03/fenv.h
+  __cxx03/filesystem
+  __cxx03/float.h
+  __cxx03/format
+  __cxx03/forward_list
+  __cxx03/fstream
+  __cxx03/functional
+  __cxx03/future
+  __cxx03/initializer_list
+  __cxx03/inttypes.h
+  __cxx03/iomanip
+  __cxx03/ios
+  __cxx03/iosfwd
+  __cxx03/iostream
+  __cxx03/istream
+  __cxx03/iterator
+  __cxx03/latch
+  __cxx03/limits
+  __cxx03/list
+  __cxx03/locale
+  __cxx03/locale.h
+  __cxx03/map
+  __cxx03/math.h
+  __cxx03/mdspan
+  __cxx03/memory
+  __cxx03/memory_resource
+  __cxx03/module.modulemap
+  __cxx03/mutex
+  __cxx03/new
+  __cxx03/numbers
+  __cxx03/numeric
+  __cxx03/optional
+  __cxx03/ostream
+  __cxx03/print
+  __cxx03/queue
+  __cxx03/random
+  __cxx03/ranges
+  __cxx03/ratio
+  __cxx03/regex
+  __cxx03/scoped_allocator
+  __cxx03/semaphore
+  __cxx03/set
+  __cxx03/shared_mutex
+  __cxx03/source_location
+  __cxx03/span
+  __cxx03/sstream
+  __cxx03/stack
+  __cxx03/stdatomic.h
+  __cxx03/stdbool.h
+  __cxx03/stddef.h
+  __cxx03/stdexcept
+  __cxx03/stdint.h
+  __cxx03/stdio.h
+  __cxx03/stdlib.h
+  __cxx03/stop_token
+  __cxx03/streambuf
+  __cxx03/string
+  __cxx03/string.h
+  __cxx03/string_view
+  __cxx03/strstream
+  __cxx03/syncstream
+  __cxx03/system_error
+  __cxx03/tgmath.h
+  __cxx03/thread
+  __cxx03/tuple
+  __cxx03/type_traits
+  __cxx03/typeindex
+  __cxx03/typeinfo
+  __cxx03/uchar.h
+  __cxx03/unordered_map
+  __cxx03/unordered_set
+  __cxx03/utility
+  __cxx03/valarray
+  __cxx03/variant
+  __cxx03/vector
+  __cxx03/version
+  __cxx03/wchar.h
+  __cxx03/wctype.h
   )
 
 configure_file("__config_site.in" "${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site" @ONLY)
diff --git a/libcxx/include/__cxx03/CMakeLists.txt b/libcxx/include/__cxx03/CMakeLists.txt
deleted file mode 100644
index b61442da89d4bf..00000000000000
--- a/libcxx/include/__cxx03/CMakeLists.txt
+++ /dev/null
@@ -1,1092 +0,0 @@
-set(files
-  __algorithm/adjacent_find.h
-  __algorithm/all_of.h
-  __algorithm/any_of.h
-  __algorithm/binary_search.h
-  __algorithm/clamp.h
-  __algorithm/comp.h
-  __algorithm/comp_ref_type.h
-  __algorithm/copy.h
-  __algorithm/copy_backward.h
-  __algorithm/copy_if.h
-  __algorithm/copy_move_common.h
-  __algorithm/copy_n.h
-  __algorithm/count.h
-  __algorithm/count_if.h
-  __algorithm/equal.h
-  __algorithm/equal_range.h
-  __algorithm/fill.h
-  __algorithm/fill_n.h
-  __algorithm/find.h
-  __algorithm/find_end.h
-  __algorithm/find_first_of.h
-  __algorithm/find_if.h
-  __algorithm/find_if_not.h
-  __algorithm/find_segment_if.h
-  __algorithm/fold.h
-  __algorithm/for_each.h
-  __algorithm/for_each_n.h
-  __algorithm/for_each_segment.h
-  __algorithm/generate.h
-  __algorithm/generate_n.h
-  __algorithm/half_positive.h
-  __algorithm/in_found_result.h
-  __algorithm/in_fun_result.h
-  __algorithm/in_in_out_result.h
-  __algorithm/in_in_result.h
-  __algorithm/in_out_out_result.h
-  __algorithm/in_out_result.h
-  __algorithm/includes.h
-  __algorithm/inplace_merge.h
-  __algorithm/is_heap.h
-  __algorithm/is_heap_until.h
-  __algorithm/is_partitioned.h
-  __algorithm/is_permutation.h
-  __algorithm/is_sorted.h
-  __algorithm/is_sorted_until.h
-  __algorithm/iter_swap.h
-  __algorithm/iterator_operations.h
-  __algorithm/lexicographical_compare.h
-  __algorithm/lexicographical_compare_three_way.h
-  __algorithm/lower_bound.h
-  __algorithm/make_heap.h
-  __algorithm/make_projected.h
-  __algorithm/max.h
-  __algorithm/max_element.h
-  __algorithm/merge.h
-  __algorithm/min.h
-  __algorithm/min_element.h
-  __algorithm/min_max_result.h
-  __algorithm/minmax.h
-  __algorithm/minmax_element.h
-  __algorithm/mismatch.h
-  __algorithm/move.h
-  __algorithm/move_backward.h
-  __algorithm/next_permutation.h
-  __algorithm/none_of.h
-  __algorithm/nth_element.h
-  __algorithm/partial_sort.h
-  __algorithm/partial_sort_copy.h
-  __algorithm/partition.h
-  __algorithm/partition_copy.h
-  __algorithm/partition_point.h
-  __algorithm/pop_heap.h
-  __algorithm/prev_permutation.h
-  __algorithm/pstl.h
-  __algorithm/push_heap.h
-  __algorithm/ranges_adjacent_find.h
-  __algorithm/ranges_all_of.h
-  __algorithm/ranges_any_of.h
-  __algorithm/ranges_binary_search.h
-  __algorithm/ranges_clamp.h
-  __algorithm/ranges_contains.h
-  __algorithm/ranges_contains_subrange.h
-  __algorithm/ranges_copy.h
-  __algorithm/ranges_copy_backward.h
-  __algorithm/ranges_copy_if.h
-  __algorithm/ranges_copy_n.h
-  __algorithm/ranges_count.h
-  __algorithm/ranges_count_if.h
-  __algorithm/ranges_ends_with.h
-  __algorithm/ranges_equal.h
-  __algorithm/ranges_equal_range.h
-  __algorithm/ranges_fill.h
-  __algorithm/ranges_fill_n.h
-  __algorithm/ranges_find.h
-  __algorithm/ranges_find_end.h
-  __algorithm/ranges_find_first_of.h
-  __algorithm/ranges_find_if.h
-  __algorithm/ranges_find_if_not.h
-  __algorithm/ranges_find_last.h
-  __algorithm/ranges_for_each.h
-  __algorithm/ranges_for_each_n.h
-  __algorithm/ranges_generate.h
-  __algorithm/ranges_generate_n.h
-  __algorithm/ranges_includes.h
-  __algorithm/ranges_inplace_merge.h
-  __algorithm/ranges_is_heap.h
-  __algorithm/ranges_is_heap_until.h
-  __algorithm/ranges_is_partitioned.h
-  __algorithm/ranges_is_permutation.h
-  __algorithm/ranges_is_sorted.h
-  __algorithm/ranges_is_sorted_until.h
-  __algorithm/ranges_iterator_concept.h
-  __algorithm/ranges_lexicographical_compare.h
-  __algorithm/ranges_lower_bound.h
-  __algorithm/ranges_make_heap.h
-  __algorithm/ranges_max.h
-  __algorithm/ranges_max_element.h
-  __algorithm/ranges_merge.h
-  __algorithm/ranges_min.h
-  __algorithm/ranges_min_element.h
-  __algorithm/ranges_minmax.h
-  __algorithm/ranges_minmax_element.h
-  __algorithm/ranges_mismatch.h
-  __algorithm/ranges_move.h
-  __algorithm/ranges_move_backward.h
-  __algorithm/ranges_next_permutation.h
-  __algorithm/ranges_none_of.h
-  __algorithm/ranges_nth_element.h
-  __algorithm/ranges_partial_sort.h
-  __algorithm/ranges_partial_sort_copy.h
-  __algorithm/ranges_partition.h
-  __algorithm/ranges_partition_copy.h
-  __algorithm/ranges_partition_point.h
-  __algorithm/ranges_pop_heap.h
-  __algorithm/ranges_prev_permutation.h
-  __algorithm/ranges_push_heap.h
-  __algorithm/ranges_remove.h
-  __algorithm/ranges_remove_copy.h
-  __algorithm/ranges_remove_copy_if.h
-  __algorithm/ranges_remove_if.h
-  __algorithm/ranges_replace.h
-  __algorithm/ranges_replace_copy.h
-  __algorithm/ranges_replace_copy_if.h
-  __algorithm/ranges_replace_if.h
-  __algorithm/ranges_reverse.h
-  __algorithm/ranges_reverse_copy.h
-  __algorithm/ranges_rotate.h
-  __algorithm/ranges_rotate_copy.h
-  __algorithm/ranges_sample.h
-  __algorithm/ranges_search.h
-  __algorithm/ranges_search_n.h
-  __algorithm/ranges_set_difference.h
-  __algorithm/ranges_set_intersection.h
-  __algorithm/ranges_set_symmetric_difference.h
-  __algorithm/ranges_set_union.h
-  __algorithm/ranges_shuffle.h
-  __algorithm/ranges_sort.h
-  __algorithm/ranges_sort_heap.h
-  __algorithm/ranges_stable_partition.h
-  __algorithm/ranges_stable_sort.h
-  __algorithm/ranges_starts_with.h
-  __algorithm/ranges_swap_ranges.h
-  __algorithm/ranges_transform.h
-  __algorithm/ranges_unique.h
-  __algorithm/ranges_unique_copy.h
-  __algorithm/ranges_upper_bound.h
-  __algorithm/remove.h
-  __algorithm/remove_copy.h
-  __algorithm/remove_copy_if.h
-  __algorithm/remove_if.h
-  __algorithm/replace.h
-  __algorithm/replace_copy.h
-  __algorithm/replace_copy_if.h
-  __algorithm/replace_if.h
-  __algorithm/reverse.h
-  __algorithm/reverse_copy.h
-  __algorithm/rotate.h
-  __algorithm/rotate_copy.h
-  __algorithm/sample.h
-  __algorithm/search.h
-  __algorithm/search_n.h
-  __algorithm/set_difference.h
-  __algorithm/set_intersection.h
-  __algorithm/set_symmetric_difference.h
-  __algorithm/set_union.h
-  __algorithm/shift_left.h
-  __algorithm/shift_right.h
-  __algorithm/shuffle.h
-  __algorithm/sift_down.h
-  __algorithm/simd_utils.h
-  __algorithm/sort.h
-  __algorithm/sort_heap.h
-  __algorithm/stable_partition.h
-  __algorithm/stable_sort.h
-  __algorithm/swap_ranges.h
-  __algorithm/three_way_comp_ref_type.h
-  __algorithm/transform.h
-  __algorithm/uniform_random_bit_generator_adaptor.h
-  __algorithm/unique.h
-  __algorithm/unique_copy.h
-  __algorithm/unwrap_iter.h
-  __algorithm/unwrap_range.h
-  __algorithm/upper_bound.h
-  __assert
-  __atomic/aliases.h
-  __atomic/atomic.h
-  __atomic/atomic_base.h
-  __atomic/atomic_flag.h
-  __atomic/atomic_init.h
-  __atomic/atomic_lock_free.h
-  __atomic/atomic_ref.h
-  __atomic/atomic_sync.h
-  __atomic/check_memory_order.h
-  __atomic/contention_t.h
-  __atomic/cxx_atomic_impl.h
-  __atomic/fence.h
-  __atomic/is_always_lock_free.h
-  __atomic/kill_dependency.h
-  __atomic/memory_order.h
-  __atomic/to_gcc_order.h
-  __bit/bit_cast.h
-  __bit/bit_ceil.h
-  __bit/bit_floor.h
-  __bit/bit_log2.h
-  __bit/bit_width.h
-  __bit/blsr.h
-  __bit/byteswap.h
-  __bit/countl.h
-  __bit/countr.h
-  __bit/endian.h
-  __bit/has_single_bit.h
-  __bit/invert_if.h
-  __bit/popcount.h
-  __bit/rotate.h
-  __bit_reference
-  __charconv/chars_format.h
-  __charconv/from_chars_integral.h
-  __charconv/from_chars_result.h
-  __charconv/tables.h
-  __charconv/to_chars.h
-  __charconv/to_chars_base_10.h
-  __charconv/to_chars_floating_point.h
-  __charconv/to_chars_integral.h
-  __charconv/to_chars_result.h
-  __charconv/traits.h
-  __chrono/calendar.h
-  __chrono/concepts.h
-  __chrono/convert_to_timespec.h
-  __chrono/convert_to_tm.h
-  __chrono/day.h
-  __chrono/duration.h
-  __chrono/exception.h
-  __chrono/file_clock.h
-  __chrono/formatter.h
-  __chrono/hh_mm_ss.h
-  __chrono/high_resolution_clock.h
-  __chrono/leap_second.h
-  __chrono/literals.h
-  __chrono/local_info.h
-  __chrono/month.h
-  __chrono/month_weekday.h
-  __chrono/monthday.h
-  __chrono/ostream.h
-  __chrono/parser_std_format_spec.h
-  __chrono/statically_widen.h
-  __chrono/steady_clock.h
-  __chrono/sys_info.h
-  __chrono/system_clock.h
-  __chrono/time_point.h
-  __chrono/time_zone.h
-  __chrono/time_zone_link.h
-  __chrono/tzdb.h
-  __chrono/tzdb_list.h
-  __chrono/weekday.h
-  __chrono/year.h
-  __chrono/year_month.h
-  __chrono/year_month_day.h
-  __chrono/year_month_weekday.h
-  __chrono/zoned_time.h
-  __compare/common_comparison_category.h
-  __compare/compare_partial_order_fallback.h
-  __compare/compare_strong_order_fallback.h
-  __compare/compare_three_way.h
-  __compare/compare_three_way_result.h
-  __compare/compare_weak_order_fallback.h
-  __compare/is_eq.h
-  __compare/ordering.h
-  __compare/partial_order.h
-  __compare/strong_order.h
-  __compare/synth_three_way.h
-  __compare/three_way_comparable.h
-  __compare/weak_order.h
-  __concepts/arithmetic.h
-  __concepts/assignable.h
-  __concepts/boolean_testable.h
-  __concepts/class_or_enum.h
-  __concepts/common_reference_with.h
-  __concepts/common_with.h
-  __concepts/constructible.h
-  __concepts/convertible_to.h
-  __concepts/copyable.h
-  __concepts/derived_from.h
-  __concepts/destructible.h
-  __concepts/different_from.h
-  __concepts/equality_comparable.h
-  __concepts/invocable.h
-  __concepts/movable.h
-  __concepts/predicate.h
-  __concepts/regular.h
-  __concepts/relation.h
-  __concepts/same_as.h
-  __concepts/semiregular.h
-  __concepts/swappable.h
-  __concepts/totally_ordered.h
-  __condition_variable/condition_variable.h
-  __config
-  __configuration/abi.h
-  __configuration/availability.h
-  __configuration/compiler.h
-  __configuration/language.h
-  __configuration/platform.h
-  __coroutine/coroutine_handle.h
-  __coroutine/coroutine_traits.h
-  __coroutine/noop_coroutine_handle.h
-  __coroutine/trivial_awaitables.h
-  __debug_utils/randomize_range.h
-  __debug_utils/sanitizers.h
-  __debug_utils/strict_weak_ordering_check.h
-  __exception/exception.h
-  __exception/exception_ptr.h
-  __exception/nested_exception.h
-  __exception/operations.h
-  __exception/terminate.h
-  __expected/bad_expected_access.h
-  __expected/expected.h
-  __expected/unexpect.h
-  __expected/unexpected.h
-  __filesystem/copy_options.h
-  __filesystem/directory_entry.h
-  __filesystem/directory_iterator.h
-  __filesystem/directory_options.h
-  __filesystem/file_status.h
-  __filesystem/file_time_type.h
-  __filesystem/file_type.h
-  __filesystem/filesystem_error.h
-  __filesystem/operations.h
-  __filesystem/path.h
-  __filesystem/path_iterator.h
-  __filesystem/perm_options.h
-  __filesystem/perms.h
-  __filesystem/recursive_directory_iterator.h
-  __filesystem/space_info.h
-  __filesystem/u8path.h
-  __format/buffer.h
-  __format/concepts.h
-  __format/container_adaptor.h
-  __format/enable_insertable.h
-  __format/escaped_output_table.h
-  __format/extended_grapheme_cluster_table.h
-  __format/format_arg.h
-  __format/format_arg_store.h
-  __format/format_args.h
-  __format/format_context.h
-  __format/format_error.h
-  __format/format_functions.h
-  __format/format_parse_context.h
-  __format/format_string.h
-  __format/format_to_n_result.h
-  __format/formatter.h
-  __format/formatter_bool.h
-  __format/formatter_char.h
-  __format/formatter_floating_point.h
-  __format/formatter_integer.h
-  __format/formatter_integral.h
-  __format/formatter_output.h
-  __format/formatter_pointer.h
-  __format/formatter_string.h
-  __format/formatter_tuple.h
-  __format/indic_conjunct_break_table.h
-  __format/parser_std_format_spec.h
-  __format/range_default_formatter.h
-  __format/range_formatter.h
-  __format/unicode.h
-  __format/width_estimation_table.h
-  __format/write_escaped.h
-  __functional/binary_function.h
-  __functional/binary_negate.h
-  __functional/bind.h
-  __functional/bind_back.h
-  __functional/bind_front.h
-  __functional/binder1st.h
-  __functional/binder2nd.h
-  __functional/boyer_moore_searcher.h
-  __functional/compose.h
-  __functional/default_searcher.h
-  __functional/function.h
-  __functional/hash.h
-  __functional/identity.h
-  __functional/invoke.h
-  __functional/is_transparent.h
-  __functional/mem_fn.h
-  __functional/mem_fun_ref.h
-  __functional/not_fn.h
-  __functional/operations.h
-  __functional/perfect_forward.h
-  __functional/pointer_to_binary_function.h
-  __functional/pointer_to_unary_function.h
-  __functional/ranges_operations.h
-  __functional/reference_wrapper.h
-  __functional/unary_function.h
-  __functional/unary_negate.h
-  __functional/weak_result_type.h
-  __fwd/array.h
-  __fwd/bit_reference.h
-  __fwd/complex.h
-  __fwd/deque.h
-  __fwd/format.h
-  __fwd/fstream.h
-  __fwd/functional.h
-  __fwd/ios.h
-  __fwd/istream.h
-  __fwd/mdspan.h
-  __fwd/memory.h
-  __fwd/memory_resource.h
-  __fwd/ostream.h
-  __fwd/pair.h
-  __fwd/queue.h
-  __fwd/span.h
-  __fwd/sstream.h
-  __fwd/stack.h
-  __fwd/streambuf.h
-  __fwd/string.h
-  __fwd/string_view.h
-  __fwd/subrange.h
-  __fwd/tuple.h
-  __fwd/vector.h
-  __hash_table
-  __ios/fpos.h
-  __iterator/access.h
-  __iterator/advance.h
-  __iterator/aliasing_iterator.h
-  __iterator/back_insert_iterator.h
-  __iterator/bounded_iter.h
-  __iterator/common_iterator.h
-  __iterator/concepts.h
-  __iterator/counted_iterator.h
-  __iterator/cpp17_iterator_concepts.h
-  __iterator/data.h
-  __iterator/default_sentinel.h
-  __iterator/distance.h
-  __iterator/empty.h
-  __iterator/erase_if_container.h
-  __iterator/front_insert_iterator.h
-  __iterator/incrementable_traits.h
-  __iterator/indirectly_comparable.h
-  __iterator/insert_iterator.h
-  __iterator/istream_iterator.h
-  __iterator/istreambuf_iterator.h
-  __iterator/iter_move.h
-  __iterator/iter_swap.h
-  __iterator/iterator.h
-  __iterator/iterator_traits.h
-  __iterator/iterator_with_data.h
-  __iterator/mergeable.h
-  __iterator/move_iterator.h
-  __iterator/move_sentinel.h
-  __iterator/next.h
-  __iterator/ostream_iterator.h
-  __iterator/ostreambuf_iterator.h
-  __iterator/permutable.h
-  __iterator/prev.h
-  __iterator/projected.h
-  __iterator/ranges_iterator_traits.h
-  __iterator/readable_traits.h
-  __iterator/reverse_access.h
-  __iterator/reverse_iterator.h
-  __iterator/segmented_iterator.h
-  __iterator/size.h
-  __iterator/sortable.h
-  __iterator/unreachable_sentinel.h
-  __iterator/wrap_iter.h
-  __locale
-  __locale_dir/locale_base_api.h
-  __locale_dir/locale_base_api/android.h
-  __locale_dir/locale_base_api/bsd_locale_defaults.h
-  __locale_dir/locale_base_api/bsd_locale_fallbacks.h
-  __locale_dir/locale_base_api/fuchsia.h
-  __locale_dir/locale_base_api/ibm.h
-  __locale_dir/locale_base_api/locale_guard.h
-  __locale_dir/locale_base_api/musl.h
-  __locale_dir/locale_base_api/newlib.h
-  __locale_dir/locale_base_api/openbsd.h
-  __locale_dir/locale_base_api/win32.h
-  __math/abs.h
-  __math/copysign.h
-  __math/error_functions.h
-  __math/exponential_functions.h
-  __math/fdim.h
-  __math/fma.h
-  __math/gamma.h
-  __math/hyperbolic_functions.h
-  __math/hypot.h
-  __math/inverse_hyperbolic_functions.h
-  __math/inverse_trigonometric_functions.h
-  __math/logarithms.h
-  __math/min_max.h
-  __math/modulo.h
-  __math/remainder.h
-  __math/roots.h
-  __math/rounding_functions.h
-  __math/special_functions.h
-  __math/traits.h
-  __math/trigonometric_functions.h
-  __mbstate_t.h
-  __mdspan/default_accessor.h
-  __mdspan/extents.h
-  __mdspan/layout_left.h
-  __mdspan/layout_right.h
-  __mdspan/layout_stride.h
-  __mdspan/mdspan.h
-  __memory/addressof.h
-  __memory/align.h
-  __memory/aligned_alloc.h
-  __memory/allocate_at_least.h
-  __memory/allocation_guard.h
-  __memory/allocator.h
-  __memory/allocator_arg_t.h
-  __memory/allocator_destructor.h
-  __memory/allocator_traits.h
-  __memory/assume_aligned.h
-  __memory/auto_ptr.h
-  __memory/builtin_new_allocator.h
-  __memory/compressed_pair.h
-  __memory/concepts.h
-  __memory/construct_at.h
-  __memory/destruct_n.h
-  __memory/inout_ptr.h
-  __memory/out_ptr.h
-  __memory/pointer_traits.h
-  __memory/ranges_construct_at.h
-  __memory/ranges_uninitialized_algorithms.h
-  __memory/raw_storage_iterator.h
-  __memory/shared_ptr.h
-  __memory/swap_allocator.h
-  __memory/temp_value.h
-  __memory/temporary_buffer.h
-  __memory/uninitialized_algorithms.h
-  __memory/unique_ptr.h
-  __memory/uses_allocator.h
-  __memory/uses_allocator_construction.h
-  __memory/voidify.h
-  __memory_resource/memory_resource.h
-  __memory_resource/monotonic_buffer_resource.h
-  __memory_resource/polymorphic_allocator.h
-  __memory_resource/pool_options.h
-  __memory_resource/synchronized_pool_resource.h
-  __memory_resource/unsynchronized_pool_resource.h
-  __mutex/lock_guard.h
-  __mutex/mutex.h
-  __mutex/once_flag.h
-  __mutex/tag_types.h
-  __mutex/unique_lock.h
-  __node_handle
-  __numeric/accumulate.h
-  __numeric/adjacent_difference.h
-  __numeric/exclusive_scan.h
-  __numeric/gcd_lcm.h
-  __numeric/inclusive_scan.h
-  __numeric/inner_product.h
-  __numeric/iota.h
-  __numeric/midpoint.h
-  __numeric/partial_sum.h
-  __numeric/pstl.h
-  __numeric/reduce.h
-  __numeric/saturation_arithmetic.h
-  __numeric/transform_exclusive_scan.h
-  __numeric/transform_inclusive_scan.h
-  __numeric/transform_reduce.h
-  __ostream/basic_ostream.h
-  __ostream/print.h
-  __pstl/backend.h
-  __pstl/backend_fwd.h
-  __pstl/backends/default.h
-  __pstl/backends/libdispatch.h
-  __pstl/backends/serial.h
-  __pstl/backends/std_thread.h
-  __pstl/cpu_algos/any_of.h
-  __pstl/cpu_algos/cpu_traits.h
-  __pstl/cpu_algos/fill.h
-  __pstl/cpu_algos/find_if.h
-  __pstl/cpu_algos/for_each.h
-  __pstl/cpu_algos/merge.h
-  __pstl/cpu_algos/stable_sort.h
-  __pstl/cpu_algos/transform.h
-  __pstl/cpu_algos/transform_reduce.h
-  __pstl/dispatch.h
-  __pstl/handle_exception.h
-  __random/bernoulli_distribution.h
-  __random/binomial_distribution.h
-  __random/cauchy_distribution.h
-  __random/chi_squared_distribution.h
-  __random/clamp_to_integral.h
-  __random/default_random_engine.h
-  __random/discard_block_engine.h
-  __random/discrete_distribution.h
-  __random/exponential_distribution.h
-  __random/extreme_value_distribution.h
-  __random/fisher_f_distribution.h
-  __random/gamma_distribution.h
-  __random/generate_canonical.h
-  __random/geometric_distribution.h
-  __random/independent_bits_engine.h
-  __random/is_seed_sequence.h
-  __random/is_valid.h
-  __random/knuth_b.h
-  __random/linear_congruential_engine.h
-  __random/log2.h
-  __random/lognormal_distribution.h
-  __random/mersenne_twister_engine.h
-  __random/negative_binomial_distribution.h
-  __random/normal_distribution.h
-  __random/piecewise_constant_distribution.h
-  __random/piecewise_linear_distribution.h
-  __random/poisson_distribution.h
-  __random/random_device.h
-  __random/ranlux.h
-  __random/seed_seq.h
-  __random/shuffle_order_engine.h
-  __random/student_t_distribution.h
-  __random/subtract_with_carry_engine.h
-  __random/uniform_int_distribution.h
-  __random/uniform_random_bit_generator.h
-  __random/uniform_real_distribution.h
-  __random/weibull_distribution.h
-  __ranges/access.h
-  __ranges/all.h
-  __ranges/as_rvalue_view.h
-  __ranges/chunk_by_view.h
-  __ranges/common_view.h
-  __ranges/concepts.h
-  __ranges/container_compatible_range.h
-  __ranges/counted.h
-  __ranges/dangling.h
-  __ranges/data.h
-  __ranges/drop_view.h
-  __ranges/drop_while_view.h
-  __ranges/elements_view.h
-  __ranges/empty.h
-  __ranges/empty_view.h
-  __ranges/enable_borrowed_range.h
-  __ranges/enable_view.h
-  __ranges/filter_view.h
-  __ranges/from_range.h
-  __ranges/iota_view.h
-  __ranges/istream_view.h
-  __ranges/join_view.h
-  __ranges/lazy_split_view.h
-  __ranges/movable_box.h
-  __ranges/non_propagating_cache.h
-  __ranges/owning_view.h
-  __ranges/range_adaptor.h
-  __ranges/rbegin.h
-  __ranges/ref_view.h
-  __ranges/rend.h
-  __ranges/repeat_view.h
-  __ranges/reverse_view.h
-  __ranges/single_view.h
-  __ranges/size.h
-  __ranges/split_view.h
-  __ranges/subrange.h
-  __ranges/take_view.h
-  __ranges/take_while_view.h
-  __ranges/to.h
-  __ranges/transform_view.h
-  __ranges/view_interface.h
-  __ranges/views.h
-  __ranges/zip_view.h
-  __split_buffer
-  __std_clang_module
-  __std_mbstate_t.h
-  __stop_token/atomic_unique_lock.h
-  __stop_token/intrusive_list_view.h
-  __stop_token/intrusive_shared_ptr.h
-  __stop_token/stop_callback.h
-  __stop_token/stop_source.h
-  __stop_token/stop_state.h
-  __stop_token/stop_token.h
-  __string/char_traits.h
-  __string/constexpr_c_functions.h
-  __string/extern_template_lists.h
-  __support/ibm/gettod_zos.h
-  __support/ibm/locale_mgmt_zos.h
-  __support/ibm/nanosleep.h
-  __support/xlocale/__nop_locale_mgmt.h
-  __support/xlocale/__posix_l_fallback.h
-  __support/xlocale/__strtonum_fallback.h
-  __system_error/errc.h
-  __system_error/error_category.h
-  __system_error/error_code.h
-  __system_error/error_condition.h
-  __system_error/system_error.h
-  __thread/formatter.h
-  __thread/id.h
-  __thread/jthread.h
-  __thread/poll_with_backoff.h
-  __thread/support.h
-  __thread/support/c11.h
-  __thread/support/external.h
-  __thread/support/pthread.h
-  __thread/support/windows.h
-  __thread/this_thread.h
-  __thread/thread.h
-  __thread/timed_backoff_policy.h
-  __tree
-  __tuple/find_index.h
-  __tuple/ignore.h
-  __tuple/make_tuple_types.h
-  __tuple/sfinae_helpers.h
-  __tuple/tuple_element.h
-  __tuple/tuple_indices.h
-  __tuple/tuple_like.h
-  __tuple/tuple_like_ext.h
-  __tuple/tuple_like_no_subrange.h
-  __tuple/tuple_size.h
-  __tuple/tuple_types.h
-  __type_traits/add_const.h
-  __type_traits/add_cv.h
-  __type_traits/add_lvalue_reference.h
-  __type_traits/add_pointer.h
-  __type_traits/add_rvalue_reference.h
-  __type_traits/add_volatile.h
-  __type_traits/aligned_storage.h
-  __type_traits/aligned_union.h
-  __type_traits/alignment_of.h
-  __type_traits/can_extract_key.h
-  __type_traits/common_reference.h
-  __type_traits/common_type.h
-  __type_traits/conditional.h
-  __type_traits/conjunction.h
-  __type_traits/copy_cv.h
-  __type_traits/copy_cvref.h
-  __type_traits/datasizeof.h
-  __type_traits/decay.h
-  __type_traits/dependent_type.h
-  __type_traits/desugars_to.h
-  __type_traits/disjunction.h
-  __type_traits/enable_if.h
-  __type_traits/extent.h
-  __type_traits/has_unique_object_representation.h
-  __type_traits/has_virtual_destructor.h
-  __type_traits/integral_constant.h
-  __type_traits/invoke.h
-  __type_traits/is_abstract.h
-  __type_traits/is_aggregate.h
-  __type_traits/is_allocator.h
-  __type_traits/is_always_bitcastable.h
-  __type_traits/is_arithmetic.h
-  __type_traits/is_array.h
-  __type_traits/is_assignable.h
-  __type_traits/is_base_of.h
-  __type_traits/is_bounded_array.h
-  __type_traits/is_callable.h
-  __type_traits/is_char_like_type.h
-  __type_traits/is_class.h
-  __type_traits/is_compound.h
-  __type_traits/is_const.h
-  __type_traits/is_constant_evaluated.h
-  __type_traits/is_constructible.h
-  __type_traits/is_convertible.h
-  __type_traits/is_core_convertible.h
-  __type_traits/is_destructible.h
-  __type_traits/is_empty.h
-  __type_traits/is_enum.h
-  __type_traits/is_equality_comparable.h
-  __type_traits/is_execution_policy.h
-  __type_traits/is_final.h
-  __type_traits/is_floating_point.h
-  __type_traits/is_function.h
-  __type_traits/is_fundamental.h
-  __type_traits/is_implicitly_default_constructible.h
-  __type_traits/is_integral.h
-  __type_traits/is_literal_type.h
-  __type_traits/is_member_pointer.h
-  __type_traits/is_nothrow_assignable.h
-  __type_traits/is_nothrow_constructible.h
-  __type_traits/is_nothrow_convertible.h
-  __type_traits/is_nothrow_destructible.h
-  __type_traits/is_null_pointer.h
-  __type_traits/is_object.h
-  __type_traits/is_pod.h
-  __type_traits/is_pointer.h
-  __type_traits/is_polymorphic.h
-  __type_traits/is_primary_template.h
-  __type_traits/is_reference.h
-  __type_traits/is_reference_wrapper.h
-  __type_traits/is_referenceable.h
-  __type_traits/is_same.h
-  __type_traits/is_scalar.h
-  __type_traits/is_signed.h
-  __type_traits/is_signed_integer.h
-  __type_traits/is_specialization.h
-  __type_traits/is_standard_layout.h
-  __type_traits/is_swappable.h
-  __type_traits/is_trivial.h
-  __type_traits/is_trivially_assignable.h
-  __type_traits/is_trivially_constructible.h
-  __type_traits/is_trivially_copyable.h
-  __type_traits/is_trivially_destructible.h
-  __type_traits/is_trivially_lexicographically_comparable.h
-  __type_traits/is_trivially_relocatable.h
-  __type_traits/is_unbounded_array.h
-  __type_traits/is_union.h
-  __type_traits/is_unsigned.h
-  __type_traits/is_unsigned_integer.h
-  __type_traits/is_valid_expansion.h
-  __type_traits/is_void.h
-  __type_traits/is_volatile.h
-  __type_traits/lazy.h
-  __type_traits/make_32_64_or_128_bit.h
-  __type_traits/make_const_lvalue_ref.h
-  __type_traits/make_signed.h
-  __type_traits/make_unsigned.h
-  __type_traits/maybe_const.h
-  __type_traits/nat.h
-  __type_traits/negation.h
-  __type_traits/noexcept_move_assign_container.h
-  __type_traits/promote.h
-  __type_traits/rank.h
-  __type_traits/remove_all_extents.h
-  __type_traits/remove_const.h
-  __type_traits/remove_const_ref.h
-  __type_traits/remove_cv.h
-  __type_traits/remove_cvref.h
-  __type_traits/remove_extent.h
-  __type_traits/remove_pointer.h
-  __type_traits/remove_reference.h
-  __type_traits/remove_volatile.h
-  __type_traits/result_of.h
-  __type_traits/strip_signature.h
-  __type_traits/type_identity.h
-  __type_traits/type_list.h
-  __type_traits/underlying_type.h
-  __type_traits/unwrap_ref.h
-  __type_traits/void_t.h
-  __undef_macros
-  __utility/as_const.h
-  __utility/as_lvalue.h
-  __utility/auto_cast.h
-  __utility/cmp.h
-  __utility/convert_to_integral.h
-  __utility/declval.h
-  __utility/empty.h
-  __utility/exception_guard.h
-  __utility/exchange.h
-  __utility/forward.h
-  __utility/forward_like.h
-  __utility/in_place.h
-  __utility/integer_sequence.h
-  __utility/is_pointer_in_range.h
-  __utility/is_valid_range.h
-  __utility/move.h
-  __utility/no_destroy.h
-  __utility/pair.h
-  __utility/piecewise_construct.h
-  __utility/priority_tag.h
-  __utility/private_constructor_tag.h
-  __utility/rel_ops.h
-  __utility/small_buffer.h
-  __utility/swap.h
-  __utility/to_underlying.h
-  __utility/unreachable.h
-  __variant/monostate.h
-  __verbose_abort
-  algorithm
-  any
-  array
-  atomic
-  barrier
-  bit
-  bitset
-  cassert
-  ccomplex
-  cctype
-  cerrno
-  cfenv
-  cfloat
-  charconv
-  chrono
-  cinttypes
-  ciso646
-  climits
-  clocale
-  cmath
-  codecvt
-  compare
-  complex
-  complex.h
-  concepts
-  condition_variable
-  coroutine
-  csetjmp
-  csignal
-  cstdarg
-  cstdbool
-  cstddef
-  cstdint
-  cstdio
-  cstdlib
-  cstring
-  ctgmath
-  ctime
-  ctype.h
-  cuchar
-  cwchar
-  cwctype
-  deque
-  errno.h
-  exception
-  execution
-  expected
-  experimental/__config
-  experimental/__simd/aligned_tag.h
-  experimental/__simd/declaration.h
-  experimental/__simd/reference.h
-  experimental/__simd/scalar.h
-  experimental/__simd/simd.h
-  experimental/__simd/simd_mask.h
-  experimental/__simd/traits.h
-  experimental/__simd/utility.h
-  experimental/__simd/vec_ext.h
-  experimental/iterator
-  experimental/memory
-  experimental/propagate_const
-  experimental/simd
-  experimental/type_traits
-  experimental/utility
-  ext/__hash
-  ext/hash_map
-  ext/hash_set
-  fenv.h
-  filesystem
-  float.h
-  format
-  forward_list
-  fstream
-  functional
-  future
-  initializer_list
-  inttypes.h
-  iomanip
-  ios
-  iosfwd
-  iostream
-  istream
-  iterator
-  latch
-  limits
-  list
-  locale
-  locale.h
-  map
-  math.h
-  mdspan
-  memory
-  memory_resource
-  module.modulemap
-  mutex
-  new
-  numbers
-  numeric
-  optional
-  ostream
-  print
-  queue
-  random
-  ranges
-  ratio
-  regex
-  scoped_allocator
-  semaphore
-  set
-  shared_mutex
-  source_location
-  span
-  sstream
-  stack
-  stdatomic.h
-  stdbool.h
-  stddef.h
-  stdexcept
-  stdint.h
-  stdio.h
-  stdlib.h
-  stop_token
-  streambuf
-  string
-  string.h
-  string_view
-  strstream
-  syncstream
-  system_error
-  tgmath.h
-  thread
-  tuple
-  type_traits
-  typeindex
-  typeinfo
-  uchar.h
-  unordered_map
-  unordered_set
-  utility
-  valarray
-  variant
-  vector
-  version
-  wchar.h
-  wctype.h
-  )
-
-configure_file("__config_site.in" "${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site" @ONLY)
-configure_file("${LIBCXX_ASSERTION_HANDLER_FILE}" "${LIBCXX_GENERATED_INCLUDE_DIR}/__assertion_handler" COPYONLY)
-
-set(_all_includes "${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site"
-                  "${LIBCXX_GENERATED_INCLUDE_DIR}/__assertion_handler")
-foreach(f ${files})
-  set(src "${CMAKE_CURRENT_SOURCE_DIR}/${f}")
-  set(dst "${LIBCXX_GENERATED_INCLUDE_DIR}/${f}")
-  add_custom_command(OUTPUT ${dst}
-    DEPENDS ${src}
-    COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}
-    COMMENT "Copying CXX header ${f}")
-  list(APPEND _all_includes "${dst}")
-endforeach()
-
-# Generate the IWYU mapping. This depends on all header files but it's also considered as an
-# "include" for dependency tracking.
-add_custom_command(OUTPUT "${LIBCXX_GENERATED_INCLUDE_DIR}/libcxx.imp"
-  COMMAND "${Python3_EXECUTABLE}" "${LIBCXX_SOURCE_DIR}/utils/generate_iwyu_mapping.py" "-o" "${LIBCXX_GENERATED_INCLUDE_DIR}/libcxx.imp"
-  DEPENDS "${LIBCXX_SOURCE_DIR}/utils/libcxx/header_information.py"
-  COMMENT "Generate the mapping file for include-what-you-use"
-)
-list(APPEND _all_includes "${LIBCXX_GENERATED_INCLUDE_DIR}/libcxx.imp")
-
-add_custom_target(generate-cxx-headers ALL DEPENDS ${_all_includes})
-
-add_library(cxx-headers INTERFACE)
-target_link_libraries(cxx-headers INTERFACE libcxx-libc-headers libcxx-abi-headers)
-add_dependencies(cxx-headers generate-cxx-headers)
-# It's important that the arch directory be included first so that its header files
-# which interpose on the default include dir be included instead of the default ones.
-target_include_directories(cxx-headers INTERFACE ${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}
-                                                 ${LIBCXX_GENERATED_INCLUDE_DIR})
-
-if (LIBCXX_INSTALL_HEADERS)
-  foreach(file ${files})
-    get_filename_component(dir ${file} DIRECTORY)
-    install(FILES ${file}
-      DESTINATION "${LIBCXX_INSTALL_INCLUDE_DIR}/${dir}"
-      COMPONENT cxx-headers
-      PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
-    )
-  endforeach()
-
-  # Install the generated __config_site file to the per-target include dir.
-  install(FILES "${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site"
-    DESTINATION "${LIBCXX_INSTALL_INCLUDE_TARGET_DIR}"
-    PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
-    COMPONENT cxx-headers)
-
-  # Install the generated __assertion_handler file to the generic include dir.
-  install(FILES "${LIBCXX_GENERATED_INCLUDE_DIR}/__assertion_handler"
-    DESTINATION "${LIBCXX_INSTALL_INCLUDE_DIR}"
-    PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
-    COMPONENT cxx-headers)
-
-  # Install the generated IWYU file to the generic include dir.
-  install(FILES "${LIBCXX_GENERATED_INCLUDE_DIR}/libcxx.imp"
-    DESTINATION "${LIBCXX_INSTALL_INCLUDE_DIR}"
-    PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
-    COMPONENT cxx-headers)
-
-  if (NOT CMAKE_CONFIGURATION_TYPES)
-    add_custom_target(install-cxx-headers
-                      DEPENDS cxx-headers
-                      COMMAND "${CMAKE_COMMAND}"
-                              -DCMAKE_INSTALL_COMPONENT=cxx-headers
-                              -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
-    # Stripping is a no-op for headers
-    add_custom_target(install-cxx-headers-stripped DEPENDS install-cxx-headers)
-  endif()
-endif()
diff --git a/libcxx/include/__cxx03/__config b/libcxx/include/__cxx03/__config
index 935fa4cc404f4e..76e6fd7f40d057 100644
--- a/libcxx/include/__cxx03/__config
+++ b/libcxx/include/__cxx03/__config
@@ -10,7 +10,7 @@
 #ifndef _LIBCPP___CXX03___CONFIG
 #define _LIBCPP___CXX03___CONFIG
 
-#include <__config_site>
+#include <__cxx03/__configuration/config_site_shim.h>
 #include <__cxx03/__configuration/abi.h>
 #include <__cxx03/__configuration/availability.h>
 #include <__cxx03/__configuration/compiler.h>
diff --git a/libcxx/include/__cxx03/__configuration/abi.h b/libcxx/include/__cxx03/__configuration/abi.h
index 9e7f7313c8834f..740aec39a3487a 100644
--- a/libcxx/include/__cxx03/__configuration/abi.h
+++ b/libcxx/include/__cxx03/__configuration/abi.h
@@ -10,8 +10,8 @@
 #ifndef _LIBCPP___CXX03___CONFIGURATION_ABI_H
 #define _LIBCPP___CXX03___CONFIGURATION_ABI_H
 
-#include <__config_site>
 #include <__cxx03/__configuration/compiler.h>
+#include <__cxx03/__configuration/config_site_shim.h>
 #include <__cxx03/__configuration/platform.h>
 
 #ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
diff --git a/libcxx/include/__cxx03/__configuration/compiler.h b/libcxx/include/__cxx03/__configuration/compiler.h
index 2f33fb1f6ef4d4..4d53a2144a5012 100644
--- a/libcxx/include/__cxx03/__configuration/compiler.h
+++ b/libcxx/include/__cxx03/__configuration/compiler.h
@@ -10,7 +10,7 @@
 #ifndef _LIBCPP___CXX03___CONFIGURATION_COMPILER_H
 #define _LIBCPP___CXX03___CONFIGURATION_COMPILER_H
 
-#include <__config_site>
+#include <__cxx03/__configuration/config_site_shim.h>
 
 #ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
 #  pragma GCC system_header
diff --git a/libcxx/include/__cxx03/__configuration/config_site_shim.h b/libcxx/include/__cxx03/__configuration/config_site_shim.h
new file mode 100644
index 00000000000000..974a17af495cd3
--- /dev/null
+++ b/libcxx/include/__cxx03/__configuration/config_site_shim.h
@@ -0,0 +1,80 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef _LIBCPP___CXX03___CONFIGURATION_CONFIG_SITE_SHIM_H
+#define _LIBCPP___CXX03___CONFIGURATION_CONFIG_SITE_SHIM_H
+
+#include <__config_site>
+
+#if !_LIBCPP_ABI_FORCE_ITANIUM
+#  undef _LIBCPP_ABI_FORCE_ITANIUM
+#endif
+
+#if !_LIBCPP_ABI_FORCE_MICROSOFT
+#  undef _LIBCPP_ABI_FORCE_MICROSOFT
+#endif
+
+#if !_LIBCPP_HAS_THREADS
+#  define _LIBCPP_HAS_NO_THREADS
+#endif
+
+#if !_LIBCPP_HAS_MONOTONIC_CLOCK
+#  define _LIBCPP_HAS_NO_MONOTONIC_CLOCK
+#endif
+
+#if !_LIBCPP_HAS_MUSL_LIBC
+#  undef _LIBCPP_HAS_MUSL_LIBC
+#endif
+
+#if !_LIBCPP_HAS_THREAD_API_PTHREAD
+#  undef _LIBCPP_HAS_THREAD_API_PTHREAD
+#endif
+
+#if !_LIBCPP_HAS_THREAD_API_EXTERNAL
+#  undef _LIBCPP_HAS_THREAD_API_EXTERNAL
+#endif
+
+#if !_LIBCPP_HAS_THREAD_API_WIN32
+#  undef _LIBCPP_HAS_THREAD_API_WIN32
+#endif
+
+#undef _LIBCPP_HAS_THREAD_API_C11
+
+#if !_LIBCPP_HAS_VENDOR_AVAILABILITY_ANNOTATIONS
+#  define _LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS
+#endif
+
+#if !_LIBCPP_HAS_FILESYSTEM
+#  define _LIBCPP_HAS_NO_FILESYSTEM
+#endif
+
+#if !_LIBCPP_HAS_RANDOM_DEVICE
+#  define _LIBCPP_HAS_NO_RANDOM_DEVICE
+#endif
+
+#if !_LIBCPP_HAS_LOCALIZATION
+#  define _LIBCPP_HAS_NO_LOCALIZATION
+#endif
+
+#if !_LIBCPP_HAS_UNICODE
+#  define _LIBCPP_HAS_NO_UNICODE
+#endif
+
+#if !_LIBCPP_HAS_WIDE_CHARACTERS
+#  define _LIBCPP_HAS_NO_WIDE_CHARACTERS
+#endif
+
+#if !_LIBCPP_HAS_TIME_ZONE_DATABASE
+#  define _LIBCPP_HAS_NO_TIME_ZONE_DATABASE
+#endif
+
+#if !_LIBCPP_INSTRUMENTED_WITH_ASAN
+#  undef _LIBCPP_INSTRUMENTED_WITH_ASAN
+#endif
+
+#endif // _LIBCPP___CXX03___CONFIGURATION_CONFIG_SITE_SHIM_H
diff --git a/libcxx/include/__cxx03/__configuration/language.h b/libcxx/include/__cxx03/__configuration/language.h
index 604f2d2cd532a8..8fd09f4b225540 100644
--- a/libcxx/include/__cxx03/__configuration/language.h
+++ b/libcxx/include/__cxx03/__configuration/language.h
@@ -10,7 +10,7 @@
 #ifndef _LIBCPP___CXX03___CONFIGURATION_LANGUAGE_H
 #define _LIBCPP___CXX03___CONFIGURATION_LANGUAGE_H
 
-#include <__config_site>
+#include <__cxx03/__configuration/config_site_shim.h>
 
 #ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
 #  pragma GCC system_header
diff --git a/libcxx/include/__cxx03/__configuration/platform.h b/libcxx/include/__cxx03/__configuration/platform.h
index b4718986ad10d8..24590503693aeb 100644
--- a/libcxx/include/__cxx03/__configuration/platform.h
+++ b/libcxx/include/__cxx03/__configuration/platform.h
@@ -10,7 +10,7 @@
 #ifndef _LIBCPP___CXX03___CONFIGURATION_PLATFORM_H
 #define _LIBCPP___CXX03___CONFIGURATION_PLATFORM_H
 
-#include <__config_site>
+#include <__cxx03/__configuration/config_site_shim.h>
 
 #ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
 #  pragma GCC system_header
diff --git a/libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_fallbacks.h b/libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
index e61e950a42c77c..36fe5aed6c5864 100644
--- a/libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
+++ b/libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
@@ -15,7 +15,7 @@
 
 #include <__cxx03/__locale_dir/locale_base_api/locale_guard.h>
 #include <__cxx03/cstdio>
-#include <__cxx03/stdarg.h>
+#include <stdarg.h>
 #include <__cxx03/stdlib.h>
 
 #ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
diff --git a/libcxx/include/__cxx03/__thread/support/pthread.h b/libcxx/include/__cxx03/__thread/support/pthread.h
index a4d7c874e68306..4dc7a4980de2b5 100644
--- a/libcxx/include/__cxx03/__thread/support/pthread.h
+++ b/libcxx/include/__cxx03/__thread/support/pthread.h
@@ -15,8 +15,8 @@
 #include <__cxx03/__config>
 #include <__cxx03/ctime>
 #include <__cxx03/errno.h>
-#include <__cxx03/pthread.h>
-#include <__cxx03/sched.h>
+#include <pthread.h>
+#include <sched.h>
 
 #ifdef __MVS__
 #  include <__cxx03/__support/ibm/nanosleep.h>
diff --git a/libcxx/include/__cxx03/climits b/libcxx/include/__cxx03/climits
index 37d8c41a0c6de7..2c6fe5ab95b4b2 100644
--- a/libcxx/include/__cxx03/climits
+++ b/libcxx/include/__cxx03/climits
@@ -39,7 +39,7 @@ Macros:
 
 #include <__cxx03/__config>
 
-#include <__cxx03/limits.h>
+#include <limits.h>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
diff --git a/libcxx/include/__cxx03/locale b/libcxx/include/__cxx03/locale
index 78c0fd7763af24..6360bbc2f6b608 100644
--- a/libcxx/include/__cxx03/locale
+++ b/libcxx/include/__cxx03/locale
@@ -222,7 +222,7 @@ template <class charT> class messages_byname;
 // Most unix variants have catopen.  These are the specific ones that don't.
 #    if !defined(__BIONIC__) && !defined(_NEWLIB_VERSION) && !defined(__EMSCRIPTEN__)
 #      define _LIBCPP_HAS_CATOPEN 1
-#      include <__cxx03/nl_types.h>
+#      include <nl_types.h>
 #    endif
 #  endif
 
diff --git a/libcxx/include/__cxx03/module.modulemap b/libcxx/include/__cxx03/module.modulemap
index 13d0dce34d97e3..34a2d0f25fc450 100644
--- a/libcxx/include/__cxx03/module.modulemap
+++ b/libcxx/include/__cxx03/module.modulemap
@@ -1,462 +1,462 @@
 // Main C++ standard library interfaces
-module std_algorithm [system] {
+module cxx03_std_algorithm [system] {
   header "algorithm"
   export *
 }
-module std_any [system] {
+module cxx03_std_any [system] {
   header "any"
   export *
 }
-module std_array [system] {
+module cxx03_std_array [system] {
   header "array"
   export *
 }
-module std_atomic [system] {
+module cxx03_std_atomic [system] {
   header "atomic"
   export *
 }
-module std_barrier [system] {
+module cxx03_std_barrier [system] {
   header "barrier"
   export *
 }
-module std_bit [system] {
+module cxx03_std_bit [system] {
   header "bit"
   export *
 }
-module std_bitset [system] {
+module cxx03_std_bitset [system] {
   header "bitset"
   export *
 }
-module std_charconv [system] {
+module cxx03_std_charconv [system] {
   header "charconv"
   export *
 }
-module std_chrono [system] {
+module cxx03_std_chrono [system] {
   header "chrono"
   export *
 }
-module std_codecvt [system] {
+module cxx03_std_codecvt [system] {
   header "codecvt"
   export *
 }
-module std_compare [system] {
+module cxx03_std_compare [system] {
   header "compare"
   export *
 }
-module std_complex [system] {
+module cxx03_std_complex [system] {
   header "complex"
   export *
 }
-module std_concepts [system] {
+module cxx03_std_concepts [system] {
   header "concepts"
   export *
 }
-module std_condition_variable [system] {
+module cxx03_std_condition_variable [system] {
   header "condition_variable"
   export *
 }
-module std_coroutine [system] {
+module cxx03_std_coroutine [system] {
   header "coroutine"
   export *
 }
-module std_deque [system] {
+module cxx03_std_deque [system] {
   header "deque"
   export *
 }
-module std_exception [system] {
+module cxx03_std_exception [system] {
   header "exception"
   export *
 }
-module std_execution [system] {
+module cxx03_std_execution [system] {
   header "execution"
   export *
 }
-module std_expected [system] {
+module cxx03_std_expected [system] {
   header "expected"
   export *
 }
-module std_filesystem [system] {
+module cxx03_std_filesystem [system] {
   header "filesystem"
   export *
 }
-module std_format [system] {
+module cxx03_std_format [system] {
   header "format"
   export *
 }
-module std_forward_list [system] {
+module cxx03_std_forward_list [system] {
   header "forward_list"
   export *
 }
-module std_fstream [system] {
+module cxx03_std_fstream [system] {
   header "fstream"
   export *
 }
-module std_functional [system] {
+module cxx03_std_functional [system] {
   header "functional"
   export *
 }
-module std_future [system] {
+module cxx03_std_future [system] {
   header "future"
   export *
 }
-module std_initializer_list [system] {
+module cxx03_std_initializer_list [system] {
   header "initializer_list"
   export *
 }
-module std_iomanip [system] {
+module cxx03_std_iomanip [system] {
   header "iomanip"
   export *
 }
-module std_ios [system] {
+module cxx03_std_ios [system] {
   header "ios"
   export *
 }
-module std_iosfwd [system] {
+module cxx03_std_iosfwd [system] {
   header "iosfwd"
   export *
 }
-module std_iostream [system] {
+module cxx03_std_iostream [system] {
   header "iostream"
   export *
 }
-module std_istream [system] {
+module cxx03_std_istream [system] {
   header "istream"
   export *
 }
-module std_iterator [system] {
+module cxx03_std_iterator [system] {
   header "iterator"
   export *
 }
-module std_latch [system] {
+module cxx03_std_latch [system] {
   header "latch"
   export *
 }
-module std_limits [system] {
+module cxx03_std_limits [system] {
   header "limits"
   export *
 }
-module std_list [system] {
+module cxx03_std_list [system] {
   header "list"
   export *
 }
-module std_locale [system] {
+module cxx03_std_locale [system] {
   header "locale"
   export *
 }
-module std_map [system] {
+module cxx03_std_map [system] {
   header "map"
   export *
 }
-module std_mdspan [system] {
+module cxx03_std_mdspan [system] {
   header "mdspan"
   export *
 }
-module std_memory [system] {
+module cxx03_std_memory [system] {
   header "memory"
   export *
 }
-module std_memory_resource [system] {
+module cxx03_std_memory_resource [system] {
   header "memory_resource"
   export *
 }
-module std_mutex [system] {
+module cxx03_std_mutex [system] {
   header "mutex"
   export *
 }
-module std_new [system] {
+module cxx03_std_new [system] {
   header "new"
   export *
 }
-module std_numbers [system] {
+module cxx03_std_numbers [system] {
   header "numbers"
   export *
 }
-module std_numeric [system] {
+module cxx03_std_numeric [system] {
   header "numeric"
   export *
 }
-module std_optional [system] {
+module cxx03_std_optional [system] {
   header "optional"
   export *
 }
-module std_ostream [system] {
+module cxx03_std_ostream [system] {
   header "ostream"
   export *
 }
-module std_print [system] {
+module cxx03_std_print [system] {
   header "print"
   export *
 }
-module std_queue [system] {
+module cxx03_std_queue [system] {
   header "queue"
   export *
 }
-module std_random [system] {
+module cxx03_std_random [system] {
   header "random"
   export *
 }
-module std_ranges [system] {
+module cxx03_std_ranges [system] {
   header "ranges"
   export *
 }
-module std_ratio [system] {
+module cxx03_std_ratio [system] {
   header "ratio"
   export *
 }
-module std_regex [system] {
+module cxx03_std_regex [system] {
   header "regex"
   export *
 }
-module std_scoped_allocator [system] {
+module cxx03_std_scoped_allocator [system] {
   header "scoped_allocator"
   export *
 }
-module std_semaphore [system] {
+module cxx03_std_semaphore [system] {
   header "semaphore"
   export *
 }
-module std_set [system] {
+module cxx03_std_set [system] {
   header "set"
   export *
 }
-module std_shared_mutex [system] {
+module cxx03_std_shared_mutex [system] {
   header "shared_mutex"
   export std_version
 }
-module std_source_location [system] {
+module cxx03_std_source_location [system] {
   header "source_location"
   export *
 }
-module std_span [system] {
+module cxx03_std_span [system] {
   header "span"
   export std_private_ranges_enable_borrowed_range
   export std_version
   export std_private_span_span_fwd
 }
-module std_sstream [system] {
+module cxx03_std_sstream [system] {
   header "sstream"
   export *
 }
-module std_stack [system] {
+module cxx03_std_stack [system] {
   header "stack"
   export *
 }
-module std_stdexcept [system] {
+module cxx03_std_stdexcept [system] {
   header "stdexcept"
   export *
 }
-module std_stop_token {
+module cxx03_std_stop_token {
   header "stop_token"
   export *
 }
-module std_streambuf [system] {
+module cxx03_std_streambuf [system] {
   header "streambuf"
   export *
 }
-module std_string [system] {
+module cxx03_std_string [system] {
   header "string"
   export *
 }
-module std_string_view [system] {
+module cxx03_std_string_view [system] {
   header "string_view"
   export *
 }
-module std_strstream [system] {
+module cxx03_std_strstream [system] {
   header "strstream"
   export *
 }
-module std_syncstream [system] {
+module cxx03_std_syncstream [system] {
   header "syncstream"
   export *
 }
-module std_system_error [system] {
+module cxx03_std_system_error [system] {
   header "system_error"
   export *
 }
-module std_thread [system] {
+module cxx03_std_thread [system] {
   header "thread"
   export *
 }
-module std_tuple [system] {
+module cxx03_std_tuple [system] {
   header "tuple"
   export *
 }
-module std_type_traits [system] {
+module cxx03_std_type_traits [system] {
   header "type_traits"
   export *
 }
-module std_typeindex [system] {
+module cxx03_std_typeindex [system] {
   header "typeindex"
   export *
 }
-module std_typeinfo [system] {
+module cxx03_std_typeinfo [system] {
   header "typeinfo"
   export *
 }
-module std_unordered_map [system] {
+module cxx03_std_unordered_map [system] {
   header "unordered_map"
   export *
 }
-module std_unordered_set [system] {
+module cxx03_std_unordered_set [system] {
   header "unordered_set"
   export *
 }
-module std_utility [system] {
+module cxx03_std_utility [system] {
   header "utility"
   export *
 }
-module std_valarray [system] {
+module cxx03_std_valarray [system] {
   header "valarray"
   export *
 }
-module std_variant [system] {
+module cxx03_std_variant [system] {
   header "variant"
   export *
 }
-module std_vector [system] {
+module cxx03_std_vector [system] {
   header "vector"
   export *
 }
-module std_version [system] {
+module cxx03_std_version [system] {
   header "version"
   export *
 }
 
 // C standard library interface wrappers
-module std_cassert [system] {
+module cxx03_std_cassert [system] {
   // <cassert>'s use of NDEBUG requires textual inclusion.
   textual header "cassert"
 }
-module std_ccomplex [system] {
+module cxx03_std_ccomplex [system] {
   header "ccomplex"
   export *
 }
-module std_cctype [system] {
+module cxx03_std_cctype [system] {
   header "cctype"
   export *
 }
-module std_cerrno [system] {
+module cxx03_std_cerrno [system] {
   header "cerrno"
   export *
 }
-module std_cfenv [system] {
+module cxx03_std_cfenv [system] {
   header "cfenv"
   export *
 }
-module std_cfloat [system] {
+module cxx03_std_cfloat [system] {
   header "cfloat"
   export *
 }
-module std_cinttypes [system] {
+module cxx03_std_cinttypes [system] {
   header "cinttypes"
   export *
 }
-module std_ciso646 [system] {
+module cxx03_std_ciso646 [system] {
   header "ciso646"
   export *
 }
-module std_climits [system] {
+module cxx03_std_climits [system] {
   header "climits"
   export *
 }
-module std_clocale [system] {
+module cxx03_std_clocale [system] {
   header "clocale"
   export *
 }
-module std_cmath [system] {
+module cxx03_std_cmath [system] {
   header "cmath"
   export *
 }
-module std_csetjmp [system] {
+module cxx03_std_csetjmp [system] {
   header "csetjmp"
   export *
 }
-module std_csignal [system] {
+module cxx03_std_csignal [system] {
   header "csignal"
   export *
 }
 // FIXME: <cstdalign> is missing.
-module std_cstdarg [system] {
+module cxx03_std_cstdarg [system] {
   header "cstdarg"
   export *
 }
-module std_cstdbool [system] {
+module cxx03_std_cstdbool [system] {
   header "cstdbool"
   export *
 }
-module std_cstddef [system] {
+module cxx03_std_cstddef [system] {
   header "cstddef"
   export *
 }
-module std_cstdint [system] {
+module cxx03_std_cstdint [system] {
   header "cstdint"
   export *
 }
-module std_cstdio [system] {
+module cxx03_std_cstdio [system] {
   header "cstdio"
   export *
 }
-module std_cstdlib [system] {
+module cxx03_std_cstdlib [system] {
   header "cstdlib"
   export *
 }
-module std_cstring [system] {
+module cxx03_std_cstring [system] {
   header "cstring"
   export *
 }
-module std_ctgmath [system] {
+module cxx03_std_ctgmath [system] {
   header "ctgmath"
   export *
 }
-module std_ctime [system] {
+module cxx03_std_ctime [system] {
   header "ctime"
   export *
 }
-module std_cuchar [system] {
+module cxx03_std_cuchar [system] {
   header "cuchar"
   export *
 }
-module std_cwchar [system] {
+module cxx03_std_cwchar [system] {
   header "cwchar"
   export *
 }
-module std_cwctype [system] {
+module cxx03_std_cwctype [system] {
   header "cwctype"
   export *
 }
 
 // C standard library interfaces augmented/replaced in C++
 // <assert.h> provided by C library.
-module std_complex_h [system] {
+module cxx03_std_complex_h [system] {
   header "complex.h"
   export *
 }
-module std_ctype_h [system] {
+module cxx03_std_ctype_h [system] {
   header "ctype.h"
   export *
 }
-module std_errno_h [system] {
+module cxx03_std_errno_h [system] {
   header "errno.h"
   export *
 }
-module std_fenv_h [system] {
+module cxx03_std_fenv_h [system] {
   header "fenv.h"
   export *
 }
-module std_float_h [system] {
+module cxx03_std_float_h [system] {
   header "float.h"
   export *
 }
-module std_inttypes_h [system] {
+module cxx03_std_inttypes_h [system] {
   header "inttypes.h"
   export *
 }
 // <iso646.h> provided by compiler.
-module std_locale_h [system] {
+module cxx03_std_locale_h [system] {
   header "locale.h"
   export *
 }
-module std_math_h [system] {
+module cxx03_std_math_h [system] {
   header "math.h"
   export *
 }
@@ -464,59 +464,59 @@ module std_math_h [system] {
 // <signal.h> provided by C library.
 // FIXME: <stdalign.h> is missing.
 // <stdarg.h> provided by compiler.
-module std_stdatomic_h [system] {
+module cxx03_std_stdatomic_h [system] {
   header "stdatomic.h"
   export *
 }
-module std_stdbool_h [system] {
+module cxx03_std_stdbool_h [system] {
   // <stdbool.h>'s __bool_true_false_are_defined macro requires textual inclusion.
   textual header "stdbool.h"
   export *
 }
-module std_stddef_h [system] {
+module cxx03_std_stddef_h [system] {
   // <stddef.h>'s __need_* macros require textual inclusion.
   textual header "stddef.h"
   export *
 }
-module std_stdint_h [system] {
+module cxx03_std_stdint_h [system] {
   header "stdint.h"
   export *
 }
-module std_stdio_h [system] {
+module cxx03_std_stdio_h [system] {
   // <stdio.h>'s __need_* macros require textual inclusion.
   textual header "stdio.h"
   export *
 }
-module std_stdlib_h [system] {
+module cxx03_std_stdlib_h [system] {
   // <stdlib.h>'s __need_* macros require textual inclusion.
   textual header "stdlib.h"
   export *
 }
-module std_string_h [system] {
+module cxx03_std_string_h [system] {
   header "string.h"
   export *
 }
-module std_tgmath_h [system] {
+module cxx03_std_tgmath_h [system] {
   header "tgmath.h"
   export *
 }
-module std_uchar_h [system] {
+module cxx03_std_uchar_h [system] {
   header "uchar.h"
   export *
 }
 // <time.h> provided by C library.
-module std_wchar_h [system] {
+module cxx03_std_wchar_h [system] {
   // <wchar.h>'s __need_* macros require textual inclusion.
   textual header "wchar.h"
   export *
 }
-module std_wctype_h [system] {
+module cxx03_std_wctype_h [system] {
   header "wctype.h"
   export *
 }
 
 // Experimental C++ standard library interfaces
-module std_experimental [system] {
+module cxx03_std_experimental [system] {
   module iterator {
     header "experimental/iterator"
     export *
@@ -559,25 +559,25 @@ module std_experimental [system] {
 
 // Convenience method to get all of the above modules in a single import statement.
 // Importing only the needed modules is likely to be more performant.
-module std [system] {
+module cxx03_std [system] {
   header "__std_clang_module"
   export *
 }
 
 // Implementation detail headers that are private to libc++. These modules
 // must not be directly imported.
-module std_private_assert            [system] {
+module cxx03_std_private_assert            [system] {
   header "__assert"
   export *
 }
-module std_private_bit_reference     [system] {
+module cxx03_std_private_bit_reference     [system] {
   header "__bit_reference"
   export *
 }
-module std_private_fwd_bit_reference [system] {
+module cxx03_std_private_fwd_bit_reference [system] {
   header "__fwd/bit_reference.h"
 }
-module std_private_config            [system] {
+module cxx03_std_private_config            [system] {
   textual header "__config"
   textual header "__configuration/abi.h"
   textual header "__configuration/availability.h"
@@ -586,813 +586,813 @@ module std_private_config            [system] {
   textual header "__configuration/platform.h"
   export *
 }
-module std_private_hash_table        [system] {
+module cxx03_std_private_hash_table        [system] {
   header "__hash_table"
   export *
 }
-module std_private_locale            [system] {
+module cxx03_std_private_locale            [system] {
   header "__locale"
   export *
 }
-module std_private_mbstate_t         [system] {
+module cxx03_std_private_mbstate_t         [system] {
   header "__mbstate_t.h"
   export *
 }
-module std_private_node_handle       [system] {
+module cxx03_std_private_node_handle       [system] {
   header "__node_handle"
   export *
 }
-module std_private_split_buffer      [system] {
+module cxx03_std_private_split_buffer      [system] {
   header "__split_buffer"
   export *
 }
-module std_private_std_mbstate_t     [system] {
+module cxx03_std_private_std_mbstate_t     [system] {
   header "__std_mbstate_t.h"
   export *
 }
-module std_private_tree              [system] {
+module cxx03_std_private_tree              [system] {
   header "__tree"
   export *
 }
-module std_private_undef_macros      [system] {
+module cxx03_std_private_undef_macros      [system] {
   textual header "__undef_macros"
   export *
 }
-module std_private_verbose_abort     [system] {
+module cxx03_std_private_verbose_abort     [system] {
   header "__verbose_abort"
   export *
 }
 
-module std_private_algorithm_adjacent_find                               [system] { header "__algorithm/adjacent_find.h" }
-module std_private_algorithm_all_of                                      [system] { header "__algorithm/all_of.h" }
-module std_private_algorithm_any_of                                      [system] { header "__algorithm/any_of.h" }
-module std_private_algorithm_binary_search                               [system] { header "__algorithm/binary_search.h" }
-module std_private_algorithm_clamp                                       [system] { header "__algorithm/clamp.h" }
-module std_private_algorithm_comp                                        [system] { header "__algorithm/comp.h" }
-module std_private_algorithm_comp_ref_type                               [system] { header "__algorithm/comp_ref_type.h" }
-module std_private_algorithm_copy                                        [system] {
+module cxx03_std_private_algorithm_adjacent_find                               [system] { header "__algorithm/adjacent_find.h" }
+module cxx03_std_private_algorithm_all_of                                      [system] { header "__algorithm/all_of.h" }
+module cxx03_std_private_algorithm_any_of                                      [system] { header "__algorithm/any_of.h" }
+module cxx03_std_private_algorithm_binary_search                               [system] { header "__algorithm/binary_search.h" }
+module cxx03_std_private_algorithm_clamp                                       [system] { header "__algorithm/clamp.h" }
+module cxx03_std_private_algorithm_comp                                        [system] { header "__algorithm/comp.h" }
+module cxx03_std_private_algorithm_comp_ref_type                               [system] { header "__algorithm/comp_ref_type.h" }
+module cxx03_std_private_algorithm_copy                                        [system] {
   header "__algorithm/copy.h"
   export std_private_algorithm_copy_move_common
 }
-module std_private_algorithm_copy_backward                               [system] { header "__algorithm/copy_backward.h" }
-module std_private_algorithm_copy_if                                     [system] { header "__algorithm/copy_if.h" }
-module std_private_algorithm_copy_move_common                            [system] {
+module cxx03_std_private_algorithm_copy_backward                               [system] { header "__algorithm/copy_backward.h" }
+module cxx03_std_private_algorithm_copy_if                                     [system] { header "__algorithm/copy_if.h" }
+module cxx03_std_private_algorithm_copy_move_common                            [system] {
   header "__algorithm/copy_move_common.h"
   export std_private_type_traits_is_trivially_copyable
 }
-module std_private_algorithm_copy_n                                      [system] { header "__algorithm/copy_n.h" }
-module std_private_algorithm_count                                       [system] { header "__algorithm/count.h" }
-module std_private_algorithm_count_if                                    [system] { header "__algorithm/count_if.h" }
-module std_private_algorithm_equal                                       [system] { header "__algorithm/equal.h" }
-module std_private_algorithm_equal_range                                 [system] { header "__algorithm/equal_range.h" }
-module std_private_algorithm_fill                                        [system] { header "__algorithm/fill.h" }
-module std_private_algorithm_fill_n                                      [system] { header "__algorithm/fill_n.h" }
-module std_private_algorithm_find                                        [system] {
+module cxx03_std_private_algorithm_copy_n                                      [system] { header "__algorithm/copy_n.h" }
+module cxx03_std_private_algorithm_count                                       [system] { header "__algorithm/count.h" }
+module cxx03_std_private_algorithm_count_if                                    [system] { header "__algorithm/count_if.h" }
+module cxx03_std_private_algorithm_equal                                       [system] { header "__algorithm/equal.h" }
+module cxx03_std_private_algorithm_equal_range                                 [system] { header "__algorithm/equal_range.h" }
+module cxx03_std_private_algorithm_fill                                        [system] { header "__algorithm/fill.h" }
+module cxx03_std_private_algorithm_fill_n                                      [system] { header "__algorithm/fill_n.h" }
+module cxx03_std_private_algorithm_find                                        [system] {
   header "__algorithm/find.h"
   export std_private_algorithm_unwrap_iter
 }
-module std_private_algorithm_find_end                                    [system] { header "__algorithm/find_end.h" }
-module std_private_algorithm_find_first_of                               [system] { header "__algorithm/find_first_of.h" }
-module std_private_algorithm_find_if                                     [system] { header "__algorithm/find_if.h" }
-module std_private_algorithm_find_if_not                                 [system] { header "__algorithm/find_if_not.h" }
-module std_private_algorithm_find_segment_if                             [system] { header "__algorithm/find_segment_if.h" }
-module std_private_algorithm_fold                                        [system] { header "__algorithm/fold.h" }
-module std_private_algorithm_for_each                                    [system] { header "__algorithm/for_each.h" }
-module std_private_algorithm_for_each_n                                  [system] { header "__algorithm/for_each_n.h" }
-module std_private_algorithm_for_each_segment                            [system] { header "__algorithm/for_each_segment.h" }
-module std_private_algorithm_generate                                    [system] { header "__algorithm/generate.h" }
-module std_private_algorithm_generate_n                                  [system] { header "__algorithm/generate_n.h" }
-module std_private_algorithm_half_positive                               [system] { header "__algorithm/half_positive.h" }
-module std_private_algorithm_in_found_result                             [system] { header "__algorithm/in_found_result.h" }
-module std_private_algorithm_in_fun_result                               [system] { header "__algorithm/in_fun_result.h" }
-module std_private_algorithm_in_in_out_result                            [system] { header "__algorithm/in_in_out_result.h" }
-module std_private_algorithm_in_in_result                                [system] { header "__algorithm/in_in_result.h" }
-module std_private_algorithm_in_out_out_result                           [system] { header "__algorithm/in_out_out_result.h" }
-module std_private_algorithm_in_out_result                               [system] { header "__algorithm/in_out_result.h" }
-module std_private_algorithm_includes                                    [system] { header "__algorithm/includes.h" }
-module std_private_algorithm_inplace_merge                               [system] { header "__algorithm/inplace_merge.h" }
-module std_private_algorithm_is_heap                                     [system] { header "__algorithm/is_heap.h" }
-module std_private_algorithm_is_heap_until                               [system] { header "__algorithm/is_heap_until.h" }
-module std_private_algorithm_is_partitioned                              [system] { header "__algorithm/is_partitioned.h" }
-module std_private_algorithm_is_permutation                              [system] { header "__algorithm/is_permutation.h" }
-module std_private_algorithm_is_sorted                                   [system] { header "__algorithm/is_sorted.h" }
-module std_private_algorithm_is_sorted_until                             [system] { header "__algorithm/is_sorted_until.h" }
-module std_private_algorithm_iter_swap                                   [system] { header "__algorithm/iter_swap.h" }
-module std_private_algorithm_iterator_operations                         [system] {
+module cxx03_std_private_algorithm_find_end                                    [system] { header "__algorithm/find_end.h" }
+module cxx03_std_private_algorithm_find_first_of                               [system] { header "__algorithm/find_first_of.h" }
+module cxx03_std_private_algorithm_find_if                                     [system] { header "__algorithm/find_if.h" }
+module cxx03_std_private_algorithm_find_if_not                                 [system] { header "__algorithm/find_if_not.h" }
+module cxx03_std_private_algorithm_find_segment_if                             [system] { header "__algorithm/find_segment_if.h" }
+module cxx03_std_private_algorithm_fold                                        [system] { header "__algorithm/fold.h" }
+module cxx03_std_private_algorithm_for_each                                    [system] { header "__algorithm/for_each.h" }
+module cxx03_std_private_algorithm_for_each_n                                  [system] { header "__algorithm/for_each_n.h" }
+module cxx03_std_private_algorithm_for_each_segment                            [system] { header "__algorithm/for_each_segment.h" }
+module cxx03_std_private_algorithm_generate                                    [system] { header "__algorithm/generate.h" }
+module cxx03_std_private_algorithm_generate_n                                  [system] { header "__algorithm/generate_n.h" }
+module cxx03_std_private_algorithm_half_positive                               [system] { header "__algorithm/half_positive.h" }
+module cxx03_std_private_algorithm_in_found_result                             [system] { header "__algorithm/in_found_result.h" }
+module cxx03_std_private_algorithm_in_fun_result                               [system] { header "__algorithm/in_fun_result.h" }
+module cxx03_std_private_algorithm_in_in_out_result                            [system] { header "__algorithm/in_in_out_result.h" }
+module cxx03_std_private_algorithm_in_in_result                                [system] { header "__algorithm/in_in_result.h" }
+module cxx03_std_private_algorithm_in_out_out_result                           [system] { header "__algorithm/in_out_out_result.h" }
+module cxx03_std_private_algorithm_in_out_result                               [system] { header "__algorithm/in_out_result.h" }
+module cxx03_std_private_algorithm_includes                                    [system] { header "__algorithm/includes.h" }
+module cxx03_std_private_algorithm_inplace_merge                               [system] { header "__algorithm/inplace_merge.h" }
+module cxx03_std_private_algorithm_is_heap                                     [system] { header "__algorithm/is_heap.h" }
+module cxx03_std_private_algorithm_is_heap_until                               [system] { header "__algorithm/is_heap_until.h" }
+module cxx03_std_private_algorithm_is_partitioned                              [system] { header "__algorithm/is_partitioned.h" }
+module cxx03_std_private_algorithm_is_permutation                              [system] { header "__algorithm/is_permutation.h" }
+module cxx03_std_private_algorithm_is_sorted                                   [system] { header "__algorithm/is_sorted.h" }
+module cxx03_std_private_algorithm_is_sorted_until                             [system] { header "__algorithm/is_sorted_until.h" }
+module cxx03_std_private_algorithm_iter_swap                                   [system] { header "__algorithm/iter_swap.h" }
+module cxx03_std_private_algorithm_iterator_operations                         [system] {
   header "__algorithm/iterator_operations.h"
   export *
 }
-module std_private_algorithm_lexicographical_compare                     [system] { header "__algorithm/lexicographical_compare.h" }
-module std_private_algorithm_lexicographical_compare_three_way           [system] { header "__algorithm/lexicographical_compare_three_way.h" }
-module std_private_algorithm_lower_bound                                 [system] { header "__algorithm/lower_bound.h" }
-module std_private_algorithm_make_heap                                   [system] { header "__algorithm/make_heap.h" }
-module std_private_algorithm_make_projected                              [system] { header "__algorithm/make_projected.h" }
-module std_private_algorithm_max                                         [system] { header "__algorithm/max.h" }
-module std_private_algorithm_max_element                                 [system] { header "__algorithm/max_element.h" }
-module std_private_algorithm_merge                                       [system] { header "__algorithm/merge.h" }
-module std_private_algorithm_min                                         [system] { header "__algorithm/min.h" }
-module std_private_algorithm_min_element                                 [system] { header "__algorithm/min_element.h" }
-module std_private_algorithm_min_max_result                              [system] { header "__algorithm/min_max_result.h" }
-module std_private_algorithm_minmax                                      [system] {
+module cxx03_std_private_algorithm_lexicographical_compare                     [system] { header "__algorithm/lexicographical_compare.h" }
+module cxx03_std_private_algorithm_lexicographical_compare_three_way           [system] { header "__algorithm/lexicographical_compare_three_way.h" }
+module cxx03_std_private_algorithm_lower_bound                                 [system] { header "__algorithm/lower_bound.h" }
+module cxx03_std_private_algorithm_make_heap                                   [system] { header "__algorithm/make_heap.h" }
+module cxx03_std_private_algorithm_make_projected                              [system] { header "__algorithm/make_projected.h" }
+module cxx03_std_private_algorithm_max                                         [system] { header "__algorithm/max.h" }
+module cxx03_std_private_algorithm_max_element                                 [system] { header "__algorithm/max_element.h" }
+module cxx03_std_private_algorithm_merge                                       [system] { header "__algorithm/merge.h" }
+module cxx03_std_private_algorithm_min                                         [system] { header "__algorithm/min.h" }
+module cxx03_std_private_algorithm_min_element                                 [system] { header "__algorithm/min_element.h" }
+module cxx03_std_private_algorithm_min_max_result                              [system] { header "__algorithm/min_max_result.h" }
+module cxx03_std_private_algorithm_minmax                                      [system] {
   header "__algorithm/minmax.h"
   export *
 }
-module std_private_algorithm_minmax_element                              [system] { header "__algorithm/minmax_element.h" }
-module std_private_algorithm_mismatch                                    [system] {
+module cxx03_std_private_algorithm_minmax_element                              [system] { header "__algorithm/minmax_element.h" }
+module cxx03_std_private_algorithm_mismatch                                    [system] {
   header "__algorithm/mismatch.h"
   export std_private_algorithm_simd_utils
   export std_private_iterator_aliasing_iterator
 }
-module std_private_algorithm_move                                        [system] { header "__algorithm/move.h" }
-module std_private_algorithm_move_backward                               [system] { header "__algorithm/move_backward.h" }
-module std_private_algorithm_next_permutation                            [system] { header "__algorithm/next_permutation.h" }
-module std_private_algorithm_none_of                                     [system] { header "__algorithm/none_of.h" }
-module std_private_algorithm_nth_element                                 [system] { header "__algorithm/nth_element.h" }
-module std_private_algorithm_partial_sort                                [system] { header "__algorithm/partial_sort.h" }
-module std_private_algorithm_partial_sort_copy                           [system] { header "__algorithm/partial_sort_copy.h" }
-module std_private_algorithm_partition                                   [system] { header "__algorithm/partition.h" }
-module std_private_algorithm_partition_copy                              [system] { header "__algorithm/partition_copy.h" }
-module std_private_algorithm_partition_point                             [system] { header "__algorithm/partition_point.h" }
-module std_private_algorithm_pop_heap                                    [system] { header "__algorithm/pop_heap.h" }
-module std_private_algorithm_prev_permutation                            [system] { header "__algorithm/prev_permutation.h" }
-module std_private_algorithm_pstl                                        [system] {
+module cxx03_std_private_algorithm_move                                        [system] { header "__algorithm/move.h" }
+module cxx03_std_private_algorithm_move_backward                               [system] { header "__algorithm/move_backward.h" }
+module cxx03_std_private_algorithm_next_permutation                            [system] { header "__algorithm/next_permutation.h" }
+module cxx03_std_private_algorithm_none_of                                     [system] { header "__algorithm/none_of.h" }
+module cxx03_std_private_algorithm_nth_element                                 [system] { header "__algorithm/nth_element.h" }
+module cxx03_std_private_algorithm_partial_sort                                [system] { header "__algorithm/partial_sort.h" }
+module cxx03_std_private_algorithm_partial_sort_copy                           [system] { header "__algorithm/partial_sort_copy.h" }
+module cxx03_std_private_algorithm_partition                                   [system] { header "__algorithm/partition.h" }
+module cxx03_std_private_algorithm_partition_copy                              [system] { header "__algorithm/partition_copy.h" }
+module cxx03_std_private_algorithm_partition_point                             [system] { header "__algorithm/partition_point.h" }
+module cxx03_std_private_algorithm_pop_heap                                    [system] { header "__algorithm/pop_heap.h" }
+module cxx03_std_private_algorithm_prev_permutation                            [system] { header "__algorithm/prev_permutation.h" }
+module cxx03_std_private_algorithm_pstl                                        [system] {
   header "__algorithm/pstl.h"
   export *
 }
-module std_private_algorithm_push_heap                                   [system] { header "__algorithm/push_heap.h" }
-module std_private_algorithm_ranges_adjacent_find                        [system] { header "__algorithm/ranges_adjacent_find.h" }
-module std_private_algorithm_ranges_all_of                               [system] { header "__algorithm/ranges_all_of.h" }
-module std_private_algorithm_ranges_any_of                               [system] { header "__algorithm/ranges_any_of.h" }
-module std_private_algorithm_ranges_binary_search                        [system] {
+module cxx03_std_private_algorithm_push_heap                                   [system] { header "__algorithm/push_heap.h" }
+module cxx03_std_private_algorithm_ranges_adjacent_find                        [system] { header "__algorithm/ranges_adjacent_find.h" }
+module cxx03_std_private_algorithm_ranges_all_of                               [system] { header "__algorithm/ranges_all_of.h" }
+module cxx03_std_private_algorithm_ranges_any_of                               [system] { header "__algorithm/ranges_any_of.h" }
+module cxx03_std_private_algorithm_ranges_binary_search                        [system] {
   header "__algorithm/ranges_binary_search.h"
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_clamp                                [system] {
+module cxx03_std_private_algorithm_ranges_clamp                                [system] {
   header "__algorithm/ranges_clamp.h"
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_contains                             [system] { header "__algorithm/ranges_contains.h" }
-module std_private_algorithm_ranges_contains_subrange                    [system] { header "__algorithm/ranges_contains_subrange.h" }
-module std_private_algorithm_ranges_copy                                 [system] {
+module cxx03_std_private_algorithm_ranges_contains                             [system] { header "__algorithm/ranges_contains.h" }
+module cxx03_std_private_algorithm_ranges_contains_subrange                    [system] { header "__algorithm/ranges_contains_subrange.h" }
+module cxx03_std_private_algorithm_ranges_copy                                 [system] {
   header "__algorithm/ranges_copy.h"
   export std_private_algorithm_in_out_result
 }
-module std_private_algorithm_ranges_copy_backward                        [system] {
+module cxx03_std_private_algorithm_ranges_copy_backward                        [system] {
   header "__algorithm/ranges_copy_backward.h"
   export std_private_algorithm_in_out_result
 }
-module std_private_algorithm_ranges_copy_if                              [system] {
+module cxx03_std_private_algorithm_ranges_copy_if                              [system] {
   header "__algorithm/ranges_copy_if.h"
   export std_private_algorithm_in_out_result
 }
-module std_private_algorithm_ranges_copy_n                               [system] {
+module cxx03_std_private_algorithm_ranges_copy_n                               [system] {
   header "__algorithm/ranges_copy_n.h"
   export std_private_algorithm_in_out_result
 }
-module std_private_algorithm_ranges_count                                [system] { header "__algorithm/ranges_count.h" }
-module std_private_algorithm_ranges_count_if                             [system] { header "__algorithm/ranges_count_if.h" }
-module std_private_algorithm_ranges_ends_with                            [system] { header "__algorithm/ranges_ends_with.h" }
-module std_private_algorithm_ranges_equal                                [system] { header "__algorithm/ranges_equal.h" }
-module std_private_algorithm_ranges_equal_range                          [system] {
+module cxx03_std_private_algorithm_ranges_count                                [system] { header "__algorithm/ranges_count.h" }
+module cxx03_std_private_algorithm_ranges_count_if                             [system] { header "__algorithm/ranges_count_if.h" }
+module cxx03_std_private_algorithm_ranges_ends_with                            [system] { header "__algorithm/ranges_ends_with.h" }
+module cxx03_std_private_algorithm_ranges_equal                                [system] { header "__algorithm/ranges_equal.h" }
+module cxx03_std_private_algorithm_ranges_equal_range                          [system] {
   header "__algorithm/ranges_equal_range.h"
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_fill                                 [system] { header "__algorithm/ranges_fill.h" }
-module std_private_algorithm_ranges_fill_n                               [system] { header "__algorithm/ranges_fill_n.h" }
-module std_private_algorithm_ranges_find                                 [system] { header "__algorithm/ranges_find.h" }
-module std_private_algorithm_ranges_find_end                             [system] { header "__algorithm/ranges_find_end.h" }
-module std_private_algorithm_ranges_find_first_of                        [system] { header "__algorithm/ranges_find_first_of.h" }
-module std_private_algorithm_ranges_find_if                              [system] { header "__algorithm/ranges_find_if.h" }
-module std_private_algorithm_ranges_find_if_not                          [system] { header "__algorithm/ranges_find_if_not.h" }
-module std_private_algorithm_ranges_find_last                            [system] { header "__algorithm/ranges_find_last.h" }
-module std_private_algorithm_ranges_for_each                             [system] {
+module cxx03_std_private_algorithm_ranges_fill                                 [system] { header "__algorithm/ranges_fill.h" }
+module cxx03_std_private_algorithm_ranges_fill_n                               [system] { header "__algorithm/ranges_fill_n.h" }
+module cxx03_std_private_algorithm_ranges_find                                 [system] { header "__algorithm/ranges_find.h" }
+module cxx03_std_private_algorithm_ranges_find_end                             [system] { header "__algorithm/ranges_find_end.h" }
+module cxx03_std_private_algorithm_ranges_find_first_of                        [system] { header "__algorithm/ranges_find_first_of.h" }
+module cxx03_std_private_algorithm_ranges_find_if                              [system] { header "__algorithm/ranges_find_if.h" }
+module cxx03_std_private_algorithm_ranges_find_if_not                          [system] { header "__algorithm/ranges_find_if_not.h" }
+module cxx03_std_private_algorithm_ranges_find_last                            [system] { header "__algorithm/ranges_find_last.h" }
+module cxx03_std_private_algorithm_ranges_for_each                             [system] {
   header "__algorithm/ranges_for_each.h"
   export std_private_algorithm_in_fun_result
 }
-module std_private_algorithm_ranges_for_each_n                           [system] {
+module cxx03_std_private_algorithm_ranges_for_each_n                           [system] {
   header "__algorithm/ranges_for_each_n.h"
   export std_private_algorithm_in_fun_result
 }
-module std_private_algorithm_ranges_generate                             [system] { header "__algorithm/ranges_generate.h" }
-module std_private_algorithm_ranges_generate_n                           [system] { header "__algorithm/ranges_generate_n.h" }
-module std_private_algorithm_ranges_includes                             [system] {
+module cxx03_std_private_algorithm_ranges_generate                             [system] { header "__algorithm/ranges_generate.h" }
+module cxx03_std_private_algorithm_ranges_generate_n                           [system] { header "__algorithm/ranges_generate_n.h" }
+module cxx03_std_private_algorithm_ranges_includes                             [system] {
   header "__algorithm/ranges_includes.h"
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_inplace_merge                        [system] {
+module cxx03_std_private_algorithm_ranges_inplace_merge                        [system] {
   header "__algorithm/ranges_inplace_merge.h"
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_is_heap                              [system] {
+module cxx03_std_private_algorithm_ranges_is_heap                              [system] {
   header "__algorithm/ranges_is_heap.h"
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_is_heap_until                        [system] {
+module cxx03_std_private_algorithm_ranges_is_heap_until                        [system] {
   header "__algorithm/ranges_is_heap_until.h"
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_is_partitioned                       [system] { header "__algorithm/ranges_is_partitioned.h" }
-module std_private_algorithm_ranges_is_permutation                       [system] { header "__algorithm/ranges_is_permutation.h" }
-module std_private_algorithm_ranges_is_sorted                            [system] {
+module cxx03_std_private_algorithm_ranges_is_partitioned                       [system] { header "__algorithm/ranges_is_partitioned.h" }
+module cxx03_std_private_algorithm_ranges_is_permutation                       [system] { header "__algorithm/ranges_is_permutation.h" }
+module cxx03_std_private_algorithm_ranges_is_sorted                            [system] {
   header "__algorithm/ranges_is_sorted.h"
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_is_sorted_until                      [system] {
+module cxx03_std_private_algorithm_ranges_is_sorted_until                      [system] {
   header "__algorithm/ranges_is_sorted_until.h"
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_iterator_concept                     [system] { header "__algorithm/ranges_iterator_concept.h" }
-module std_private_algorithm_ranges_lexicographical_compare              [system] {
+module cxx03_std_private_algorithm_ranges_iterator_concept                     [system] { header "__algorithm/ranges_iterator_concept.h" }
+module cxx03_std_private_algorithm_ranges_lexicographical_compare              [system] {
   header "__algorithm/ranges_lexicographical_compare.h"
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_lower_bound                          [system] {
+module cxx03_std_private_algorithm_ranges_lower_bound                          [system] {
   header "__algorithm/ranges_lower_bound.h"
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_make_heap                            [system] {
+module cxx03_std_private_algorithm_ranges_make_heap                            [system] {
   header "__algorithm/ranges_make_heap.h"
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_max                                  [system] {
+module cxx03_std_private_algorithm_ranges_max                                  [system] {
   header "__algorithm/ranges_max.h"
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_max_element                          [system] {
+module cxx03_std_private_algorithm_ranges_max_element                          [system] {
   header "__algorithm/ranges_max_element.h"
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_merge                                [system] {
+module cxx03_std_private_algorithm_ranges_merge                                [system] {
   header "__algorithm/ranges_merge.h"
   export std_private_algorithm_in_in_out_result
 }
-module std_private_algorithm_ranges_min                                  [system] {
+module cxx03_std_private_algorithm_ranges_min                                  [system] {
   header "__algorithm/ranges_min.h"
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_min_element                          [system] {
+module cxx03_std_private_algorithm_ranges_min_element                          [system] {
   header "__algorithm/ranges_min_element.h"
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_minmax                               [system] {
+module cxx03_std_private_algorithm_ranges_minmax                               [system] {
   header "__algorithm/ranges_minmax.h"
   export std_private_functional_ranges_operations
   export std_private_algorithm_min_max_result
 }
-module std_private_algorithm_ranges_minmax_element                       [system] {
+module cxx03_std_private_algorithm_ranges_minmax_element                       [system] {
   header "__algorithm/ranges_minmax_element.h"
   export std_private_functional_ranges_operations
   export std_private_algorithm_min_max_result
 }
-module std_private_algorithm_ranges_mismatch                             [system] {
+module cxx03_std_private_algorithm_ranges_mismatch                             [system] {
   header "__algorithm/ranges_mismatch.h"
   export std_private_algorithm_in_in_result
 }
-module std_private_algorithm_ranges_move                                 [system] {
+module cxx03_std_private_algorithm_ranges_move                                 [system] {
   header "__algorithm/ranges_move.h"
   export std_private_algorithm_in_out_result
 }
-module std_private_algorithm_ranges_move_backward                        [system] {
+module cxx03_std_private_algorithm_ranges_move_backward                        [system] {
   header "__algorithm/ranges_move_backward.h"
   export std_private_algorithm_in_out_result
 }
-module std_private_algorithm_ranges_next_permutation                     [system] {
+module cxx03_std_private_algorithm_ranges_next_permutation                     [system] {
   header "__algorithm/ranges_next_permutation.h"
   export std_private_algorithm_in_found_result
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_none_of                              [system] { header "__algorithm/ranges_none_of.h" }
-module std_private_algorithm_ranges_nth_element                          [system] {
+module cxx03_std_private_algorithm_ranges_none_of                              [system] { header "__algorithm/ranges_none_of.h" }
+module cxx03_std_private_algorithm_ranges_nth_element                          [system] {
   header "__algorithm/ranges_nth_element.h"
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_partial_sort                         [system] {
+module cxx03_std_private_algorithm_ranges_partial_sort                         [system] {
   header "__algorithm/ranges_partial_sort.h"
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_partial_sort_copy                    [system] {
+module cxx03_std_private_algorithm_ranges_partial_sort_copy                    [system] {
   header "__algorithm/ranges_partial_sort_copy.h"
   export std_private_algorithm_in_out_result
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_partition                            [system] { header "__algorithm/ranges_partition.h" }
-module std_private_algorithm_ranges_partition_copy                       [system] { header "__algorithm/ranges_partition_copy.h" }
-module std_private_algorithm_ranges_partition_point                      [system] { header "__algorithm/ranges_partition_point.h" }
-module std_private_algorithm_ranges_pop_heap                             [system] {
+module cxx03_std_private_algorithm_ranges_partition                            [system] { header "__algorithm/ranges_partition.h" }
+module cxx03_std_private_algorithm_ranges_partition_copy                       [system] { header "__algorithm/ranges_partition_copy.h" }
+module cxx03_std_private_algorithm_ranges_partition_point                      [system] { header "__algorithm/ranges_partition_point.h" }
+module cxx03_std_private_algorithm_ranges_pop_heap                             [system] {
   header "__algorithm/ranges_pop_heap.h"
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_prev_permutation                     [system] {
+module cxx03_std_private_algorithm_ranges_prev_permutation                     [system] {
   header "__algorithm/ranges_prev_permutation.h"
   export std_private_algorithm_in_found_result
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_push_heap                            [system] {
+module cxx03_std_private_algorithm_ranges_push_heap                            [system] {
   header "__algorithm/ranges_push_heap.h"
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_remove                               [system] { header "__algorithm/ranges_remove.h" }
-module std_private_algorithm_ranges_remove_copy                          [system] {
+module cxx03_std_private_algorithm_ranges_remove                               [system] { header "__algorithm/ranges_remove.h" }
+module cxx03_std_private_algorithm_ranges_remove_copy                          [system] {
   header "__algorithm/ranges_remove_copy.h"
   export std_private_algorithm_in_out_result
 }
-module std_private_algorithm_ranges_remove_copy_if                       [system] {
+module cxx03_std_private_algorithm_ranges_remove_copy_if                       [system] {
   header "__algorithm/ranges_remove_copy_if.h"
   export std_private_algorithm_in_out_result
 }
-module std_private_algorithm_ranges_remove_if                            [system] { header "__algorithm/ranges_remove_if.h" }
-module std_private_algorithm_ranges_replace                              [system] { header "__algorithm/ranges_replace.h" }
-module std_private_algorithm_ranges_replace_copy                         [system] {
+module cxx03_std_private_algorithm_ranges_remove_if                            [system] { header "__algorithm/ranges_remove_if.h" }
+module cxx03_std_private_algorithm_ranges_replace                              [system] { header "__algorithm/ranges_replace.h" }
+module cxx03_std_private_algorithm_ranges_replace_copy                         [system] {
   header "__algorithm/ranges_replace_copy.h"
   export std_private_algorithm_in_out_result
 }
-module std_private_algorithm_ranges_replace_copy_if                      [system] {
+module cxx03_std_private_algorithm_ranges_replace_copy_if                      [system] {
   header "__algorithm/ranges_replace_copy_if.h"
   export std_private_algorithm_in_out_result
 }
-module std_private_algorithm_ranges_replace_if                           [system] { header "__algorithm/ranges_replace_if.h" }
-module std_private_algorithm_ranges_reverse                              [system] { header "__algorithm/ranges_reverse.h" }
-module std_private_algorithm_ranges_reverse_copy                         [system] {
+module cxx03_std_private_algorithm_ranges_replace_if                           [system] { header "__algorithm/ranges_replace_if.h" }
+module cxx03_std_private_algorithm_ranges_reverse                              [system] { header "__algorithm/ranges_reverse.h" }
+module cxx03_std_private_algorithm_ranges_reverse_copy                         [system] {
   header "__algorithm/ranges_reverse_copy.h"
   export std_private_algorithm_in_out_result
 }
-module std_private_algorithm_ranges_rotate                               [system] { header "__algorithm/ranges_rotate.h" }
-module std_private_algorithm_ranges_rotate_copy                          [system] {
+module cxx03_std_private_algorithm_ranges_rotate                               [system] { header "__algorithm/ranges_rotate.h" }
+module cxx03_std_private_algorithm_ranges_rotate_copy                          [system] {
   header "__algorithm/ranges_rotate_copy.h"
   export std_private_algorithm_in_out_result
 }
-module std_private_algorithm_ranges_sample                               [system] { header "__algorithm/ranges_sample.h" }
-module std_private_algorithm_ranges_search                               [system] { header "__algorithm/ranges_search.h" }
-module std_private_algorithm_ranges_search_n                             [system] { header "__algorithm/ranges_search_n.h" }
-module std_private_algorithm_ranges_set_difference                       [system] {
+module cxx03_std_private_algorithm_ranges_sample                               [system] { header "__algorithm/ranges_sample.h" }
+module cxx03_std_private_algorithm_ranges_search                               [system] { header "__algorithm/ranges_search.h" }
+module cxx03_std_private_algorithm_ranges_search_n                             [system] { header "__algorithm/ranges_search_n.h" }
+module cxx03_std_private_algorithm_ranges_set_difference                       [system] {
   header "__algorithm/ranges_set_difference.h"
   export std_private_algorithm_in_out_result
 }
-module std_private_algorithm_ranges_set_intersection                     [system] {
+module cxx03_std_private_algorithm_ranges_set_intersection                     [system] {
   header "__algorithm/ranges_set_intersection.h"
   export std_private_algorithm_in_in_out_result
 }
-module std_private_algorithm_ranges_set_symmetric_difference             [system] {
+module cxx03_std_private_algorithm_ranges_set_symmetric_difference             [system] {
   header "__algorithm/ranges_set_symmetric_difference.h"
   export std_private_algorithm_in_in_out_result
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_set_union                            [system] {
+module cxx03_std_private_algorithm_ranges_set_union                            [system] {
   header "__algorithm/ranges_set_union.h"
   export std_private_algorithm_in_in_out_result
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_shuffle                              [system] { header "__algorithm/ranges_shuffle.h" }
-module std_private_algorithm_ranges_sort                                 [system] {
+module cxx03_std_private_algorithm_ranges_shuffle                              [system] { header "__algorithm/ranges_shuffle.h" }
+module cxx03_std_private_algorithm_ranges_sort                                 [system] {
   header "__algorithm/ranges_sort.h"
   export std_private_algorithm_make_projected
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_sort_heap                            [system] {
+module cxx03_std_private_algorithm_ranges_sort_heap                            [system] {
   header "__algorithm/ranges_sort_heap.h"
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_stable_partition                     [system] { header "__algorithm/ranges_stable_partition.h" }
-module std_private_algorithm_ranges_stable_sort                          [system] {
+module cxx03_std_private_algorithm_ranges_stable_partition                     [system] { header "__algorithm/ranges_stable_partition.h" }
+module cxx03_std_private_algorithm_ranges_stable_sort                          [system] {
   header "__algorithm/ranges_stable_sort.h"
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_ranges_starts_with                          [system] { header "__algorithm/ranges_starts_with.h" }
-module std_private_algorithm_ranges_swap_ranges                          [system] {
+module cxx03_std_private_algorithm_ranges_starts_with                          [system] { header "__algorithm/ranges_starts_with.h" }
+module cxx03_std_private_algorithm_ranges_swap_ranges                          [system] {
   header "__algorithm/ranges_swap_ranges.h"
   export std_private_algorithm_in_in_result
 }
-module std_private_algorithm_ranges_transform                            [system] {
+module cxx03_std_private_algorithm_ranges_transform                            [system] {
   header "__algorithm/ranges_transform.h"
   export std_private_algorithm_in_in_out_result
   export std_private_algorithm_in_out_result
 }
-module std_private_algorithm_ranges_unique                               [system] { header "__algorithm/ranges_unique.h" }
-module std_private_algorithm_ranges_unique_copy                          [system] {
+module cxx03_std_private_algorithm_ranges_unique                               [system] { header "__algorithm/ranges_unique.h" }
+module cxx03_std_private_algorithm_ranges_unique_copy                          [system] {
   header "__algorithm/ranges_unique_copy.h"
   export std_private_algorithm_in_out_result
 }
-module std_private_algorithm_ranges_upper_bound                          [system] {
+module cxx03_std_private_algorithm_ranges_upper_bound                          [system] {
   header "__algorithm/ranges_upper_bound.h"
   export std_private_functional_ranges_operations
 }
-module std_private_algorithm_remove                                      [system] { header "__algorithm/remove.h" }
-module std_private_algorithm_remove_copy                                 [system] { header "__algorithm/remove_copy.h" }
-module std_private_algorithm_remove_copy_if                              [system] { header "__algorithm/remove_copy_if.h" }
-module std_private_algorithm_remove_if                                   [system] { header "__algorithm/remove_if.h" }
-module std_private_algorithm_replace                                     [system] { header "__algorithm/replace.h" }
-module std_private_algorithm_replace_copy                                [system] { header "__algorithm/replace_copy.h" }
-module std_private_algorithm_replace_copy_if                             [system] { header "__algorithm/replace_copy_if.h" }
-module std_private_algorithm_replace_if                                  [system] { header "__algorithm/replace_if.h" }
-module std_private_algorithm_reverse                                     [system] { header "__algorithm/reverse.h" }
-module std_private_algorithm_reverse_copy                                [system] { header "__algorithm/reverse_copy.h" }
-module std_private_algorithm_rotate                                      [system] { header "__algorithm/rotate.h" }
-module std_private_algorithm_rotate_copy                                 [system] { header "__algorithm/rotate_copy.h" }
-module std_private_algorithm_sample                                      [system] { header "__algorithm/sample.h" }
-module std_private_algorithm_search                                      [system] { header "__algorithm/search.h" }
-module std_private_algorithm_search_n                                    [system] { header "__algorithm/search_n.h" }
-module std_private_algorithm_set_difference                              [system] { header "__algorithm/set_difference.h" }
-module std_private_algorithm_set_intersection                            [system] { header "__algorithm/set_intersection.h" }
-module std_private_algorithm_set_symmetric_difference                    [system] { header "__algorithm/set_symmetric_difference.h" }
-module std_private_algorithm_set_union                                   [system] { header "__algorithm/set_union.h" }
-module std_private_algorithm_shift_left                                  [system] { header "__algorithm/shift_left.h" }
-module std_private_algorithm_shift_right                                 [system] { header "__algorithm/shift_right.h" }
-module std_private_algorithm_shuffle                                     [system] { header "__algorithm/shuffle.h" }
-module std_private_algorithm_sift_down                                   [system] { header "__algorithm/sift_down.h" }
-module std_private_algorithm_sort                                        [system] {
+module cxx03_std_private_algorithm_remove                                      [system] { header "__algorithm/remove.h" }
+module cxx03_std_private_algorithm_remove_copy                                 [system] { header "__algorithm/remove_copy.h" }
+module cxx03_std_private_algorithm_remove_copy_if                              [system] { header "__algorithm/remove_copy_if.h" }
+module cxx03_std_private_algorithm_remove_if                                   [system] { header "__algorithm/remove_if.h" }
+module cxx03_std_private_algorithm_replace                                     [system] { header "__algorithm/replace.h" }
+module cxx03_std_private_algorithm_replace_copy                                [system] { header "__algorithm/replace_copy.h" }
+module cxx03_std_private_algorithm_replace_copy_if                             [system] { header "__algorithm/replace_copy_if.h" }
+module cxx03_std_private_algorithm_replace_if                                  [system] { header "__algorithm/replace_if.h" }
+module cxx03_std_private_algorithm_reverse                                     [system] { header "__algorithm/reverse.h" }
+module cxx03_std_private_algorithm_reverse_copy                                [system] { header "__algorithm/reverse_copy.h" }
+module cxx03_std_private_algorithm_rotate                                      [system] { header "__algorithm/rotate.h" }
+module cxx03_std_private_algorithm_rotate_copy                                 [system] { header "__algorithm/rotate_copy.h" }
+module cxx03_std_private_algorithm_sample                                      [system] { header "__algorithm/sample.h" }
+module cxx03_std_private_algorithm_search                                      [system] { header "__algorithm/search.h" }
+module cxx03_std_private_algorithm_search_n                                    [system] { header "__algorithm/search_n.h" }
+module cxx03_std_private_algorithm_set_difference                              [system] { header "__algorithm/set_difference.h" }
+module cxx03_std_private_algorithm_set_intersection                            [system] { header "__algorithm/set_intersection.h" }
+module cxx03_std_private_algorithm_set_symmetric_difference                    [system] { header "__algorithm/set_symmetric_difference.h" }
+module cxx03_std_private_algorithm_set_union                                   [system] { header "__algorithm/set_union.h" }
+module cxx03_std_private_algorithm_shift_left                                  [system] { header "__algorithm/shift_left.h" }
+module cxx03_std_private_algorithm_shift_right                                 [system] { header "__algorithm/shift_right.h" }
+module cxx03_std_private_algorithm_shuffle                                     [system] { header "__algorithm/shuffle.h" }
+module cxx03_std_private_algorithm_sift_down                                   [system] { header "__algorithm/sift_down.h" }
+module cxx03_std_private_algorithm_sort                                        [system] {
   header "__algorithm/sort.h"
   export std_private_debug_utils_strict_weak_ordering_check
 }
-module std_private_algorithm_simd_utils                                  [system] { header "__algorithm/simd_utils.h" }
-module std_private_algorithm_sort_heap                                   [system] { header "__algorithm/sort_heap.h" }
-module std_private_algorithm_stable_partition                            [system] { header "__algorithm/stable_partition.h" }
-module std_private_algorithm_stable_sort                                 [system] { header "__algorithm/stable_sort.h" }
-module std_private_algorithm_swap_ranges                                 [system] {
+module cxx03_std_private_algorithm_simd_utils                                  [system] { header "__algorithm/simd_utils.h" }
+module cxx03_std_private_algorithm_sort_heap                                   [system] { header "__algorithm/sort_heap.h" }
+module cxx03_std_private_algorithm_stable_partition                            [system] { header "__algorithm/stable_partition.h" }
+module cxx03_std_private_algorithm_stable_sort                                 [system] { header "__algorithm/stable_sort.h" }
+module cxx03_std_private_algorithm_swap_ranges                                 [system] {
   header "__algorithm/swap_ranges.h"
   export std_private_algorithm_iterator_operations
 }
-module std_private_algorithm_three_way_comp_ref_type                     [system] { header "__algorithm/three_way_comp_ref_type.h" }
-module std_private_algorithm_transform                                   [system] { header "__algorithm/transform.h" }
-module std_private_algorithm_uniform_random_bit_generator_adaptor        [system] { header "__algorithm/uniform_random_bit_generator_adaptor.h" }
-module std_private_algorithm_unique                                      [system] { header "__algorithm/unique.h" }
-module std_private_algorithm_unique_copy                                 [system] { header "__algorithm/unique_copy.h" }
-module std_private_algorithm_unwrap_iter                                 [system] {
+module cxx03_std_private_algorithm_three_way_comp_ref_type                     [system] { header "__algorithm/three_way_comp_ref_type.h" }
+module cxx03_std_private_algorithm_transform                                   [system] { header "__algorithm/transform.h" }
+module cxx03_std_private_algorithm_uniform_random_bit_generator_adaptor        [system] { header "__algorithm/uniform_random_bit_generator_adaptor.h" }
+module cxx03_std_private_algorithm_unique                                      [system] { header "__algorithm/unique.h" }
+module cxx03_std_private_algorithm_unique_copy                                 [system] { header "__algorithm/unique_copy.h" }
+module cxx03_std_private_algorithm_unwrap_iter                                 [system] {
   header "__algorithm/unwrap_iter.h"
   export std_private_iterator_iterator_traits
 }
-module std_private_algorithm_unwrap_range                                [system] {
+module cxx03_std_private_algorithm_unwrap_range                                [system] {
   header "__algorithm/unwrap_range.h"
   export std_private_utility_pair
 }
-module std_private_algorithm_upper_bound                                 [system] { header "__algorithm/upper_bound.h" }
+module cxx03_std_private_algorithm_upper_bound                                 [system] { header "__algorithm/upper_bound.h" }
 
-module std_private_array_array_fwd [system] { header "__fwd/array.h" }
+module cxx03_std_private_array_array_fwd [system] { header "__fwd/array.h" }
 
-module std_private_atomic_aliases             [system] {
+module cxx03_std_private_atomic_aliases             [system] {
   header "__atomic/aliases.h"
   export std_private_atomic_atomic
 }
-module std_private_atomic_atomic              [system] {
+module cxx03_std_private_atomic_atomic              [system] {
   header "__atomic/atomic.h"
   export std_private_atomic_atomic_base
 }
-module std_private_atomic_atomic_base         [system] { header "__atomic/atomic_base.h" }
-module std_private_atomic_atomic_flag         [system] {
+module cxx03_std_private_atomic_atomic_base         [system] { header "__atomic/atomic_base.h" }
+module cxx03_std_private_atomic_atomic_flag         [system] {
   header "__atomic/atomic_flag.h"
   export *
 }
-module std_private_atomic_atomic_init         [system] { header "__atomic/atomic_init.h" }
-module std_private_atomic_atomic_lock_free    [system] { header "__atomic/atomic_lock_free.h" }
-module std_private_atomic_atomic_ref          [system] { header "__atomic/atomic_ref.h" }
-module std_private_atomic_atomic_sync         [system] {
+module cxx03_std_private_atomic_atomic_init         [system] { header "__atomic/atomic_init.h" }
+module cxx03_std_private_atomic_atomic_lock_free    [system] { header "__atomic/atomic_lock_free.h" }
+module cxx03_std_private_atomic_atomic_ref          [system] { header "__atomic/atomic_ref.h" }
+module cxx03_std_private_atomic_atomic_sync         [system] {
   header "__atomic/atomic_sync.h"
   export std_private_atomic_to_gcc_order
 }
-module std_private_atomic_check_memory_order  [system] { header "__atomic/check_memory_order.h" }
-module std_private_atomic_contention_t        [system] { header "__atomic/contention_t.h" }
-module std_private_atomic_cxx_atomic_impl     [system] { header "__atomic/cxx_atomic_impl.h" }
-module std_private_atomic_fence               [system] { header "__atomic/fence.h" }
-module std_private_atomic_is_always_lock_free [system] { header "__atomic/is_always_lock_free.h" }
-module std_private_atomic_kill_dependency     [system] { header "__atomic/kill_dependency.h" }
-module std_private_atomic_memory_order        [system] { header "__atomic/memory_order.h" }
-module std_private_atomic_to_gcc_order        [system] {
+module cxx03_std_private_atomic_check_memory_order  [system] { header "__atomic/check_memory_order.h" }
+module cxx03_std_private_atomic_contention_t        [system] { header "__atomic/contention_t.h" }
+module cxx03_std_private_atomic_cxx_atomic_impl     [system] { header "__atomic/cxx_atomic_impl.h" }
+module cxx03_std_private_atomic_fence               [system] { header "__atomic/fence.h" }
+module cxx03_std_private_atomic_is_always_lock_free [system] { header "__atomic/is_always_lock_free.h" }
+module cxx03_std_private_atomic_kill_dependency     [system] { header "__atomic/kill_dependency.h" }
+module cxx03_std_private_atomic_memory_order        [system] { header "__atomic/memory_order.h" }
+module cxx03_std_private_atomic_to_gcc_order        [system] {
   header "__atomic/to_gcc_order.h"
   export std_private_atomic_memory_order
 }
 
-module std_private_bit_bit_cast       [system] { header "__bit/bit_cast.h" }
-module std_private_bit_bit_ceil       [system] { header "__bit/bit_ceil.h" }
-module std_private_bit_bit_floor      [system] { header "__bit/bit_floor.h" }
-module std_private_bit_bit_log2       [system] { header "__bit/bit_log2.h" }
-module std_private_bit_bit_width      [system] { header "__bit/bit_width.h" }
-module std_private_bit_blsr           [system] { header "__bit/blsr.h" }
-module std_private_bit_byteswap       [system] { header "__bit/byteswap.h" }
-module std_private_bit_countl         [system] { header "__bit/countl.h" }
-module std_private_bit_countr         [system] { header "__bit/countr.h" }
-module std_private_bit_endian         [system] { header "__bit/endian.h" }
-module std_private_bit_has_single_bit [system] { header "__bit/has_single_bit.h" }
-module std_private_bit_invert_if      [system] { header "__bit/invert_if.h" }
-module std_private_bit_popcount       [system] { header "__bit/popcount.h" }
-module std_private_bit_rotate         [system] { header "__bit/rotate.h" }
+module cxx03_std_private_bit_bit_cast       [system] { header "__bit/bit_cast.h" }
+module cxx03_std_private_bit_bit_ceil       [system] { header "__bit/bit_ceil.h" }
+module cxx03_std_private_bit_bit_floor      [system] { header "__bit/bit_floor.h" }
+module cxx03_std_private_bit_bit_log2       [system] { header "__bit/bit_log2.h" }
+module cxx03_std_private_bit_bit_width      [system] { header "__bit/bit_width.h" }
+module cxx03_std_private_bit_blsr           [system] { header "__bit/blsr.h" }
+module cxx03_std_private_bit_byteswap       [system] { header "__bit/byteswap.h" }
+module cxx03_std_private_bit_countl         [system] { header "__bit/countl.h" }
+module cxx03_std_private_bit_countr         [system] { header "__bit/countr.h" }
+module cxx03_std_private_bit_endian         [system] { header "__bit/endian.h" }
+module cxx03_std_private_bit_has_single_bit [system] { header "__bit/has_single_bit.h" }
+module cxx03_std_private_bit_invert_if      [system] { header "__bit/invert_if.h" }
+module cxx03_std_private_bit_popcount       [system] { header "__bit/popcount.h" }
+module cxx03_std_private_bit_rotate         [system] { header "__bit/rotate.h" }
 
-module std_private_charconv_chars_format            [system] { header "__charconv/chars_format.h" }
-module std_private_charconv_from_chars_integral     [system] { header "__charconv/from_chars_integral.h" }
-module std_private_charconv_from_chars_result       [system] { header "__charconv/from_chars_result.h" }
-module std_private_charconv_tables                  [system] { header "__charconv/tables.h" }
-module std_private_charconv_to_chars                [system] { header "__charconv/to_chars.h" }
-module std_private_charconv_to_chars_base_10        [system] { header "__charconv/to_chars_base_10.h" }
-module std_private_charconv_to_chars_floating_point [system] { header "__charconv/to_chars_floating_point.h" }
-module std_private_charconv_to_chars_integral       [system] {
+module cxx03_std_private_charconv_chars_format            [system] { header "__charconv/chars_format.h" }
+module cxx03_std_private_charconv_from_chars_integral     [system] { header "__charconv/from_chars_integral.h" }
+module cxx03_std_private_charconv_from_chars_result       [system] { header "__charconv/from_chars_result.h" }
+module cxx03_std_private_charconv_tables                  [system] { header "__charconv/tables.h" }
+module cxx03_std_private_charconv_to_chars                [system] { header "__charconv/to_chars.h" }
+module cxx03_std_private_charconv_to_chars_base_10        [system] { header "__charconv/to_chars_base_10.h" }
+module cxx03_std_private_charconv_to_chars_floating_point [system] { header "__charconv/to_chars_floating_point.h" }
+module cxx03_std_private_charconv_to_chars_integral       [system] {
   header "__charconv/to_chars_integral.h"
   export std_private_charconv_traits
 }
-module std_private_charconv_to_chars_result         [system] {
+module cxx03_std_private_charconv_to_chars_result         [system] {
   header "__charconv/to_chars_result.h"
   export *
 }
-module std_private_charconv_traits                  [system] { header "__charconv/traits.h" }
+module cxx03_std_private_charconv_traits                  [system] { header "__charconv/traits.h" }
 
-module std_private_chrono_calendar               [system] { header "__chrono/calendar.h" }
-module std_private_chrono_concepts               [system] { header "__chrono/concepts.h" }
-module std_private_chrono_convert_to_timespec    [system] { header "__chrono/convert_to_timespec.h" }
-module std_private_chrono_convert_to_tm          [system] { header "__chrono/convert_to_tm.h" }
-module std_private_chrono_day                    [system] { header "__chrono/day.h" }
-module std_private_chrono_duration               [system] {
+module cxx03_std_private_chrono_calendar               [system] { header "__chrono/calendar.h" }
+module cxx03_std_private_chrono_concepts               [system] { header "__chrono/concepts.h" }
+module cxx03_std_private_chrono_convert_to_timespec    [system] { header "__chrono/convert_to_timespec.h" }
+module cxx03_std_private_chrono_convert_to_tm          [system] { header "__chrono/convert_to_tm.h" }
+module cxx03_std_private_chrono_day                    [system] { header "__chrono/day.h" }
+module cxx03_std_private_chrono_duration               [system] {
   header "__chrono/duration.h"
   export std_private_type_traits_is_convertible
 }
-module std_private_chrono_exception              [system] { header "__chrono/exception.h" }
-module std_private_chrono_file_clock             [system] { header "__chrono/file_clock.h" }
-module std_private_chrono_formatter              [system] {
+module cxx03_std_private_chrono_exception              [system] { header "__chrono/exception.h" }
+module cxx03_std_private_chrono_file_clock             [system] { header "__chrono/file_clock.h" }
+module cxx03_std_private_chrono_formatter              [system] {
   header "__chrono/formatter.h"
 }
-module std_private_chrono_hh_mm_ss               [system] { header "__chrono/hh_mm_ss.h" }
-module std_private_chrono_high_resolution_clock  [system] {
+module cxx03_std_private_chrono_hh_mm_ss               [system] { header "__chrono/hh_mm_ss.h" }
+module cxx03_std_private_chrono_high_resolution_clock  [system] {
   header "__chrono/high_resolution_clock.h"
   export std_private_chrono_steady_clock
   export std_private_chrono_system_clock
 }
-module std_private_chrono_leap_second            [system] { header "__chrono/leap_second.h" }
-module std_private_chrono_literals               [system] { header "__chrono/literals.h" }
-module std_private_chrono_local_info             [system] {
+module cxx03_std_private_chrono_leap_second            [system] { header "__chrono/leap_second.h" }
+module cxx03_std_private_chrono_literals               [system] { header "__chrono/literals.h" }
+module cxx03_std_private_chrono_local_info             [system] {
   header "__chrono/local_info.h"
   export std_private_chrono_sys_info
 }
-module std_private_chrono_month                  [system] { header "__chrono/month.h" }
-module std_private_chrono_month_weekday          [system] { header "__chrono/month_weekday.h" }
-module std_private_chrono_monthday               [system] { header "__chrono/monthday.h" }
-module std_private_chrono_ostream                [system] {
+module cxx03_std_private_chrono_month                  [system] { header "__chrono/month.h" }
+module cxx03_std_private_chrono_month_weekday          [system] { header "__chrono/month_weekday.h" }
+module cxx03_std_private_chrono_monthday               [system] { header "__chrono/monthday.h" }
+module cxx03_std_private_chrono_ostream                [system] {
   header "__chrono/ostream.h"
 }
-module std_private_chrono_parser_std_format_spec [system] {
+module cxx03_std_private_chrono_parser_std_format_spec [system] {
   header "__chrono/parser_std_format_spec.h"
 }
-module std_private_chrono_statically_widen       [system] { header "__chrono/statically_widen.h" }
-module std_private_chrono_steady_clock           [system] {
+module cxx03_std_private_chrono_statically_widen       [system] { header "__chrono/statically_widen.h" }
+module cxx03_std_private_chrono_steady_clock           [system] {
   header "__chrono/steady_clock.h"
   export std_private_chrono_time_point
 }
-module std_private_chrono_time_zone              [system] {
+module cxx03_std_private_chrono_time_zone              [system] {
   header "__chrono/time_zone.h"
   export std_private_memory_unique_ptr
 }
-module std_private_chrono_time_zone_link         [system] {
+module cxx03_std_private_chrono_time_zone_link         [system] {
   header "__chrono/time_zone_link.h"
 }
-module std_private_chrono_sys_info               [system] {
+module cxx03_std_private_chrono_sys_info               [system] {
   header "__chrono/sys_info.h"
 }
-module std_private_chrono_system_clock           [system] {
+module cxx03_std_private_chrono_system_clock           [system] {
   header "__chrono/system_clock.h"
   export std_private_chrono_time_point
 }
-module std_private_chrono_tzdb                   [system] {
+module cxx03_std_private_chrono_tzdb                   [system] {
   header "__chrono/tzdb.h"
   export *
 }
-module std_private_chrono_tzdb_list              [system] {
+module cxx03_std_private_chrono_tzdb_list              [system] {
   header "__chrono/tzdb_list.h"
   export *
 }
-module std_private_chrono_time_point             [system] { header "__chrono/time_point.h" }
-module std_private_chrono_weekday                [system] { header "__chrono/weekday.h" }
-module std_private_chrono_year                   [system] { header "__chrono/year.h" }
-module std_private_chrono_year_month             [system] { header "__chrono/year_month.h" }
-module std_private_chrono_year_month_day         [system] { header "__chrono/year_month_day.h" }
-module std_private_chrono_year_month_weekday     [system] { header "__chrono/year_month_weekday.h" }
-module std_private_chrono_zoned_time             [system] { header "__chrono/zoned_time.h" }
+module cxx03_std_private_chrono_time_point             [system] { header "__chrono/time_point.h" }
+module cxx03_std_private_chrono_weekday                [system] { header "__chrono/weekday.h" }
+module cxx03_std_private_chrono_year                   [system] { header "__chrono/year.h" }
+module cxx03_std_private_chrono_year_month             [system] { header "__chrono/year_month.h" }
+module cxx03_std_private_chrono_year_month_day         [system] { header "__chrono/year_month_day.h" }
+module cxx03_std_private_chrono_year_month_weekday     [system] { header "__chrono/year_month_weekday.h" }
+module cxx03_std_private_chrono_zoned_time             [system] { header "__chrono/zoned_time.h" }
 
-module std_private_compare_common_comparison_category     [system] { header "__compare/common_comparison_category.h" }
-module std_private_compare_compare_partial_order_fallback [system] { header "__compare/compare_partial_order_fallback.h" }
-module std_private_compare_compare_strong_order_fallback  [system] { header "__compare/compare_strong_order_fallback.h" }
-module std_private_compare_compare_three_way              [system] { header "__compare/compare_three_way.h" }
-module std_private_compare_compare_three_way_result       [system] { header "__compare/compare_three_way_result.h" }
-module std_private_compare_compare_weak_order_fallback    [system] { header "__compare/compare_weak_order_fallback.h" }
-module std_private_compare_is_eq                          [system] { header "__compare/is_eq.h" }
-module std_private_compare_ordering                       [system] { header "__compare/ordering.h" }
-module std_private_compare_partial_order                  [system] { header "__compare/partial_order.h" }
-module std_private_compare_strong_order                   [system] { header "__compare/strong_order.h" }
-module std_private_compare_synth_three_way                [system] { header "__compare/synth_three_way.h" }
-module std_private_compare_three_way_comparable           [system] { header "__compare/three_way_comparable.h" }
-module std_private_compare_weak_order                     [system] { header "__compare/weak_order.h" }
+module cxx03_std_private_compare_common_comparison_category     [system] { header "__compare/common_comparison_category.h" }
+module cxx03_std_private_compare_compare_partial_order_fallback [system] { header "__compare/compare_partial_order_fallback.h" }
+module cxx03_std_private_compare_compare_strong_order_fallback  [system] { header "__compare/compare_strong_order_fallback.h" }
+module cxx03_std_private_compare_compare_three_way              [system] { header "__compare/compare_three_way.h" }
+module cxx03_std_private_compare_compare_three_way_result       [system] { header "__compare/compare_three_way_result.h" }
+module cxx03_std_private_compare_compare_weak_order_fallback    [system] { header "__compare/compare_weak_order_fallback.h" }
+module cxx03_std_private_compare_is_eq                          [system] { header "__compare/is_eq.h" }
+module cxx03_std_private_compare_ordering                       [system] { header "__compare/ordering.h" }
+module cxx03_std_private_compare_partial_order                  [system] { header "__compare/partial_order.h" }
+module cxx03_std_private_compare_strong_order                   [system] { header "__compare/strong_order.h" }
+module cxx03_std_private_compare_synth_three_way                [system] { header "__compare/synth_three_way.h" }
+module cxx03_std_private_compare_three_way_comparable           [system] { header "__compare/three_way_comparable.h" }
+module cxx03_std_private_compare_weak_order                     [system] { header "__compare/weak_order.h" }
 
-module std_private_complex_complex_fwd            [system] { header "__fwd/complex.h" }
+module cxx03_std_private_complex_complex_fwd            [system] { header "__fwd/complex.h" }
 
-module std_private_concepts_arithmetic            [system] { header "__concepts/arithmetic.h" }
-module std_private_concepts_assignable            [system] { header "__concepts/assignable.h" }
-module std_private_concepts_boolean_testable      [system] { header "__concepts/boolean_testable.h" }
-module std_private_concepts_class_or_enum         [system] { header "__concepts/class_or_enum.h" }
-module std_private_concepts_common_reference_with [system] { header "__concepts/common_reference_with.h" }
-module std_private_concepts_common_with           [system] { header "__concepts/common_with.h" }
-module std_private_concepts_constructible         [system] {
+module cxx03_std_private_concepts_arithmetic            [system] { header "__concepts/arithmetic.h" }
+module cxx03_std_private_concepts_assignable            [system] { header "__concepts/assignable.h" }
+module cxx03_std_private_concepts_boolean_testable      [system] { header "__concepts/boolean_testable.h" }
+module cxx03_std_private_concepts_class_or_enum         [system] { header "__concepts/class_or_enum.h" }
+module cxx03_std_private_concepts_common_reference_with [system] { header "__concepts/common_reference_with.h" }
+module cxx03_std_private_concepts_common_with           [system] { header "__concepts/common_with.h" }
+module cxx03_std_private_concepts_constructible         [system] {
   header "__concepts/constructible.h"
   export std_private_concepts_destructible
 }
-module std_private_concepts_convertible_to        [system] { header "__concepts/convertible_to.h" }
-module std_private_concepts_copyable              [system] { header "__concepts/copyable.h" }
-module std_private_concepts_derived_from          [system] { header "__concepts/derived_from.h" }
-module std_private_concepts_destructible          [system] {
+module cxx03_std_private_concepts_convertible_to        [system] { header "__concepts/convertible_to.h" }
+module cxx03_std_private_concepts_copyable              [system] { header "__concepts/copyable.h" }
+module cxx03_std_private_concepts_derived_from          [system] { header "__concepts/derived_from.h" }
+module cxx03_std_private_concepts_destructible          [system] {
   header "__concepts/destructible.h"
   export std_private_type_traits_is_nothrow_destructible
 }
-module std_private_concepts_different_from        [system] { header "__concepts/different_from.h" }
-module std_private_concepts_equality_comparable   [system] {
+module cxx03_std_private_concepts_different_from        [system] { header "__concepts/different_from.h" }
+module cxx03_std_private_concepts_equality_comparable   [system] {
   header "__concepts/equality_comparable.h"
   export std_private_type_traits_common_reference
 }
-module std_private_concepts_invocable             [system] { header "__concepts/invocable.h" }
-module std_private_concepts_movable               [system] {
+module cxx03_std_private_concepts_invocable             [system] { header "__concepts/invocable.h" }
+module cxx03_std_private_concepts_movable               [system] {
   header "__concepts/movable.h"
   export std_private_type_traits_is_object
 }
-module std_private_concepts_predicate             [system] { header "__concepts/predicate.h" }
-module std_private_concepts_regular               [system] { header "__concepts/regular.h" }
-module std_private_concepts_relation              [system] { header "__concepts/relation.h" }
-module std_private_concepts_same_as               [system] {
+module cxx03_std_private_concepts_predicate             [system] { header "__concepts/predicate.h" }
+module cxx03_std_private_concepts_regular               [system] { header "__concepts/regular.h" }
+module cxx03_std_private_concepts_relation              [system] { header "__concepts/relation.h" }
+module cxx03_std_private_concepts_same_as               [system] {
   header "__concepts/same_as.h"
   export std_private_type_traits_is_same
 }
-module std_private_concepts_semiregular           [system] { header "__concepts/semiregular.h" }
-module std_private_concepts_swappable             [system] { header "__concepts/swappable.h" }
-module std_private_concepts_totally_ordered       [system] { header "__concepts/totally_ordered.h" }
+module cxx03_std_private_concepts_semiregular           [system] { header "__concepts/semiregular.h" }
+module cxx03_std_private_concepts_swappable             [system] { header "__concepts/swappable.h" }
+module cxx03_std_private_concepts_totally_ordered       [system] { header "__concepts/totally_ordered.h" }
 
-module std_private_condition_variable_condition_variable [system] {
+module cxx03_std_private_condition_variable_condition_variable [system] {
   header "__condition_variable/condition_variable.h"
   export *
 }
 
-module std_private_coroutine_coroutine_handle      [system] { header "__coroutine/coroutine_handle.h" }
-module std_private_coroutine_coroutine_traits      [system] { header "__coroutine/coroutine_traits.h" }
-module std_private_coroutine_noop_coroutine_handle [system] { header "__coroutine/noop_coroutine_handle.h" }
-module std_private_coroutine_trivial_awaitables    [system] { header "__coroutine/trivial_awaitables.h" }
+module cxx03_std_private_coroutine_coroutine_handle      [system] { header "__coroutine/coroutine_handle.h" }
+module cxx03_std_private_coroutine_coroutine_traits      [system] { header "__coroutine/coroutine_traits.h" }
+module cxx03_std_private_coroutine_noop_coroutine_handle [system] { header "__coroutine/noop_coroutine_handle.h" }
+module cxx03_std_private_coroutine_trivial_awaitables    [system] { header "__coroutine/trivial_awaitables.h" }
 
-module std_private_debug_utils_randomize_range            [system] { header "__debug_utils/randomize_range.h" }
-module std_private_debug_utils_sanitizers                 [system] { header "__debug_utils/sanitizers.h" }
-module std_private_debug_utils_strict_weak_ordering_check [system] {
+module cxx03_std_private_debug_utils_randomize_range            [system] { header "__debug_utils/randomize_range.h" }
+module cxx03_std_private_debug_utils_sanitizers                 [system] { header "__debug_utils/sanitizers.h" }
+module cxx03_std_private_debug_utils_strict_weak_ordering_check [system] {
   header "__debug_utils/strict_weak_ordering_check.h"
   export std_private_type_traits_is_constant_evaluated
 }
 
-module std_private_deque_fwd [system] { header "__fwd/deque.h" }
+module cxx03_std_private_deque_fwd [system] { header "__fwd/deque.h" }
 
-module std_private_exception_exception        [system] { header "__exception/exception.h" }
-module std_private_exception_exception_ptr    [system] {
+module cxx03_std_private_exception_exception        [system] { header "__exception/exception.h" }
+module cxx03_std_private_exception_exception_ptr    [system] {
   header "__exception/exception_ptr.h"
   export std_private_exception_operations
 }
-module std_private_exception_nested_exception [system] { header "__exception/nested_exception.h" }
-module std_private_exception_operations       [system] { header "__exception/operations.h" }
-module std_private_exception_terminate        [system] { header "__exception/terminate.h" }
+module cxx03_std_private_exception_nested_exception [system] { header "__exception/nested_exception.h" }
+module cxx03_std_private_exception_operations       [system] { header "__exception/operations.h" }
+module cxx03_std_private_exception_terminate        [system] { header "__exception/terminate.h" }
 
-module std_private_expected_bad_expected_access [system] { header "__expected/bad_expected_access.h" }
-module std_private_expected_expected            [system] { header "__expected/expected.h" }
-module std_private_expected_unexpect            [system] { header "__expected/unexpect.h" }
-module std_private_expected_unexpected          [system] { header "__expected/unexpected.h" }
+module cxx03_std_private_expected_bad_expected_access [system] { header "__expected/bad_expected_access.h" }
+module cxx03_std_private_expected_expected            [system] { header "__expected/expected.h" }
+module cxx03_std_private_expected_unexpect            [system] { header "__expected/unexpect.h" }
+module cxx03_std_private_expected_unexpected          [system] { header "__expected/unexpected.h" }
 
-module std_private_filesystem_copy_options                 [system] { header "__filesystem/copy_options.h" }
-module std_private_filesystem_directory_entry              [system] {
+module cxx03_std_private_filesystem_copy_options                 [system] { header "__filesystem/copy_options.h" }
+module cxx03_std_private_filesystem_directory_entry              [system] {
   header "__filesystem/directory_entry.h"
   export *
 }
-module std_private_filesystem_directory_iterator           [system] {
+module cxx03_std_private_filesystem_directory_iterator           [system] {
   header "__filesystem/directory_iterator.h"
   export *
 }
-module std_private_filesystem_directory_options            [system] { header "__filesystem/directory_options.h" }
-module std_private_filesystem_file_status                  [system] { header "__filesystem/file_status.h" }
-module std_private_filesystem_file_time_type               [system] { header "__filesystem/file_time_type.h" }
-module std_private_filesystem_file_type                    [system] { header "__filesystem/file_type.h" }
-module std_private_filesystem_filesystem_error             [system] {
+module cxx03_std_private_filesystem_directory_options            [system] { header "__filesystem/directory_options.h" }
+module cxx03_std_private_filesystem_file_status                  [system] { header "__filesystem/file_status.h" }
+module cxx03_std_private_filesystem_file_time_type               [system] { header "__filesystem/file_time_type.h" }
+module cxx03_std_private_filesystem_file_type                    [system] { header "__filesystem/file_type.h" }
+module cxx03_std_private_filesystem_filesystem_error             [system] {
   header "__filesystem/filesystem_error.h"
   export *
 }
-module std_private_filesystem_operations                   [system] { header "__filesystem/operations.h" }
-module std_private_filesystem_path                         [system] {
+module cxx03_std_private_filesystem_operations                   [system] { header "__filesystem/operations.h" }
+module cxx03_std_private_filesystem_path                         [system] {
   header "__filesystem/path.h"
   export *
 }
-module std_private_filesystem_path_iterator                [system] { header "__filesystem/path_iterator.h" }
-module std_private_filesystem_perm_options                 [system] { header "__filesystem/perm_options.h" }
-module std_private_filesystem_perms                        [system] { header "__filesystem/perms.h" }
-module std_private_filesystem_recursive_directory_iterator [system] {
+module cxx03_std_private_filesystem_path_iterator                [system] { header "__filesystem/path_iterator.h" }
+module cxx03_std_private_filesystem_perm_options                 [system] { header "__filesystem/perm_options.h" }
+module cxx03_std_private_filesystem_perms                        [system] { header "__filesystem/perms.h" }
+module cxx03_std_private_filesystem_recursive_directory_iterator [system] {
   header "__filesystem/recursive_directory_iterator.h"
   export *
 }
-module std_private_filesystem_space_info                   [system] { header "__filesystem/space_info.h" }
-module std_private_filesystem_u8path                       [system] { header "__filesystem/u8path.h" }
+module cxx03_std_private_filesystem_space_info                   [system] { header "__filesystem/space_info.h" }
+module cxx03_std_private_filesystem_u8path                       [system] { header "__filesystem/u8path.h" }
 
-module std_private_format_buffer                          [system] { header "__format/buffer.h" }
-module std_private_format_concepts                        [system] { header "__format/concepts.h" }
-module std_private_format_container_adaptor               [system] { header "__format/container_adaptor.h" }
-module std_private_format_enable_insertable               [system] { header "__format/enable_insertable.h" }
-module std_private_format_escaped_output_table            [system] { header "__format/escaped_output_table.h" }
-module std_private_format_extended_grapheme_cluster_table [system] { header "__format/extended_grapheme_cluster_table.h" }
-module std_private_format_format_arg                      [system] { header "__format/format_arg.h" }
-module std_private_format_format_arg_store                [system] { header "__format/format_arg_store.h" }
-module std_private_format_format_args                     [system] { header "__format/format_args.h" }
-module std_private_format_format_context                  [system] {
+module cxx03_std_private_format_buffer                          [system] { header "__format/buffer.h" }
+module cxx03_std_private_format_concepts                        [system] { header "__format/concepts.h" }
+module cxx03_std_private_format_container_adaptor               [system] { header "__format/container_adaptor.h" }
+module cxx03_std_private_format_enable_insertable               [system] { header "__format/enable_insertable.h" }
+module cxx03_std_private_format_escaped_output_table            [system] { header "__format/escaped_output_table.h" }
+module cxx03_std_private_format_extended_grapheme_cluster_table [system] { header "__format/extended_grapheme_cluster_table.h" }
+module cxx03_std_private_format_format_arg                      [system] { header "__format/format_arg.h" }
+module cxx03_std_private_format_format_arg_store                [system] { header "__format/format_arg_store.h" }
+module cxx03_std_private_format_format_args                     [system] { header "__format/format_args.h" }
+module cxx03_std_private_format_format_context                  [system] {
   header "__format/format_context.h"
   export *
 }
-module std_private_format_format_error                    [system] { header "__format/format_error.h" }
-module std_private_format_format_functions                [system] {
+module cxx03_std_private_format_format_error                    [system] { header "__format/format_error.h" }
+module cxx03_std_private_format_format_functions                [system] {
   header "__format/format_functions.h"
   export std_string
 }
-module std_private_format_fwd                             [system] { header "__fwd/format.h" }
-module std_private_format_format_parse_context            [system] { header "__format/format_parse_context.h" }
-module std_private_format_format_string                   [system] { header "__format/format_string.h" }
-module std_private_format_format_to_n_result              [system] {
+module cxx03_std_private_format_fwd                             [system] { header "__fwd/format.h" }
+module cxx03_std_private_format_format_parse_context            [system] { header "__format/format_parse_context.h" }
+module cxx03_std_private_format_format_string                   [system] { header "__format/format_string.h" }
+module cxx03_std_private_format_format_to_n_result              [system] {
   header "__format/format_to_n_result.h"
   export std_private_iterator_incrementable_traits
 }
-module std_private_format_formatter                       [system] { header "__format/formatter.h" }
-module std_private_format_formatter_bool                  [system] { header "__format/formatter_bool.h" }
-module std_private_format_formatter_char                  [system] { header "__format/formatter_char.h" }
-module std_private_format_formatter_floating_point        [system] { header "__format/formatter_floating_point.h" }
-module std_private_format_formatter_integer               [system] { header "__format/formatter_integer.h" }
-module std_private_format_formatter_integral              [system] { header "__format/formatter_integral.h" }
-module std_private_format_formatter_output                [system] { header "__format/formatter_output.h" }
-module std_private_format_formatter_pointer               [system] { header "__format/formatter_pointer.h" }
-module std_private_format_formatter_string                [system] { header "__format/formatter_string.h" }
-module std_private_format_formatter_tuple                 [system] { header "__format/formatter_tuple.h" }
-module std_private_format_indic_conjunct_break_table      [system] { header "__format/indic_conjunct_break_table.h" }
-module std_private_format_parser_std_format_spec          [system] { header "__format/parser_std_format_spec.h" }
-module std_private_format_range_default_formatter         [system] { header "__format/range_default_formatter.h" }
-module std_private_format_range_formatter                 [system] { header "__format/range_formatter.h" }
-module std_private_format_unicode                         [system] {
+module cxx03_std_private_format_formatter                       [system] { header "__format/formatter.h" }
+module cxx03_std_private_format_formatter_bool                  [system] { header "__format/formatter_bool.h" }
+module cxx03_std_private_format_formatter_char                  [system] { header "__format/formatter_char.h" }
+module cxx03_std_private_format_formatter_floating_point        [system] { header "__format/formatter_floating_point.h" }
+module cxx03_std_private_format_formatter_integer               [system] { header "__format/formatter_integer.h" }
+module cxx03_std_private_format_formatter_integral              [system] { header "__format/formatter_integral.h" }
+module cxx03_std_private_format_formatter_output                [system] { header "__format/formatter_output.h" }
+module cxx03_std_private_format_formatter_pointer               [system] { header "__format/formatter_pointer.h" }
+module cxx03_std_private_format_formatter_string                [system] { header "__format/formatter_string.h" }
+module cxx03_std_private_format_formatter_tuple                 [system] { header "__format/formatter_tuple.h" }
+module cxx03_std_private_format_indic_conjunct_break_table      [system] { header "__format/indic_conjunct_break_table.h" }
+module cxx03_std_private_format_parser_std_format_spec          [system] { header "__format/parser_std_format_spec.h" }
+module cxx03_std_private_format_range_default_formatter         [system] { header "__format/range_default_formatter.h" }
+module cxx03_std_private_format_range_formatter                 [system] { header "__format/range_formatter.h" }
+module cxx03_std_private_format_unicode                         [system] {
   header "__format/unicode.h"
   export std_private_format_extended_grapheme_cluster_table
   export std_private_format_indic_conjunct_break_table
 }
-module std_private_format_width_estimation_table          [system] { header "__format/width_estimation_table.h" }
-module std_private_format_write_escaped                   [system] { header "__format/write_escaped.h" }
+module cxx03_std_private_format_width_estimation_table          [system] { header "__format/width_estimation_table.h" }
+module cxx03_std_private_format_write_escaped                   [system] { header "__format/write_escaped.h" }
 
-module std_private_functional_binary_function            [system] { header "__functional/binary_function.h" }
-module std_private_functional_binary_negate              [system] { header "__functional/binary_negate.h" }
-module std_private_functional_bind                       [system] { header "__functional/bind.h" }
-module std_private_functional_bind_back                  [system] { header "__functional/bind_back.h" }
-module std_private_functional_bind_front                 [system] { header "__functional/bind_front.h" }
-module std_private_functional_binder1st                  [system] { header "__functional/binder1st.h" }
-module std_private_functional_binder2nd                  [system] { header "__functional/binder2nd.h" }
-module std_private_functional_boyer_moore_searcher       [system] {
+module cxx03_std_private_functional_binary_function            [system] { header "__functional/binary_function.h" }
+module cxx03_std_private_functional_binary_negate              [system] { header "__functional/binary_negate.h" }
+module cxx03_std_private_functional_bind                       [system] { header "__functional/bind.h" }
+module cxx03_std_private_functional_bind_back                  [system] { header "__functional/bind_back.h" }
+module cxx03_std_private_functional_bind_front                 [system] { header "__functional/bind_front.h" }
+module cxx03_std_private_functional_binder1st                  [system] { header "__functional/binder1st.h" }
+module cxx03_std_private_functional_binder2nd                  [system] { header "__functional/binder2nd.h" }
+module cxx03_std_private_functional_boyer_moore_searcher       [system] {
   header "__functional/boyer_moore_searcher.h"
   export std_private_memory_shared_ptr
 }
-module std_private_functional_compose                    [system] {
+module cxx03_std_private_functional_compose                    [system] {
   header "__functional/compose.h"
   export std_private_functional_perfect_forward
 }
-module std_private_functional_default_searcher           [system] { header "__functional/default_searcher.h" }
-module std_private_functional_function                   [system] { header "__functional/function.h" }
-module std_private_functional_hash                       [system] {
+module cxx03_std_private_functional_default_searcher           [system] { header "__functional/default_searcher.h" }
+module cxx03_std_private_functional_function                   [system] { header "__functional/function.h" }
+module cxx03_std_private_functional_hash                       [system] {
   header "__functional/hash.h"
   export std_cstdint
   export std_private_type_traits_underlying_type
   export std_private_utility_pair
 }
-module std_private_functional_fwd                        [system] { header "__fwd/functional.h" }
-module std_private_functional_identity                   [system] { header "__functional/identity.h" }
-module std_private_functional_invoke                     [system] {
+module cxx03_std_private_functional_fwd                        [system] { header "__fwd/functional.h" }
+module cxx03_std_private_functional_identity                   [system] { header "__functional/identity.h" }
+module cxx03_std_private_functional_invoke                     [system] {
   header "__functional/invoke.h"
   export *
 }
-module std_private_functional_is_transparent             [system] { header "__functional/is_transparent.h" }
-module std_private_functional_mem_fn                     [system] { header "__functional/mem_fn.h" }
-module std_private_functional_mem_fun_ref                [system] { header "__functional/mem_fun_ref.h" }
-module std_private_functional_not_fn                     [system] {
+module cxx03_std_private_functional_is_transparent             [system] { header "__functional/is_transparent.h" }
+module cxx03_std_private_functional_mem_fn                     [system] { header "__functional/mem_fn.h" }
+module cxx03_std_private_functional_mem_fun_ref                [system] { header "__functional/mem_fun_ref.h" }
+module cxx03_std_private_functional_not_fn                     [system] {
   header "__functional/not_fn.h"
   export std_private_functional_perfect_forward
 }
-module std_private_functional_operations                 [system] { header "__functional/operations.h" }
-module std_private_functional_perfect_forward            [system] {
+module cxx03_std_private_functional_operations                 [system] { header "__functional/operations.h" }
+module cxx03_std_private_functional_perfect_forward            [system] {
   header "__functional/perfect_forward.h"
   export *
 }
-module std_private_functional_pointer_to_binary_function [system] { header "__functional/pointer_to_binary_function.h" }
-module std_private_functional_pointer_to_unary_function  [system] { header "__functional/pointer_to_unary_function.h" }
-module std_private_functional_ranges_operations          [system] { header "__functional/ranges_operations.h" }
-module std_private_functional_reference_wrapper          [system] { header "__functional/reference_wrapper.h" }
-module std_private_functional_unary_function             [system] { header "__functional/unary_function.h" }
-module std_private_functional_unary_negate               [system] { header "__functional/unary_negate.h" }
-module std_private_functional_weak_result_type           [system] { header "__functional/weak_result_type.h" }
+module cxx03_std_private_functional_pointer_to_binary_function [system] { header "__functional/pointer_to_binary_function.h" }
+module cxx03_std_private_functional_pointer_to_unary_function  [system] { header "__functional/pointer_to_unary_function.h" }
+module cxx03_std_private_functional_ranges_operations          [system] { header "__functional/ranges_operations.h" }
+module cxx03_std_private_functional_reference_wrapper          [system] { header "__functional/reference_wrapper.h" }
+module cxx03_std_private_functional_unary_function             [system] { header "__functional/unary_function.h" }
+module cxx03_std_private_functional_unary_negate               [system] { header "__functional/unary_negate.h" }
+module cxx03_std_private_functional_weak_result_type           [system] { header "__functional/weak_result_type.h" }
 
-module std_private_ios_fpos [system] { header "__ios/fpos.h" }
+module cxx03_std_private_ios_fpos [system] { header "__ios/fpos.h" }
 
-module std_private_iosfwd_fstream_fwd   [system] { header "__fwd/fstream.h" }
-module std_private_iosfwd_ios_fwd       [system] { header "__fwd/ios.h" }
-module std_private_iosfwd_istream_fwd   [system] { header "__fwd/istream.h" }
-module std_private_iosfwd_ostream_fwd   [system] { header "__fwd/ostream.h" }
-module std_private_iosfwd_sstream_fwd   [system] { header "__fwd/sstream.h" }
-module std_private_iosfwd_streambuf_fwd [system] { header "__fwd/streambuf.h" }
+module cxx03_std_private_iosfwd_fstream_fwd   [system] { header "__fwd/fstream.h" }
+module cxx03_std_private_iosfwd_ios_fwd       [system] { header "__fwd/ios.h" }
+module cxx03_std_private_iosfwd_istream_fwd   [system] { header "__fwd/istream.h" }
+module cxx03_std_private_iosfwd_ostream_fwd   [system] { header "__fwd/ostream.h" }
+module cxx03_std_private_iosfwd_sstream_fwd   [system] { header "__fwd/sstream.h" }
+module cxx03_std_private_iosfwd_streambuf_fwd [system] { header "__fwd/streambuf.h" }
 
-module std_private_iterator_access                  [system] { header "__iterator/access.h" }
-module std_private_iterator_advance                 [system] { header "__iterator/advance.h" }
-module std_private_iterator_aliasing_iterator       [system] { header "__iterator/aliasing_iterator.h" }
-module std_private_iterator_back_insert_iterator    [system] { header "__iterator/back_insert_iterator.h" }
-module std_private_iterator_bounded_iter            [system] { header "__iterator/bounded_iter.h" }
-module std_private_iterator_common_iterator         [system] { header "__iterator/common_iterator.h" }
-module std_private_iterator_concepts                [system] {
+module cxx03_std_private_iterator_access                  [system] { header "__iterator/access.h" }
+module cxx03_std_private_iterator_advance                 [system] { header "__iterator/advance.h" }
+module cxx03_std_private_iterator_aliasing_iterator       [system] { header "__iterator/aliasing_iterator.h" }
+module cxx03_std_private_iterator_back_insert_iterator    [system] { header "__iterator/back_insert_iterator.h" }
+module cxx03_std_private_iterator_bounded_iter            [system] { header "__iterator/bounded_iter.h" }
+module cxx03_std_private_iterator_common_iterator         [system] { header "__iterator/common_iterator.h" }
+module cxx03_std_private_iterator_concepts                [system] {
   header "__iterator/concepts.h"
   export std_private_concepts_constructible
   export std_private_concepts_equality_comparable
@@ -1401,509 +1401,509 @@ module std_private_iterator_concepts                [system] {
   export std_private_type_traits_is_reference
   export std_private_type_traits_remove_cvref
 }
-module std_private_iterator_counted_iterator        [system] { header "__iterator/counted_iterator.h" }
-module std_private_iterator_cpp17_iterator_concepts [system] { header "__iterator/cpp17_iterator_concepts.h" }
-module std_private_iterator_data                    [system] { header "__iterator/data.h" }
-module std_private_iterator_default_sentinel        [system] { header "__iterator/default_sentinel.h" }
-module std_private_iterator_distance                [system] {
+module cxx03_std_private_iterator_counted_iterator        [system] { header "__iterator/counted_iterator.h" }
+module cxx03_std_private_iterator_cpp17_iterator_concepts [system] { header "__iterator/cpp17_iterator_concepts.h" }
+module cxx03_std_private_iterator_data                    [system] { header "__iterator/data.h" }
+module cxx03_std_private_iterator_default_sentinel        [system] { header "__iterator/default_sentinel.h" }
+module cxx03_std_private_iterator_distance                [system] {
   header "__iterator/distance.h"
   export std_private_ranges_size
 }
-module std_private_iterator_empty                   [system] { header "__iterator/empty.h" }
-module std_private_iterator_erase_if_container      [system] { header "__iterator/erase_if_container.h" }
-module std_private_iterator_front_insert_iterator   [system] { header "__iterator/front_insert_iterator.h" }
-module std_private_iterator_incrementable_traits    [system] { header "__iterator/incrementable_traits.h" }
-module std_private_iterator_indirectly_comparable   [system] { header "__iterator/indirectly_comparable.h" }
-module std_private_iterator_insert_iterator         [system] { header "__iterator/insert_iterator.h" }
-module std_private_iterator_istream_iterator        [system] { header "__iterator/istream_iterator.h" }
-module std_private_iterator_istreambuf_iterator     [system] { header "__iterator/istreambuf_iterator.h" }
-module std_private_iterator_iter_move               [system] { header "__iterator/iter_move.h" }
-module std_private_iterator_iter_swap               [system] { header "__iterator/iter_swap.h" }
-module std_private_iterator_iterator                [system] { header "__iterator/iterator.h" }
-module std_private_iterator_iterator_traits         [system] {
+module cxx03_std_private_iterator_empty                   [system] { header "__iterator/empty.h" }
+module cxx03_std_private_iterator_erase_if_container      [system] { header "__iterator/erase_if_container.h" }
+module cxx03_std_private_iterator_front_insert_iterator   [system] { header "__iterator/front_insert_iterator.h" }
+module cxx03_std_private_iterator_incrementable_traits    [system] { header "__iterator/incrementable_traits.h" }
+module cxx03_std_private_iterator_indirectly_comparable   [system] { header "__iterator/indirectly_comparable.h" }
+module cxx03_std_private_iterator_insert_iterator         [system] { header "__iterator/insert_iterator.h" }
+module cxx03_std_private_iterator_istream_iterator        [system] { header "__iterator/istream_iterator.h" }
+module cxx03_std_private_iterator_istreambuf_iterator     [system] { header "__iterator/istreambuf_iterator.h" }
+module cxx03_std_private_iterator_iter_move               [system] { header "__iterator/iter_move.h" }
+module cxx03_std_private_iterator_iter_swap               [system] { header "__iterator/iter_swap.h" }
+module cxx03_std_private_iterator_iterator                [system] { header "__iterator/iterator.h" }
+module cxx03_std_private_iterator_iterator_traits         [system] {
   header "__iterator/iterator_traits.h"
   export std_private_type_traits_is_primary_template
 }
-module std_private_iterator_iterator_with_data      [system] { header "__iterator/iterator_with_data.h" }
-module std_private_iterator_mergeable               [system] {
+module cxx03_std_private_iterator_iterator_with_data      [system] { header "__iterator/iterator_with_data.h" }
+module cxx03_std_private_iterator_mergeable               [system] {
   header "__iterator/mergeable.h"
   export std_private_functional_ranges_operations
 }
-module std_private_iterator_move_iterator           [system] { header "__iterator/move_iterator.h" }
-module std_private_iterator_move_sentinel           [system] { header "__iterator/move_sentinel.h" }
-module std_private_iterator_next                    [system] { header "__iterator/next.h" }
-module std_private_iterator_ostream_iterator        [system] { header "__iterator/ostream_iterator.h" }
-module std_private_iterator_ostreambuf_iterator     [system] {
+module cxx03_std_private_iterator_move_iterator           [system] { header "__iterator/move_iterator.h" }
+module cxx03_std_private_iterator_move_sentinel           [system] { header "__iterator/move_sentinel.h" }
+module cxx03_std_private_iterator_next                    [system] { header "__iterator/next.h" }
+module cxx03_std_private_iterator_ostream_iterator        [system] { header "__iterator/ostream_iterator.h" }
+module cxx03_std_private_iterator_ostreambuf_iterator     [system] {
   header "__iterator/ostreambuf_iterator.h"
   export *
 }
-module std_private_iterator_permutable              [system] { header "__iterator/permutable.h" }
-module std_private_iterator_prev                    [system] { header "__iterator/prev.h" }
-module std_private_iterator_projected               [system] { header "__iterator/projected.h" }
-module std_private_iterator_ranges_iterator_traits  [system] { header "__iterator/ranges_iterator_traits.h" }
-module std_private_iterator_readable_traits         [system] { header "__iterator/readable_traits.h" }
-module std_private_iterator_reverse_access          [system] { header "__iterator/reverse_access.h" }
-module std_private_iterator_reverse_iterator        [system] { header "__iterator/reverse_iterator.h" }
-module std_private_iterator_segmented_iterator      [system] { header "__iterator/segmented_iterator.h" }
-module std_private_iterator_size                    [system] { header "__iterator/size.h" }
-module std_private_iterator_sortable                [system] {
+module cxx03_std_private_iterator_permutable              [system] { header "__iterator/permutable.h" }
+module cxx03_std_private_iterator_prev                    [system] { header "__iterator/prev.h" }
+module cxx03_std_private_iterator_projected               [system] { header "__iterator/projected.h" }
+module cxx03_std_private_iterator_ranges_iterator_traits  [system] { header "__iterator/ranges_iterator_traits.h" }
+module cxx03_std_private_iterator_readable_traits         [system] { header "__iterator/readable_traits.h" }
+module cxx03_std_private_iterator_reverse_access          [system] { header "__iterator/reverse_access.h" }
+module cxx03_std_private_iterator_reverse_iterator        [system] { header "__iterator/reverse_iterator.h" }
+module cxx03_std_private_iterator_segmented_iterator      [system] { header "__iterator/segmented_iterator.h" }
+module cxx03_std_private_iterator_size                    [system] { header "__iterator/size.h" }
+module cxx03_std_private_iterator_sortable                [system] {
   header "__iterator/sortable.h"
   export std_private_functional_ranges_operations
 }
-module std_private_iterator_unreachable_sentinel    [system] { header "__iterator/unreachable_sentinel.h" }
-module std_private_iterator_wrap_iter               [system] { header "__iterator/wrap_iter.h" }
+module cxx03_std_private_iterator_unreachable_sentinel    [system] { header "__iterator/unreachable_sentinel.h" }
+module cxx03_std_private_iterator_wrap_iter               [system] { header "__iterator/wrap_iter.h" }
 
-module std_private_locale_locale_base_api_android              [system] { textual header "__locale_dir/locale_base_api/android.h" }
-module std_private_locale_locale_base_api_bsd_locale_defaults  [system] { textual header "__locale_dir/locale_base_api/bsd_locale_defaults.h" }
-module std_private_locale_locale_base_api_bsd_locale_fallbacks [system] { textual header "__locale_dir/locale_base_api/bsd_locale_fallbacks.h" }
-module std_private_locale_locale_base_api_fuchsia              [system] { textual header "__locale_dir/locale_base_api/fuchsia.h" }
-module std_private_locale_locale_base_api_ibm                  [system] { textual header "__locale_dir/locale_base_api/ibm.h" }
-module std_private_locale_locale_base_api_locale_guard         [system] { header "__locale_dir/locale_base_api/locale_guard.h" }
-module std_private_locale_locale_base_api_musl                 [system] { textual header "__locale_dir/locale_base_api/musl.h" }
-module std_private_locale_locale_base_api_newlib               [system] { textual header "__locale_dir/locale_base_api/newlib.h" }
-module std_private_locale_locale_base_api_openbsd              [system] { textual header "__locale_dir/locale_base_api/openbsd.h" }
-module std_private_locale_locale_base_api_win32                [system] { textual header "__locale_dir/locale_base_api/win32.h" }
-module std_private_locale_locale_base_api                      [system] {
+module cxx03_std_private_locale_locale_base_api_android              [system] { textual header "__locale_dir/locale_base_api/android.h" }
+module cxx03_std_private_locale_locale_base_api_bsd_locale_defaults  [system] { textual header "__locale_dir/locale_base_api/bsd_locale_defaults.h" }
+module cxx03_std_private_locale_locale_base_api_bsd_locale_fallbacks [system] { textual header "__locale_dir/locale_base_api/bsd_locale_fallbacks.h" }
+module cxx03_std_private_locale_locale_base_api_fuchsia              [system] { textual header "__locale_dir/locale_base_api/fuchsia.h" }
+module cxx03_std_private_locale_locale_base_api_ibm                  [system] { textual header "__locale_dir/locale_base_api/ibm.h" }
+module cxx03_std_private_locale_locale_base_api_locale_guard         [system] { header "__locale_dir/locale_base_api/locale_guard.h" }
+module cxx03_std_private_locale_locale_base_api_musl                 [system] { textual header "__locale_dir/locale_base_api/musl.h" }
+module cxx03_std_private_locale_locale_base_api_newlib               [system] { textual header "__locale_dir/locale_base_api/newlib.h" }
+module cxx03_std_private_locale_locale_base_api_openbsd              [system] { textual header "__locale_dir/locale_base_api/openbsd.h" }
+module cxx03_std_private_locale_locale_base_api_win32                [system] { textual header "__locale_dir/locale_base_api/win32.h" }
+module cxx03_std_private_locale_locale_base_api                      [system] {
   header "__locale_dir/locale_base_api.h"
   export *
 }
 
-module std_private_math_abs                             [system] { header "__math/abs.h" }
-module std_private_math_copysign                        [system] { header "__math/copysign.h" }
-module std_private_math_error_functions                 [system] { header "__math/error_functions.h" }
-module std_private_math_exponential_functions           [system] { header "__math/exponential_functions.h" }
-module std_private_math_fdim                            [system] { header "__math/fdim.h" }
-module std_private_math_fma                             [system] { header "__math/fma.h" }
-module std_private_math_gamma                           [system] { header "__math/gamma.h" }
-module std_private_math_hyperbolic_functions            [system] { header "__math/hyperbolic_functions.h" }
-module std_private_math_hypot                           [system] { header "__math/hypot.h" }
-module std_private_math_inverse_hyperbolic_functions    [system] { header "__math/inverse_hyperbolic_functions.h" }
-module std_private_math_inverse_trigonometric_functions [system] { header "__math/inverse_trigonometric_functions.h" }
-module std_private_math_logarithms                      [system] { header "__math/logarithms.h" }
-module std_private_math_min_max                         [system] { header "__math/min_max.h" }
-module std_private_math_modulo                          [system] { header "__math/modulo.h" }
-module std_private_math_remainder                       [system] { header "__math/remainder.h" }
-module std_private_math_roots                           [system] { header "__math/roots.h" }
-module std_private_math_rounding_functions              [system] { header "__math/rounding_functions.h" }
-module std_private_math_special_functions               [system] { header "__math/special_functions.h" }
-module std_private_math_traits                          [system] { header "__math/traits.h" }
-module std_private_math_trigonometric_functions         [system] { header "__math/trigonometric_functions.h" }
+module cxx03_std_private_math_abs                             [system] { header "__math/abs.h" }
+module cxx03_std_private_math_copysign                        [system] { header "__math/copysign.h" }
+module cxx03_std_private_math_error_functions                 [system] { header "__math/error_functions.h" }
+module cxx03_std_private_math_exponential_functions           [system] { header "__math/exponential_functions.h" }
+module cxx03_std_private_math_fdim                            [system] { header "__math/fdim.h" }
+module cxx03_std_private_math_fma                             [system] { header "__math/fma.h" }
+module cxx03_std_private_math_gamma                           [system] { header "__math/gamma.h" }
+module cxx03_std_private_math_hyperbolic_functions            [system] { header "__math/hyperbolic_functions.h" }
+module cxx03_std_private_math_hypot                           [system] { header "__math/hypot.h" }
+module cxx03_std_private_math_inverse_hyperbolic_functions    [system] { header "__math/inverse_hyperbolic_functions.h" }
+module cxx03_std_private_math_inverse_trigonometric_functions [system] { header "__math/inverse_trigonometric_functions.h" }
+module cxx03_std_private_math_logarithms                      [system] { header "__math/logarithms.h" }
+module cxx03_std_private_math_min_max                         [system] { header "__math/min_max.h" }
+module cxx03_std_private_math_modulo                          [system] { header "__math/modulo.h" }
+module cxx03_std_private_math_remainder                       [system] { header "__math/remainder.h" }
+module cxx03_std_private_math_roots                           [system] { header "__math/roots.h" }
+module cxx03_std_private_math_rounding_functions              [system] { header "__math/rounding_functions.h" }
+module cxx03_std_private_math_special_functions               [system] { header "__math/special_functions.h" }
+module cxx03_std_private_math_traits                          [system] { header "__math/traits.h" }
+module cxx03_std_private_math_trigonometric_functions         [system] { header "__math/trigonometric_functions.h" }
 
-module std_private_mdspan_default_accessor [system] { header "__mdspan/default_accessor.h" }
-module std_private_mdspan_extents          [system] {
+module cxx03_std_private_mdspan_default_accessor [system] { header "__mdspan/default_accessor.h" }
+module cxx03_std_private_mdspan_extents          [system] {
   header "__mdspan/extents.h"
   export *
 }
-module std_private_mdspan_layout_left      [system] { header "__mdspan/layout_left.h" }
-module std_private_mdspan_layout_right     [system] { header "__mdspan/layout_right.h" }
-module std_private_mdspan_layout_stride    [system] { header "__mdspan/layout_stride.h" }
-module std_private_mdspan_mdspan           [system] { header "__mdspan/mdspan.h" }
-module std_private_mdspan_mdspan_fwd       [system] { header "__fwd/mdspan.h" }
+module cxx03_std_private_mdspan_layout_left      [system] { header "__mdspan/layout_left.h" }
+module cxx03_std_private_mdspan_layout_right     [system] { header "__mdspan/layout_right.h" }
+module cxx03_std_private_mdspan_layout_stride    [system] { header "__mdspan/layout_stride.h" }
+module cxx03_std_private_mdspan_mdspan           [system] { header "__mdspan/mdspan.h" }
+module cxx03_std_private_mdspan_mdspan_fwd       [system] { header "__fwd/mdspan.h" }
 
-module std_private_memory_addressof                       [system] { header "__memory/addressof.h" }
-module std_private_memory_align                           [system] { header "__memory/align.h" }
-module std_private_memory_aligned_alloc                   [system] { header "__memory/aligned_alloc.h" }
-module std_private_memory_allocate_at_least               [system] { header "__memory/allocate_at_least.h" }
-module std_private_memory_allocation_guard                [system] { header "__memory/allocation_guard.h" }
-module std_private_memory_allocator                       [system] { header "__memory/allocator.h" }
-module std_private_memory_allocator_arg_t                 [system] { header "__memory/allocator_arg_t.h" }
-module std_private_memory_allocator_destructor            [system] { header "__memory/allocator_destructor.h" }
-module std_private_memory_allocator_traits                [system] { header "__memory/allocator_traits.h" }
-module std_private_memory_assume_aligned                  [system] { header "__memory/assume_aligned.h" }
-module std_private_memory_auto_ptr                        [system] { header "__memory/auto_ptr.h" }
-module std_private_memory_builtin_new_allocator           [system] {
+module cxx03_std_private_memory_addressof                       [system] { header "__memory/addressof.h" }
+module cxx03_std_private_memory_align                           [system] { header "__memory/align.h" }
+module cxx03_std_private_memory_aligned_alloc                   [system] { header "__memory/aligned_alloc.h" }
+module cxx03_std_private_memory_allocate_at_least               [system] { header "__memory/allocate_at_least.h" }
+module cxx03_std_private_memory_allocation_guard                [system] { header "__memory/allocation_guard.h" }
+module cxx03_std_private_memory_allocator                       [system] { header "__memory/allocator.h" }
+module cxx03_std_private_memory_allocator_arg_t                 [system] { header "__memory/allocator_arg_t.h" }
+module cxx03_std_private_memory_allocator_destructor            [system] { header "__memory/allocator_destructor.h" }
+module cxx03_std_private_memory_allocator_traits                [system] { header "__memory/allocator_traits.h" }
+module cxx03_std_private_memory_assume_aligned                  [system] { header "__memory/assume_aligned.h" }
+module cxx03_std_private_memory_auto_ptr                        [system] { header "__memory/auto_ptr.h" }
+module cxx03_std_private_memory_builtin_new_allocator           [system] {
   header "__memory/builtin_new_allocator.h"
   export *
 }
-module std_private_memory_compressed_pair                 [system] { header "__memory/compressed_pair.h" }
-module std_private_memory_concepts                        [system] {
+module cxx03_std_private_memory_compressed_pair                 [system] { header "__memory/compressed_pair.h" }
+module cxx03_std_private_memory_concepts                        [system] {
   header "__memory/concepts.h"
   export std_private_type_traits_remove_reference
 }
-module std_private_memory_construct_at                    [system] { header "__memory/construct_at.h" }
-module std_private_memory_destruct_n                      [system] { header "__memory/destruct_n.h" }
-module std_private_memory_fwd                             [system] { header "__fwd/memory.h" }
-module std_private_memory_inout_ptr                       [system] { header "__memory/inout_ptr.h" }
-module std_private_memory_out_ptr                         [system] { header "__memory/out_ptr.h" }
-module std_private_memory_pointer_traits                  [system] { header "__memory/pointer_traits.h" }
-module std_private_memory_ranges_construct_at             [system] { header "__memory/ranges_construct_at.h" }
-module std_private_memory_ranges_uninitialized_algorithms [system] {
+module cxx03_std_private_memory_construct_at                    [system] { header "__memory/construct_at.h" }
+module cxx03_std_private_memory_destruct_n                      [system] { header "__memory/destruct_n.h" }
+module cxx03_std_private_memory_fwd                             [system] { header "__fwd/memory.h" }
+module cxx03_std_private_memory_inout_ptr                       [system] { header "__memory/inout_ptr.h" }
+module cxx03_std_private_memory_out_ptr                         [system] { header "__memory/out_ptr.h" }
+module cxx03_std_private_memory_pointer_traits                  [system] { header "__memory/pointer_traits.h" }
+module cxx03_std_private_memory_ranges_construct_at             [system] { header "__memory/ranges_construct_at.h" }
+module cxx03_std_private_memory_ranges_uninitialized_algorithms [system] {
   header "__memory/ranges_uninitialized_algorithms.h"
   export std_private_algorithm_in_out_result
 }
-module std_private_memory_raw_storage_iterator            [system] { header "__memory/raw_storage_iterator.h" }
-module std_private_memory_shared_ptr                      [system] {
+module cxx03_std_private_memory_raw_storage_iterator            [system] { header "__memory/raw_storage_iterator.h" }
+module cxx03_std_private_memory_shared_ptr                      [system] {
   header "__memory/shared_ptr.h"
   export std_private_memory_uninitialized_algorithms
 }
-module std_private_memory_swap_allocator                  [system] { header "__memory/swap_allocator.h" }
-module std_private_memory_temp_value                      [system] { header "__memory/temp_value.h" }
-module std_private_memory_temporary_buffer                [system] {
+module cxx03_std_private_memory_swap_allocator                  [system] { header "__memory/swap_allocator.h" }
+module cxx03_std_private_memory_temp_value                      [system] { header "__memory/temp_value.h" }
+module cxx03_std_private_memory_temporary_buffer                [system] {
   header "__memory/temporary_buffer.h"
   export std_private_utility_pair
 }
-module std_private_memory_uninitialized_algorithms        [system] {
+module cxx03_std_private_memory_uninitialized_algorithms        [system] {
   header "__memory/uninitialized_algorithms.h"
   export std_private_algorithm_copy
 }
-module std_private_memory_unique_ptr                      [system] {
+module cxx03_std_private_memory_unique_ptr                      [system] {
   header "__memory/unique_ptr.h"
   export std_private_type_traits_add_lvalue_reference
   export std_private_type_traits_is_pointer
   export std_private_type_traits_type_identity
 }
-module std_private_memory_uses_allocator                  [system] { header "__memory/uses_allocator.h" }
-module std_private_memory_uses_allocator_construction     [system] { header "__memory/uses_allocator_construction.h" }
-module std_private_memory_voidify                         [system] { header "__memory/voidify.h" }
+module cxx03_std_private_memory_uses_allocator                  [system] { header "__memory/uses_allocator.h" }
+module cxx03_std_private_memory_uses_allocator_construction     [system] { header "__memory/uses_allocator_construction.h" }
+module cxx03_std_private_memory_voidify                         [system] { header "__memory/voidify.h" }
 
-module std_private_memory_resource_memory_resource              [system] { header "__memory_resource/memory_resource.h" }
-module std_private_memory_resource_memory_resource_fwd          [system] { header "__fwd/memory_resource.h" }
-module std_private_memory_resource_monotonic_buffer_resource    [system] { header "__memory_resource/monotonic_buffer_resource.h" }
-module std_private_memory_resource_polymorphic_allocator        [system] { header "__memory_resource/polymorphic_allocator.h" }
-module std_private_memory_resource_pool_options                 [system] { header "__memory_resource/pool_options.h" }
-module std_private_memory_resource_synchronized_pool_resource   [system] {
+module cxx03_std_private_memory_resource_memory_resource              [system] { header "__memory_resource/memory_resource.h" }
+module cxx03_std_private_memory_resource_memory_resource_fwd          [system] { header "__fwd/memory_resource.h" }
+module cxx03_std_private_memory_resource_monotonic_buffer_resource    [system] { header "__memory_resource/monotonic_buffer_resource.h" }
+module cxx03_std_private_memory_resource_polymorphic_allocator        [system] { header "__memory_resource/polymorphic_allocator.h" }
+module cxx03_std_private_memory_resource_pool_options                 [system] { header "__memory_resource/pool_options.h" }
+module cxx03_std_private_memory_resource_synchronized_pool_resource   [system] {
   header "__memory_resource/synchronized_pool_resource.h"
   export *
 }
-module std_private_memory_resource_unsynchronized_pool_resource [system] { header "__memory_resource/unsynchronized_pool_resource.h" }
+module cxx03_std_private_memory_resource_unsynchronized_pool_resource [system] { header "__memory_resource/unsynchronized_pool_resource.h" }
 
-module std_private_mutex_lock_guard  [system] { header "__mutex/lock_guard.h" }
-module std_private_mutex_mutex       [system] { header "__mutex/mutex.h" }
-module std_private_mutex_once_flag  [system]  { header "__mutex/once_flag.h" }
-module std_private_mutex_tag_types   [system] { header "__mutex/tag_types.h" }
-module std_private_mutex_unique_lock [system] { header "__mutex/unique_lock.h" }
+module cxx03_std_private_mutex_lock_guard  [system] { header "__mutex/lock_guard.h" }
+module cxx03_std_private_mutex_mutex       [system] { header "__mutex/mutex.h" }
+module cxx03_std_private_mutex_once_flag  [system]  { header "__mutex/once_flag.h" }
+module cxx03_std_private_mutex_tag_types   [system] { header "__mutex/tag_types.h" }
+module cxx03_std_private_mutex_unique_lock [system] { header "__mutex/unique_lock.h" }
 
-module std_private_numeric_accumulate               [system] { header "__numeric/accumulate.h" }
-module std_private_numeric_adjacent_difference      [system] { header "__numeric/adjacent_difference.h" }
-module std_private_numeric_exclusive_scan           [system] { header "__numeric/exclusive_scan.h" }
-module std_private_numeric_gcd_lcm                  [system] { header "__numeric/gcd_lcm.h" }
-module std_private_numeric_inclusive_scan           [system] { header "__numeric/inclusive_scan.h" }
-module std_private_numeric_inner_product            [system] { header "__numeric/inner_product.h" }
-module std_private_numeric_iota                     [system] { header "__numeric/iota.h" }
-module std_private_numeric_midpoint                 [system] { header "__numeric/midpoint.h" }
-module std_private_numeric_partial_sum              [system] { header "__numeric/partial_sum.h" }
-module std_private_numeric_pstl                     [system] {
+module cxx03_std_private_numeric_accumulate               [system] { header "__numeric/accumulate.h" }
+module cxx03_std_private_numeric_adjacent_difference      [system] { header "__numeric/adjacent_difference.h" }
+module cxx03_std_private_numeric_exclusive_scan           [system] { header "__numeric/exclusive_scan.h" }
+module cxx03_std_private_numeric_gcd_lcm                  [system] { header "__numeric/gcd_lcm.h" }
+module cxx03_std_private_numeric_inclusive_scan           [system] { header "__numeric/inclusive_scan.h" }
+module cxx03_std_private_numeric_inner_product            [system] { header "__numeric/inner_product.h" }
+module cxx03_std_private_numeric_iota                     [system] { header "__numeric/iota.h" }
+module cxx03_std_private_numeric_midpoint                 [system] { header "__numeric/midpoint.h" }
+module cxx03_std_private_numeric_partial_sum              [system] { header "__numeric/partial_sum.h" }
+module cxx03_std_private_numeric_pstl                     [system] {
   header "__numeric/pstl.h"
   export *
 }
-module std_private_numeric_reduce                   [system] { header "__numeric/reduce.h" }
-module std_private_numeric_saturation_arithmetic    [system] { header "__numeric/saturation_arithmetic.h" }
-module std_private_numeric_transform_exclusive_scan [system] { header "__numeric/transform_exclusive_scan.h" }
-module std_private_numeric_transform_inclusive_scan [system] { header "__numeric/transform_inclusive_scan.h" }
-module std_private_numeric_transform_reduce         [system] { header "__numeric/transform_reduce.h" }
+module cxx03_std_private_numeric_reduce                   [system] { header "__numeric/reduce.h" }
+module cxx03_std_private_numeric_saturation_arithmetic    [system] { header "__numeric/saturation_arithmetic.h" }
+module cxx03_std_private_numeric_transform_exclusive_scan [system] { header "__numeric/transform_exclusive_scan.h" }
+module cxx03_std_private_numeric_transform_inclusive_scan [system] { header "__numeric/transform_inclusive_scan.h" }
+module cxx03_std_private_numeric_transform_reduce         [system] { header "__numeric/transform_reduce.h" }
 
-module std_private_pstl_backend                    [system] {
+module cxx03_std_private_pstl_backend                    [system] {
   header "__pstl/backend.h"
   export *
 }
-module std_private_pstl_backend_fwd                [system] {
+module cxx03_std_private_pstl_backend_fwd                [system] {
   header "__pstl/backend_fwd.h"
   export *
 }
-module std_private_pstl_backends_default           [system] {
+module cxx03_std_private_pstl_backends_default           [system] {
   header "__pstl/backends/default.h"
   export *
 }
-module std_private_pstl_backends_libdispatch       [system] {
+module cxx03_std_private_pstl_backends_libdispatch       [system] {
   header "__pstl/backends/libdispatch.h"
   export *
 }
-module std_private_pstl_backends_serial            [system] {
+module cxx03_std_private_pstl_backends_serial            [system] {
   header "__pstl/backends/serial.h"
   export *
 }
-module std_private_pstl_backends_std_thread        [system] {
+module cxx03_std_private_pstl_backends_std_thread        [system] {
   header "__pstl/backends/std_thread.h"
   export *
 }
-module std_private_pstl_cpu_algos_any_of           [system] { header "__pstl/cpu_algos/any_of.h" }
-module std_private_pstl_cpu_algos_cpu_traits       [system] { header "__pstl/cpu_algos/cpu_traits.h" }
-module std_private_pstl_cpu_algos_fill             [system] { header "__pstl/cpu_algos/fill.h" }
-module std_private_pstl_cpu_algos_find_if          [system] { header "__pstl/cpu_algos/find_if.h" }
-module std_private_pstl_cpu_algos_for_each         [system] { header "__pstl/cpu_algos/for_each.h" }
-module std_private_pstl_cpu_algos_merge            [system] { header "__pstl/cpu_algos/merge.h" }
-module std_private_pstl_cpu_algos_stable_sort      [system] { header "__pstl/cpu_algos/stable_sort.h" }
-module std_private_pstl_cpu_algos_transform        [system] { header "__pstl/cpu_algos/transform.h" }
-module std_private_pstl_cpu_algos_transform_reduce [system] { header "__pstl/cpu_algos/transform_reduce.h" }
-module std_private_pstl_dispatch                   [system] { header "__pstl/dispatch.h" }
-module std_private_pstl_handle_exception           [system] { header "__pstl/handle_exception.h" }
+module cxx03_std_private_pstl_cpu_algos_any_of           [system] { header "__pstl/cpu_algos/any_of.h" }
+module cxx03_std_private_pstl_cpu_algos_cpu_traits       [system] { header "__pstl/cpu_algos/cpu_traits.h" }
+module cxx03_std_private_pstl_cpu_algos_fill             [system] { header "__pstl/cpu_algos/fill.h" }
+module cxx03_std_private_pstl_cpu_algos_find_if          [system] { header "__pstl/cpu_algos/find_if.h" }
+module cxx03_std_private_pstl_cpu_algos_for_each         [system] { header "__pstl/cpu_algos/for_each.h" }
+module cxx03_std_private_pstl_cpu_algos_merge            [system] { header "__pstl/cpu_algos/merge.h" }
+module cxx03_std_private_pstl_cpu_algos_stable_sort      [system] { header "__pstl/cpu_algos/stable_sort.h" }
+module cxx03_std_private_pstl_cpu_algos_transform        [system] { header "__pstl/cpu_algos/transform.h" }
+module cxx03_std_private_pstl_cpu_algos_transform_reduce [system] { header "__pstl/cpu_algos/transform_reduce.h" }
+module cxx03_std_private_pstl_dispatch                   [system] { header "__pstl/dispatch.h" }
+module cxx03_std_private_pstl_handle_exception           [system] { header "__pstl/handle_exception.h" }
 
-module std_private_queue_fwd [system] { header "__fwd/queue.h" }
+module cxx03_std_private_queue_fwd [system] { header "__fwd/queue.h" }
 
-module std_private_ostream_basic_ostream [system] {
+module cxx03_std_private_ostream_basic_ostream [system] {
   header "__ostream/basic_ostream.h"
   export std_streambuf
 }
-module std_private_ostream_print         [system] {
+module cxx03_std_private_ostream_print         [system] {
   header "__ostream/print.h"
   export std_print
 }
 
-module std_private_random_bernoulli_distribution          [system] { header "__random/bernoulli_distribution.h" }
-module std_private_random_binomial_distribution           [system] { header "__random/binomial_distribution.h" }
-module std_private_random_cauchy_distribution             [system] { header "__random/cauchy_distribution.h" }
-module std_private_random_chi_squared_distribution        [system] { header "__random/chi_squared_distribution.h" }
-module std_private_random_clamp_to_integral               [system] { header "__random/clamp_to_integral.h" }
-module std_private_random_default_random_engine           [system] { header "__random/default_random_engine.h" }
-module std_private_random_discard_block_engine            [system] { header "__random/discard_block_engine.h" }
-module std_private_random_discrete_distribution           [system] {
+module cxx03_std_private_random_bernoulli_distribution          [system] { header "__random/bernoulli_distribution.h" }
+module cxx03_std_private_random_binomial_distribution           [system] { header "__random/binomial_distribution.h" }
+module cxx03_std_private_random_cauchy_distribution             [system] { header "__random/cauchy_distribution.h" }
+module cxx03_std_private_random_chi_squared_distribution        [system] { header "__random/chi_squared_distribution.h" }
+module cxx03_std_private_random_clamp_to_integral               [system] { header "__random/clamp_to_integral.h" }
+module cxx03_std_private_random_default_random_engine           [system] { header "__random/default_random_engine.h" }
+module cxx03_std_private_random_discard_block_engine            [system] { header "__random/discard_block_engine.h" }
+module cxx03_std_private_random_discrete_distribution           [system] {
   header "__random/discrete_distribution.h"
   export *
 }
-module std_private_random_exponential_distribution        [system] { header "__random/exponential_distribution.h" }
-module std_private_random_extreme_value_distribution      [system] { header "__random/extreme_value_distribution.h" }
-module std_private_random_fisher_f_distribution           [system] { header "__random/fisher_f_distribution.h" }
-module std_private_random_gamma_distribution              [system] { header "__random/gamma_distribution.h" }
-module std_private_random_generate_canonical              [system] { header "__random/generate_canonical.h" }
-module std_private_random_geometric_distribution          [system] { header "__random/geometric_distribution.h" }
-module std_private_random_independent_bits_engine         [system] { header "__random/independent_bits_engine.h" }
-module std_private_random_is_seed_sequence                [system] { header "__random/is_seed_sequence.h" }
-module std_private_random_is_valid                        [system] { header "__random/is_valid.h" }
-module std_private_random_knuth_b                         [system] { header "__random/knuth_b.h" }
-module std_private_random_linear_congruential_engine      [system] { header "__random/linear_congruential_engine.h" }
-module std_private_random_log2                            [system] { header "__random/log2.h" }
-module std_private_random_lognormal_distribution          [system] { header "__random/lognormal_distribution.h" }
-module std_private_random_mersenne_twister_engine         [system] { header "__random/mersenne_twister_engine.h" }
-module std_private_random_negative_binomial_distribution  [system] { header "__random/negative_binomial_distribution.h" }
-module std_private_random_normal_distribution             [system] { header "__random/normal_distribution.h" }
-module std_private_random_piecewise_constant_distribution [system] {
+module cxx03_std_private_random_exponential_distribution        [system] { header "__random/exponential_distribution.h" }
+module cxx03_std_private_random_extreme_value_distribution      [system] { header "__random/extreme_value_distribution.h" }
+module cxx03_std_private_random_fisher_f_distribution           [system] { header "__random/fisher_f_distribution.h" }
+module cxx03_std_private_random_gamma_distribution              [system] { header "__random/gamma_distribution.h" }
+module cxx03_std_private_random_generate_canonical              [system] { header "__random/generate_canonical.h" }
+module cxx03_std_private_random_geometric_distribution          [system] { header "__random/geometric_distribution.h" }
+module cxx03_std_private_random_independent_bits_engine         [system] { header "__random/independent_bits_engine.h" }
+module cxx03_std_private_random_is_seed_sequence                [system] { header "__random/is_seed_sequence.h" }
+module cxx03_std_private_random_is_valid                        [system] { header "__random/is_valid.h" }
+module cxx03_std_private_random_knuth_b                         [system] { header "__random/knuth_b.h" }
+module cxx03_std_private_random_linear_congruential_engine      [system] { header "__random/linear_congruential_engine.h" }
+module cxx03_std_private_random_log2                            [system] { header "__random/log2.h" }
+module cxx03_std_private_random_lognormal_distribution          [system] { header "__random/lognormal_distribution.h" }
+module cxx03_std_private_random_mersenne_twister_engine         [system] { header "__random/mersenne_twister_engine.h" }
+module cxx03_std_private_random_negative_binomial_distribution  [system] { header "__random/negative_binomial_distribution.h" }
+module cxx03_std_private_random_normal_distribution             [system] { header "__random/normal_distribution.h" }
+module cxx03_std_private_random_piecewise_constant_distribution [system] {
   header "__random/piecewise_constant_distribution.h"
   export *
 }
-module std_private_random_piecewise_linear_distribution   [system] {
+module cxx03_std_private_random_piecewise_linear_distribution   [system] {
   header "__random/piecewise_linear_distribution.h"
   export *
 }
-module std_private_random_poisson_distribution            [system] { header "__random/poisson_distribution.h" }
-module std_private_random_random_device                   [system] {
+module cxx03_std_private_random_poisson_distribution            [system] { header "__random/poisson_distribution.h" }
+module cxx03_std_private_random_random_device                   [system] {
   header "__random/random_device.h"
   export *
 }
-module std_private_random_ranlux                          [system] { header "__random/ranlux.h" }
-module std_private_random_seed_seq                        [system] {
+module cxx03_std_private_random_ranlux                          [system] { header "__random/ranlux.h" }
+module cxx03_std_private_random_seed_seq                        [system] {
   header "__random/seed_seq.h"
   export *
 }
-module std_private_random_shuffle_order_engine            [system] { header "__random/shuffle_order_engine.h" }
-module std_private_random_student_t_distribution          [system] { header "__random/student_t_distribution.h" }
-module std_private_random_subtract_with_carry_engine      [system] { header "__random/subtract_with_carry_engine.h" }
-module std_private_random_uniform_int_distribution        [system] { header "__random/uniform_int_distribution.h" }
-module std_private_random_uniform_random_bit_generator    [system] { header "__random/uniform_random_bit_generator.h" }
-module std_private_random_uniform_real_distribution       [system] { header "__random/uniform_real_distribution.h" }
-module std_private_random_weibull_distribution            [system] { header "__random/weibull_distribution.h" }
+module cxx03_std_private_random_shuffle_order_engine            [system] { header "__random/shuffle_order_engine.h" }
+module cxx03_std_private_random_student_t_distribution          [system] { header "__random/student_t_distribution.h" }
+module cxx03_std_private_random_subtract_with_carry_engine      [system] { header "__random/subtract_with_carry_engine.h" }
+module cxx03_std_private_random_uniform_int_distribution        [system] { header "__random/uniform_int_distribution.h" }
+module cxx03_std_private_random_uniform_random_bit_generator    [system] { header "__random/uniform_random_bit_generator.h" }
+module cxx03_std_private_random_uniform_real_distribution       [system] { header "__random/uniform_real_distribution.h" }
+module cxx03_std_private_random_weibull_distribution            [system] { header "__random/weibull_distribution.h" }
 
-module std_private_ranges_access                     [system] { header "__ranges/access.h" }
-module std_private_ranges_all                        [system] {
+module cxx03_std_private_ranges_access                     [system] { header "__ranges/access.h" }
+module cxx03_std_private_ranges_all                        [system] {
   header "__ranges/all.h"
   export std_private_functional_compose
   export std_private_functional_perfect_forward
   export std_private_ranges_owning_view
 }
-module std_private_ranges_as_rvalue_view             [system] { header "__ranges/as_rvalue_view.h" }
-module std_private_ranges_chunk_by_view              [system] { header "__ranges/chunk_by_view.h" }
-module std_private_ranges_common_view                [system] { header "__ranges/common_view.h" }
-module std_private_ranges_concepts                   [system] {
+module cxx03_std_private_ranges_as_rvalue_view             [system] { header "__ranges/as_rvalue_view.h" }
+module cxx03_std_private_ranges_chunk_by_view              [system] { header "__ranges/chunk_by_view.h" }
+module cxx03_std_private_ranges_common_view                [system] { header "__ranges/common_view.h" }
+module cxx03_std_private_ranges_concepts                   [system] {
   header "__ranges/concepts.h"
   export std_private_iterator_concepts
 }
-module std_private_ranges_container_compatible_range [system] { header "__ranges/container_compatible_range.h" }
-module std_private_ranges_counted                    [system] {
+module cxx03_std_private_ranges_container_compatible_range [system] { header "__ranges/container_compatible_range.h" }
+module cxx03_std_private_ranges_counted                    [system] {
   header "__ranges/counted.h"
   export std_span
 }
-module std_private_ranges_dangling                   [system] { header "__ranges/dangling.h" }
-module std_private_ranges_data                       [system] { header "__ranges/data.h" }
-module std_private_ranges_drop_view                  [system] { header "__ranges/drop_view.h" }
-module std_private_ranges_drop_while_view            [system] { header "__ranges/drop_while_view.h" }
-module std_private_ranges_elements_view              [system] { header "__ranges/elements_view.h" }
-module std_private_ranges_empty                      [system] { header "__ranges/empty.h" }
-module std_private_ranges_empty_view                 [system] { header "__ranges/empty_view.h" }
-module std_private_ranges_enable_borrowed_range      [system] { header "__ranges/enable_borrowed_range.h" }
-module std_private_ranges_enable_view                [system] { header "__ranges/enable_view.h" }
-module std_private_ranges_filter_view                [system] {
+module cxx03_std_private_ranges_dangling                   [system] { header "__ranges/dangling.h" }
+module cxx03_std_private_ranges_data                       [system] { header "__ranges/data.h" }
+module cxx03_std_private_ranges_drop_view                  [system] { header "__ranges/drop_view.h" }
+module cxx03_std_private_ranges_drop_while_view            [system] { header "__ranges/drop_while_view.h" }
+module cxx03_std_private_ranges_elements_view              [system] { header "__ranges/elements_view.h" }
+module cxx03_std_private_ranges_empty                      [system] { header "__ranges/empty.h" }
+module cxx03_std_private_ranges_empty_view                 [system] { header "__ranges/empty_view.h" }
+module cxx03_std_private_ranges_enable_borrowed_range      [system] { header "__ranges/enable_borrowed_range.h" }
+module cxx03_std_private_ranges_enable_view                [system] { header "__ranges/enable_view.h" }
+module cxx03_std_private_ranges_filter_view                [system] {
   header "__ranges/filter_view.h"
   export std_private_ranges_range_adaptor
 }
-module std_private_ranges_from_range                 [system] { header "__ranges/from_range.h" }
-module std_private_ranges_iota_view                  [system] { header "__ranges/iota_view.h" }
-module std_private_ranges_istream_view               [system] {
+module cxx03_std_private_ranges_from_range                 [system] { header "__ranges/from_range.h" }
+module cxx03_std_private_ranges_iota_view                  [system] { header "__ranges/iota_view.h" }
+module cxx03_std_private_ranges_istream_view               [system] {
   header "__ranges/istream_view.h"
 }
-module std_private_ranges_join_view                  [system] {
+module cxx03_std_private_ranges_join_view                  [system] {
   header "__ranges/join_view.h"
   export std_private_iterator_iterator_with_data
   export std_private_iterator_segmented_iterator
 }
-module std_private_ranges_lazy_split_view            [system] {
+module cxx03_std_private_ranges_lazy_split_view            [system] {
   header "__ranges/lazy_split_view.h"
   export std_private_ranges_non_propagating_cache
 }
-module std_private_ranges_movable_box                [system] { header "__ranges/movable_box.h" }
-module std_private_ranges_non_propagating_cache      [system] { header "__ranges/non_propagating_cache.h" }
-module std_private_ranges_owning_view                [system] { header "__ranges/owning_view.h" }
-module std_private_ranges_range_adaptor              [system] { header "__ranges/range_adaptor.h" }
-module std_private_ranges_rbegin                     [system] { header "__ranges/rbegin.h" }
-module std_private_ranges_ref_view                   [system] { header "__ranges/ref_view.h" }
-module std_private_ranges_rend                       [system] { header "__ranges/rend.h" }
-module std_private_ranges_repeat_view                [system] { header "__ranges/repeat_view.h" }
-module std_private_ranges_reverse_view               [system] { header "__ranges/reverse_view.h" }
-module std_private_ranges_single_view                [system] { header "__ranges/single_view.h" }
-module std_private_ranges_size                       [system] {
+module cxx03_std_private_ranges_movable_box                [system] { header "__ranges/movable_box.h" }
+module cxx03_std_private_ranges_non_propagating_cache      [system] { header "__ranges/non_propagating_cache.h" }
+module cxx03_std_private_ranges_owning_view                [system] { header "__ranges/owning_view.h" }
+module cxx03_std_private_ranges_range_adaptor              [system] { header "__ranges/range_adaptor.h" }
+module cxx03_std_private_ranges_rbegin                     [system] { header "__ranges/rbegin.h" }
+module cxx03_std_private_ranges_ref_view                   [system] { header "__ranges/ref_view.h" }
+module cxx03_std_private_ranges_rend                       [system] { header "__ranges/rend.h" }
+module cxx03_std_private_ranges_repeat_view                [system] { header "__ranges/repeat_view.h" }
+module cxx03_std_private_ranges_reverse_view               [system] { header "__ranges/reverse_view.h" }
+module cxx03_std_private_ranges_single_view                [system] { header "__ranges/single_view.h" }
+module cxx03_std_private_ranges_size                       [system] {
   header "__ranges/size.h"
   export std_private_type_traits_make_unsigned
 }
-module std_private_ranges_split_view                 [system] { header "__ranges/split_view.h" }
-module std_private_ranges_subrange                   [system] {
+module cxx03_std_private_ranges_split_view                 [system] { header "__ranges/split_view.h" }
+module cxx03_std_private_ranges_subrange                   [system] {
   header "__ranges/subrange.h"
   export std_private_ranges_subrange_fwd
 }
-module std_private_ranges_subrange_fwd               [system] {
+module cxx03_std_private_ranges_subrange_fwd               [system] {
   header "__fwd/subrange.h"
   export std_private_iterator_concepts
 }
-module std_private_ranges_take_view                  [system] { header "__ranges/take_view.h" }
-module std_private_ranges_take_while_view            [system] { header "__ranges/take_while_view.h" }
-module std_private_ranges_to                         [system] { header "__ranges/to.h" }
-module std_private_ranges_transform_view             [system] {
+module cxx03_std_private_ranges_take_view                  [system] { header "__ranges/take_view.h" }
+module cxx03_std_private_ranges_take_while_view            [system] { header "__ranges/take_while_view.h" }
+module cxx03_std_private_ranges_to                         [system] { header "__ranges/to.h" }
+module cxx03_std_private_ranges_transform_view             [system] {
   header "__ranges/transform_view.h"
   export std_private_functional_bind_back
   export std_private_functional_perfect_forward
   export std_private_ranges_movable_box
 }
-module std_private_ranges_view_interface             [system] { header "__ranges/view_interface.h" }
-module std_private_ranges_views                      [system] { header "__ranges/views.h" }
-module std_private_ranges_zip_view                   [system] {
+module cxx03_std_private_ranges_view_interface             [system] { header "__ranges/view_interface.h" }
+module cxx03_std_private_ranges_views                      [system] { header "__ranges/views.h" }
+module cxx03_std_private_ranges_zip_view                   [system] {
   header "__ranges/zip_view.h"
   export std_private_utility_pair
 }
 
-module std_private_span_span_fwd [system] { header "__fwd/span.h" }
+module cxx03_std_private_span_span_fwd [system] { header "__fwd/span.h" }
 
-module std_private_stack_fwd [system] { header "__fwd/stack.h" }
+module cxx03_std_private_stack_fwd [system] { header "__fwd/stack.h" }
 
-module std_private_stop_token_atomic_unique_lock   [system] { header "__stop_token/atomic_unique_lock.h" }
-module std_private_stop_token_intrusive_list_view  [system] { header "__stop_token/intrusive_list_view.h" }
-module std_private_stop_token_intrusive_shared_ptr [system] { header "__stop_token/intrusive_shared_ptr.h" }
-module std_private_stop_token_stop_callback        [system] { header "__stop_token/stop_callback.h" }
-module std_private_stop_token_stop_source          [system] {
+module cxx03_std_private_stop_token_atomic_unique_lock   [system] { header "__stop_token/atomic_unique_lock.h" }
+module cxx03_std_private_stop_token_intrusive_list_view  [system] { header "__stop_token/intrusive_list_view.h" }
+module cxx03_std_private_stop_token_intrusive_shared_ptr [system] { header "__stop_token/intrusive_shared_ptr.h" }
+module cxx03_std_private_stop_token_stop_callback        [system] { header "__stop_token/stop_callback.h" }
+module cxx03_std_private_stop_token_stop_source          [system] {
   header "__stop_token/stop_source.h"
   export *
 }
-module std_private_stop_token_stop_state           [system] {
+module cxx03_std_private_stop_token_stop_state           [system] {
   header "__stop_token/stop_state.h"
   export *
 }
-module std_private_stop_token_stop_token           [system] {
+module cxx03_std_private_stop_token_stop_token           [system] {
   header "__stop_token/stop_token.h"
   export *
 }
 
-module std_private_string_char_traits           [system] {
+module cxx03_std_private_string_char_traits           [system] {
   header "__string/char_traits.h"
   export *
 }
-module std_private_string_constexpr_c_functions [system] {
+module cxx03_std_private_string_constexpr_c_functions [system] {
   header "__string/constexpr_c_functions.h"
   export std_private_type_traits_is_equality_comparable
 }
-module std_private_string_extern_template_lists [system] { header "__string/extern_template_lists.h" }
-module std_private_string_string_fwd            [system] { header "__fwd/string.h" }
+module cxx03_std_private_string_extern_template_lists [system] { header "__string/extern_template_lists.h" }
+module cxx03_std_private_string_string_fwd            [system] { header "__fwd/string.h" }
 
-module std_private_string_view_string_view_fwd [system] { header "__fwd/string_view.h" }
+module cxx03_std_private_string_view_string_view_fwd [system] { header "__fwd/string_view.h" }
 
-module std_private_system_error_errc            [system] { header "__system_error/errc.h" }
-module std_private_system_error_error_category  [system] { header "__system_error/error_category.h" }
-module std_private_system_error_error_code      [system] {
+module cxx03_std_private_system_error_errc            [system] { header "__system_error/errc.h" }
+module cxx03_std_private_system_error_error_category  [system] { header "__system_error/error_category.h" }
+module cxx03_std_private_system_error_error_code      [system] {
   header "__system_error/error_code.h"
   export std_private_functional_hash
   export std_private_functional_unary_function
 }
-module std_private_system_error_error_condition [system] {
+module cxx03_std_private_system_error_error_condition [system] {
   header "__system_error/error_condition.h"
   export std_private_functional_hash
   export std_private_functional_unary_function
 }
-module std_private_system_error_system_error    [system] { header "__system_error/system_error.h" }
+module cxx03_std_private_system_error_system_error    [system] { header "__system_error/system_error.h" }
 
-module std_private_thread_formatter            [system] { header "__thread/formatter.h" }
-module std_private_thread_id                   [system] { header "__thread/id.h" }
-module std_private_thread_jthread              [system] {
+module cxx03_std_private_thread_formatter            [system] { header "__thread/formatter.h" }
+module cxx03_std_private_thread_id                   [system] { header "__thread/id.h" }
+module cxx03_std_private_thread_jthread              [system] {
   header "__thread/jthread.h"
   export *
 }
-module std_private_thread_poll_with_backoff    [system] { header "__thread/poll_with_backoff.h" }
-module std_private_thread_support              [system] {
+module cxx03_std_private_thread_poll_with_backoff    [system] { header "__thread/poll_with_backoff.h" }
+module cxx03_std_private_thread_support              [system] {
   header "__thread/support.h"
   export *
 }
-module std_private_thread_support_c11          [system] { textual header "__thread/support/c11.h" }
-module std_private_thread_support_external     [system] { textual header "__thread/support/external.h" }
-module std_private_thread_support_pthread      [system] { textual header "__thread/support/pthread.h" }
-module std_private_thread_support_windows      [system] { textual header "__thread/support/windows.h" }
-module std_private_thread_this_thread          [system] { header "__thread/this_thread.h" }
-module std_private_thread_thread               [system] {
+module cxx03_std_private_thread_support_c11          [system] { textual header "__thread/support/c11.h" }
+module cxx03_std_private_thread_support_external     [system] { textual header "__thread/support/external.h" }
+module cxx03_std_private_thread_support_pthread      [system] { textual header "__thread/support/pthread.h" }
+module cxx03_std_private_thread_support_windows      [system] { textual header "__thread/support/windows.h" }
+module cxx03_std_private_thread_this_thread          [system] { header "__thread/this_thread.h" }
+module cxx03_std_private_thread_thread               [system] {
   header "__thread/thread.h"
   export *
 }
-module std_private_thread_timed_backoff_policy [system] { header "__thread/timed_backoff_policy.h" }
+module cxx03_std_private_thread_timed_backoff_policy [system] { header "__thread/timed_backoff_policy.h" }
 
-module std_private_tuple_find_index             [system] { header "__tuple/find_index.h" }
-module std_private_tuple_ignore                 [system] { header "__tuple/ignore.h" }
-module std_private_tuple_make_tuple_types       [system] { header "__tuple/make_tuple_types.h" }
-module std_private_tuple_tuple_like_no_subrange [system] {
+module cxx03_std_private_tuple_find_index             [system] { header "__tuple/find_index.h" }
+module cxx03_std_private_tuple_ignore                 [system] { header "__tuple/ignore.h" }
+module cxx03_std_private_tuple_make_tuple_types       [system] { header "__tuple/make_tuple_types.h" }
+module cxx03_std_private_tuple_tuple_like_no_subrange [system] {
   header "__tuple/tuple_like_no_subrange.h"
 }
-module std_private_tuple_sfinae_helpers         [system] { header "__tuple/sfinae_helpers.h" }
-module std_private_tuple_tuple_element          [system] { header "__tuple/tuple_element.h" }
-module std_private_tuple_tuple_fwd              [system] { header "__fwd/tuple.h" }
-module std_private_tuple_tuple_indices          [system] { header "__tuple/tuple_indices.h" }
-module std_private_tuple_tuple_like             [system] {
+module cxx03_std_private_tuple_sfinae_helpers         [system] { header "__tuple/sfinae_helpers.h" }
+module cxx03_std_private_tuple_tuple_element          [system] { header "__tuple/tuple_element.h" }
+module cxx03_std_private_tuple_tuple_fwd              [system] { header "__fwd/tuple.h" }
+module cxx03_std_private_tuple_tuple_indices          [system] { header "__tuple/tuple_indices.h" }
+module cxx03_std_private_tuple_tuple_like             [system] {
   header "__tuple/tuple_like.h"
   export *
 }
-module std_private_tuple_tuple_like_ext         [system] { header "__tuple/tuple_like_ext.h" }
-module std_private_tuple_tuple_size             [system] { header "__tuple/tuple_size.h" }
-module std_private_tuple_tuple_types            [system] { header "__tuple/tuple_types.h" }
+module cxx03_std_private_tuple_tuple_like_ext         [system] { header "__tuple/tuple_like_ext.h" }
+module cxx03_std_private_tuple_tuple_size             [system] { header "__tuple/tuple_size.h" }
+module cxx03_std_private_tuple_tuple_types            [system] { header "__tuple/tuple_types.h" }
 
-module std_private_type_traits_add_const                                 [system] { header "__type_traits/add_const.h" }
-module std_private_type_traits_add_cv                                    [system] { header "__type_traits/add_cv.h" }
-module std_private_type_traits_add_lvalue_reference                      [system] {
+module cxx03_std_private_type_traits_add_const                                 [system] { header "__type_traits/add_const.h" }
+module cxx03_std_private_type_traits_add_cv                                    [system] { header "__type_traits/add_cv.h" }
+module cxx03_std_private_type_traits_add_lvalue_reference                      [system] {
   header "__type_traits/add_lvalue_reference.h"
   export std_private_type_traits_is_referenceable
 }
-module std_private_type_traits_add_pointer                               [system] { header "__type_traits/add_pointer.h" }
-module std_private_type_traits_add_rvalue_reference                      [system] { header "__type_traits/add_rvalue_reference.h" }
-module std_private_type_traits_add_volatile                              [system] { header "__type_traits/add_volatile.h" }
-module std_private_type_traits_aligned_storage                           [system] { header "__type_traits/aligned_storage.h" }
-module std_private_type_traits_aligned_union                             [system] { header "__type_traits/aligned_union.h" }
-module std_private_type_traits_alignment_of                              [system] { header "__type_traits/alignment_of.h" }
-module std_private_type_traits_can_extract_key                           [system] { header "__type_traits/can_extract_key.h" }
-module std_private_type_traits_common_reference                          [system] {
+module cxx03_std_private_type_traits_add_pointer                               [system] { header "__type_traits/add_pointer.h" }
+module cxx03_std_private_type_traits_add_rvalue_reference                      [system] { header "__type_traits/add_rvalue_reference.h" }
+module cxx03_std_private_type_traits_add_volatile                              [system] { header "__type_traits/add_volatile.h" }
+module cxx03_std_private_type_traits_aligned_storage                           [system] { header "__type_traits/aligned_storage.h" }
+module cxx03_std_private_type_traits_aligned_union                             [system] { header "__type_traits/aligned_union.h" }
+module cxx03_std_private_type_traits_alignment_of                              [system] { header "__type_traits/alignment_of.h" }
+module cxx03_std_private_type_traits_can_extract_key                           [system] { header "__type_traits/can_extract_key.h" }
+module cxx03_std_private_type_traits_common_reference                          [system] {
   header "__type_traits/common_reference.h"
   export std_private_type_traits_remove_cvref
 }
-module std_private_type_traits_common_type                               [system] {
+module cxx03_std_private_type_traits_common_type                               [system] {
   header "__type_traits/common_type.h"
   export std_private_utility_declval
 }
-module std_private_type_traits_conditional                               [system] { header "__type_traits/conditional.h" }
-module std_private_type_traits_conjunction                               [system] { header "__type_traits/conjunction.h" }
-module std_private_type_traits_copy_cv                                   [system] { header "__type_traits/copy_cv.h" }
-module std_private_type_traits_copy_cvref                                [system] { header "__type_traits/copy_cvref.h" }
-module std_private_type_traits_datasizeof                                [system] { header "__type_traits/datasizeof.h" }
-module std_private_type_traits_decay                                     [system] {
+module cxx03_std_private_type_traits_conditional                               [system] { header "__type_traits/conditional.h" }
+module cxx03_std_private_type_traits_conjunction                               [system] { header "__type_traits/conjunction.h" }
+module cxx03_std_private_type_traits_copy_cv                                   [system] { header "__type_traits/copy_cv.h" }
+module cxx03_std_private_type_traits_copy_cvref                                [system] { header "__type_traits/copy_cvref.h" }
+module cxx03_std_private_type_traits_datasizeof                                [system] { header "__type_traits/datasizeof.h" }
+module cxx03_std_private_type_traits_decay                                     [system] {
   header "__type_traits/decay.h"
   export std_private_type_traits_add_pointer
 }
-module std_private_type_traits_dependent_type                            [system] { header "__type_traits/dependent_type.h" }
-module std_private_type_traits_desugars_to                               [system] { header "__type_traits/desugars_to.h" }
-module std_private_type_traits_disjunction                               [system] { header "__type_traits/disjunction.h" }
-module std_private_type_traits_enable_if                                 [system] { header "__type_traits/enable_if.h" }
-module std_private_type_traits_extent                                    [system] { header "__type_traits/extent.h" }
-module std_private_type_traits_has_unique_object_representation          [system] { header "__type_traits/has_unique_object_representation.h" }
-module std_private_type_traits_has_virtual_destructor                    [system] { header "__type_traits/has_virtual_destructor.h" }
-module std_private_type_traits_integral_constant                         [system] { header "__type_traits/integral_constant.h" }
-module std_private_type_traits_invoke                                    [system] {
+module cxx03_std_private_type_traits_dependent_type                            [system] { header "__type_traits/dependent_type.h" }
+module cxx03_std_private_type_traits_desugars_to                               [system] { header "__type_traits/desugars_to.h" }
+module cxx03_std_private_type_traits_disjunction                               [system] { header "__type_traits/disjunction.h" }
+module cxx03_std_private_type_traits_enable_if                                 [system] { header "__type_traits/enable_if.h" }
+module cxx03_std_private_type_traits_extent                                    [system] { header "__type_traits/extent.h" }
+module cxx03_std_private_type_traits_has_unique_object_representation          [system] { header "__type_traits/has_unique_object_representation.h" }
+module cxx03_std_private_type_traits_has_virtual_destructor                    [system] { header "__type_traits/has_virtual_destructor.h" }
+module cxx03_std_private_type_traits_integral_constant                         [system] { header "__type_traits/integral_constant.h" }
+module cxx03_std_private_type_traits_invoke                                    [system] {
   header "__type_traits/invoke.h"
   export std_private_type_traits_conditional
   export std_private_type_traits_decay
@@ -1917,194 +1917,194 @@ module std_private_type_traits_invoke                                    [system
   export std_private_type_traits_nat
   export std_private_type_traits_remove_cv
 }
-module std_private_type_traits_is_abstract                               [system] { header "__type_traits/is_abstract.h" }
-module std_private_type_traits_is_aggregate                              [system] { header "__type_traits/is_aggregate.h" }
-module std_private_type_traits_is_allocator                              [system] { header "__type_traits/is_allocator.h" }
-module std_private_type_traits_is_always_bitcastable                     [system] { header "__type_traits/is_always_bitcastable.h" }
-module std_private_type_traits_is_arithmetic                             [system] {
+module cxx03_std_private_type_traits_is_abstract                               [system] { header "__type_traits/is_abstract.h" }
+module cxx03_std_private_type_traits_is_aggregate                              [system] { header "__type_traits/is_aggregate.h" }
+module cxx03_std_private_type_traits_is_allocator                              [system] { header "__type_traits/is_allocator.h" }
+module cxx03_std_private_type_traits_is_always_bitcastable                     [system] { header "__type_traits/is_always_bitcastable.h" }
+module cxx03_std_private_type_traits_is_arithmetic                             [system] {
   header "__type_traits/is_arithmetic.h"
   export std_private_type_traits_integral_constant
 }
-module std_private_type_traits_is_array                                  [system] {
+module cxx03_std_private_type_traits_is_array                                  [system] {
   header "__type_traits/is_array.h"
   export std_private_type_traits_integral_constant
 }
-module std_private_type_traits_is_assignable                             [system] { header "__type_traits/is_assignable.h" }
-module std_private_type_traits_is_base_of                                [system] { header "__type_traits/is_base_of.h" }
-module std_private_type_traits_is_bounded_array                          [system] { header "__type_traits/is_bounded_array.h" }
-module std_private_type_traits_is_callable                               [system] {
+module cxx03_std_private_type_traits_is_assignable                             [system] { header "__type_traits/is_assignable.h" }
+module cxx03_std_private_type_traits_is_base_of                                [system] { header "__type_traits/is_base_of.h" }
+module cxx03_std_private_type_traits_is_bounded_array                          [system] { header "__type_traits/is_bounded_array.h" }
+module cxx03_std_private_type_traits_is_callable                               [system] {
   header "__type_traits/is_callable.h"
   export std_private_type_traits_integral_constant
 }
-module std_private_type_traits_is_char_like_type                         [system] { header "__type_traits/is_char_like_type.h" }
-module std_private_type_traits_is_class                                  [system] { header "__type_traits/is_class.h" }
-module std_private_type_traits_is_compound                               [system] { header "__type_traits/is_compound.h" }
-module std_private_type_traits_is_const                                  [system] { header "__type_traits/is_const.h" }
-module std_private_type_traits_is_constant_evaluated                     [system] { header "__type_traits/is_constant_evaluated.h" }
-module std_private_type_traits_is_constructible                          [system] { header "__type_traits/is_constructible.h" }
-module std_private_type_traits_is_convertible                            [system] {
+module cxx03_std_private_type_traits_is_char_like_type                         [system] { header "__type_traits/is_char_like_type.h" }
+module cxx03_std_private_type_traits_is_class                                  [system] { header "__type_traits/is_class.h" }
+module cxx03_std_private_type_traits_is_compound                               [system] { header "__type_traits/is_compound.h" }
+module cxx03_std_private_type_traits_is_const                                  [system] { header "__type_traits/is_const.h" }
+module cxx03_std_private_type_traits_is_constant_evaluated                     [system] { header "__type_traits/is_constant_evaluated.h" }
+module cxx03_std_private_type_traits_is_constructible                          [system] { header "__type_traits/is_constructible.h" }
+module cxx03_std_private_type_traits_is_convertible                            [system] {
   header "__type_traits/is_convertible.h"
   export std_private_type_traits_is_array
 }
-module std_private_type_traits_is_copy_assignable                        [system] { header "__type_traits/is_copy_assignable.h" }
-module std_private_type_traits_is_copy_constructible                     [system] { header "__type_traits/is_copy_constructible.h" }
-module std_private_type_traits_is_core_convertible                       [system] {
+module cxx03_std_private_type_traits_is_copy_assignable                        [system] { header "__type_traits/is_copy_assignable.h" }
+module cxx03_std_private_type_traits_is_copy_constructible                     [system] { header "__type_traits/is_copy_constructible.h" }
+module cxx03_std_private_type_traits_is_core_convertible                       [system] {
   header "__type_traits/is_core_convertible.h"
   export std_private_type_traits_integral_constant
 }
-module std_private_type_traits_is_destructible                           [system] { header "__type_traits/is_destructible.h" }
-module std_private_type_traits_is_empty                                  [system] { header "__type_traits/is_empty.h" }
-module std_private_type_traits_is_enum                                   [system] {
+module cxx03_std_private_type_traits_is_destructible                           [system] { header "__type_traits/is_destructible.h" }
+module cxx03_std_private_type_traits_is_empty                                  [system] { header "__type_traits/is_empty.h" }
+module cxx03_std_private_type_traits_is_enum                                   [system] {
   header "__type_traits/is_enum.h"
   export std_private_type_traits_integral_constant
 }
-module std_private_type_traits_is_equality_comparable                    [system] {
+module cxx03_std_private_type_traits_is_equality_comparable                    [system] {
   header "__type_traits/is_equality_comparable.h"
   export std_private_type_traits_integral_constant
 }
-module std_private_type_traits_is_execution_policy                       [system] {
+module cxx03_std_private_type_traits_is_execution_policy                       [system] {
   header "__type_traits/is_execution_policy.h"
   export std_private_type_traits_remove_cvref
 }
-module std_private_type_traits_is_final                                  [system] { header "__type_traits/is_final.h" }
-module std_private_type_traits_is_floating_point                         [system] { header "__type_traits/is_floating_point.h" }
-module std_private_type_traits_is_function                               [system] { header "__type_traits/is_function.h" }
-module std_private_type_traits_is_fundamental                            [system] { header "__type_traits/is_fundamental.h" }
-module std_private_type_traits_is_implicitly_default_constructible       [system] {
+module cxx03_std_private_type_traits_is_final                                  [system] { header "__type_traits/is_final.h" }
+module cxx03_std_private_type_traits_is_floating_point                         [system] { header "__type_traits/is_floating_point.h" }
+module cxx03_std_private_type_traits_is_function                               [system] { header "__type_traits/is_function.h" }
+module cxx03_std_private_type_traits_is_fundamental                            [system] { header "__type_traits/is_fundamental.h" }
+module cxx03_std_private_type_traits_is_implicitly_default_constructible       [system] {
   header "__type_traits/is_implicitly_default_constructible.h"
   export std_private_type_traits_integral_constant
 }
-module std_private_type_traits_is_integral                               [system] { header "__type_traits/is_integral.h" }
-module std_private_type_traits_is_literal_type                           [system] { header "__type_traits/is_literal_type.h" }
-module std_private_type_traits_is_member_pointer                         [system] { header "__type_traits/is_member_pointer.h" }
-module std_private_type_traits_is_nothrow_assignable                     [system] { header "__type_traits/is_nothrow_assignable.h" }
-module std_private_type_traits_is_nothrow_constructible                  [system] {
+module cxx03_std_private_type_traits_is_integral                               [system] { header "__type_traits/is_integral.h" }
+module cxx03_std_private_type_traits_is_literal_type                           [system] { header "__type_traits/is_literal_type.h" }
+module cxx03_std_private_type_traits_is_member_pointer                         [system] { header "__type_traits/is_member_pointer.h" }
+module cxx03_std_private_type_traits_is_nothrow_assignable                     [system] { header "__type_traits/is_nothrow_assignable.h" }
+module cxx03_std_private_type_traits_is_nothrow_constructible                  [system] {
   header "__type_traits/is_nothrow_constructible.h"
   export std_private_type_traits_integral_constant
 }
-module std_private_type_traits_is_nothrow_convertible                    [system] { header "__type_traits/is_nothrow_convertible.h" }
-module std_private_type_traits_is_nothrow_destructible                   [system] {
+module cxx03_std_private_type_traits_is_nothrow_convertible                    [system] { header "__type_traits/is_nothrow_convertible.h" }
+module cxx03_std_private_type_traits_is_nothrow_destructible                   [system] {
   header "__type_traits/is_nothrow_destructible.h"
   export std_private_type_traits_is_destructible
 }
-module std_private_type_traits_is_null_pointer                           [system] {
+module cxx03_std_private_type_traits_is_null_pointer                           [system] {
   header "__type_traits/is_null_pointer.h"
   export std_cstddef
 }
-module std_private_type_traits_is_object                                 [system] {
+module cxx03_std_private_type_traits_is_object                                 [system] {
   header "__type_traits/is_object.h"
   export std_private_type_traits_is_scalar
 }
-module std_private_type_traits_is_pod                                    [system] { header "__type_traits/is_pod.h" }
-module std_private_type_traits_is_pointer                                [system] { header "__type_traits/is_pointer.h" }
-module std_private_type_traits_is_polymorphic                            [system] { header "__type_traits/is_polymorphic.h" }
-module std_private_type_traits_is_primary_template                       [system] {
+module cxx03_std_private_type_traits_is_pod                                    [system] { header "__type_traits/is_pod.h" }
+module cxx03_std_private_type_traits_is_pointer                                [system] { header "__type_traits/is_pointer.h" }
+module cxx03_std_private_type_traits_is_polymorphic                            [system] { header "__type_traits/is_polymorphic.h" }
+module cxx03_std_private_type_traits_is_primary_template                       [system] {
   header "__type_traits/is_primary_template.h"
   export std_private_type_traits_enable_if
 }
-module std_private_type_traits_is_reference                              [system] { header "__type_traits/is_reference.h" }
-module std_private_type_traits_is_reference_wrapper                      [system] { header "__type_traits/is_reference_wrapper.h" }
-module std_private_type_traits_is_referenceable                          [system] { header "__type_traits/is_referenceable.h" }
-module std_private_type_traits_is_same                                   [system] {
+module cxx03_std_private_type_traits_is_reference                              [system] { header "__type_traits/is_reference.h" }
+module cxx03_std_private_type_traits_is_reference_wrapper                      [system] { header "__type_traits/is_reference_wrapper.h" }
+module cxx03_std_private_type_traits_is_referenceable                          [system] { header "__type_traits/is_referenceable.h" }
+module cxx03_std_private_type_traits_is_same                                   [system] {
   header "__type_traits/is_same.h"
   export std_private_type_traits_integral_constant
 }
-module std_private_type_traits_is_scalar                                 [system] {
+module cxx03_std_private_type_traits_is_scalar                                 [system] {
   header "__type_traits/is_scalar.h"
   export std_private_type_traits_is_null_pointer
 }
-module std_private_type_traits_is_signed                                 [system] { header "__type_traits/is_signed.h" }
-module std_private_type_traits_is_signed_integer                         [system] { header "__type_traits/is_signed_integer.h" }
-module std_private_type_traits_is_specialization                         [system] { header "__type_traits/is_specialization.h" }
-module std_private_type_traits_is_standard_layout                        [system] { header "__type_traits/is_standard_layout.h" }
-module std_private_type_traits_is_swappable                              [system] {
+module cxx03_std_private_type_traits_is_signed                                 [system] { header "__type_traits/is_signed.h" }
+module cxx03_std_private_type_traits_is_signed_integer                         [system] { header "__type_traits/is_signed_integer.h" }
+module cxx03_std_private_type_traits_is_specialization                         [system] { header "__type_traits/is_specialization.h" }
+module cxx03_std_private_type_traits_is_standard_layout                        [system] { header "__type_traits/is_standard_layout.h" }
+module cxx03_std_private_type_traits_is_swappable                              [system] {
   header "__type_traits/is_swappable.h"
   export std_private_type_traits_is_move_constructible
 }
-module std_private_type_traits_is_trivial                                [system] { header "__type_traits/is_trivial.h" }
-module std_private_type_traits_is_trivially_assignable                   [system] { header "__type_traits/is_trivially_assignable.h" }
-module std_private_type_traits_is_trivially_constructible                [system] { header "__type_traits/is_trivially_constructible.h" }
-module std_private_type_traits_is_trivially_copyable                     [system] { header "__type_traits/is_trivially_copyable.h" }
-module std_private_type_traits_is_trivially_destructible                 [system] { header "__type_traits/is_trivially_destructible.h" }
-module std_private_type_traits_is_trivially_lexicographically_comparable [system] { header "__type_traits/is_trivially_lexicographically_comparable.h" }
-module std_private_type_traits_is_trivially_relocatable                  [system] { header "__type_traits/is_trivially_relocatable.h" }
-module std_private_type_traits_is_unbounded_array                        [system] { header "__type_traits/is_unbounded_array.h" }
-module std_private_type_traits_is_union                                  [system] { header "__type_traits/is_union.h" }
-module std_private_type_traits_is_unsigned                               [system] { header "__type_traits/is_unsigned.h" }
-module std_private_type_traits_is_unsigned_integer                       [system] { header "__type_traits/is_unsigned_integer.h" }
-module std_private_type_traits_is_valid_expansion                        [system] { header "__type_traits/is_valid_expansion.h" }
-module std_private_type_traits_is_void                                   [system] {
+module cxx03_std_private_type_traits_is_trivial                                [system] { header "__type_traits/is_trivial.h" }
+module cxx03_std_private_type_traits_is_trivially_assignable                   [system] { header "__type_traits/is_trivially_assignable.h" }
+module cxx03_std_private_type_traits_is_trivially_constructible                [system] { header "__type_traits/is_trivially_constructible.h" }
+module cxx03_std_private_type_traits_is_trivially_copyable                     [system] { header "__type_traits/is_trivially_copyable.h" }
+module cxx03_std_private_type_traits_is_trivially_destructible                 [system] { header "__type_traits/is_trivially_destructible.h" }
+module cxx03_std_private_type_traits_is_trivially_lexicographically_comparable [system] { header "__type_traits/is_trivially_lexicographically_comparable.h" }
+module cxx03_std_private_type_traits_is_trivially_relocatable                  [system] { header "__type_traits/is_trivially_relocatable.h" }
+module cxx03_std_private_type_traits_is_unbounded_array                        [system] { header "__type_traits/is_unbounded_array.h" }
+module cxx03_std_private_type_traits_is_union                                  [system] { header "__type_traits/is_union.h" }
+module cxx03_std_private_type_traits_is_unsigned                               [system] { header "__type_traits/is_unsigned.h" }
+module cxx03_std_private_type_traits_is_unsigned_integer                       [system] { header "__type_traits/is_unsigned_integer.h" }
+module cxx03_std_private_type_traits_is_valid_expansion                        [system] { header "__type_traits/is_valid_expansion.h" }
+module cxx03_std_private_type_traits_is_void                                   [system] {
   header "__type_traits/is_void.h"
   export std_private_type_traits_integral_constant
 }
-module std_private_type_traits_is_volatile                               [system] { header "__type_traits/is_volatile.h" }
-module std_private_type_traits_lazy                                      [system] { header "__type_traits/lazy.h" }
-module std_private_type_traits_make_32_64_or_128_bit                     [system] { header "__type_traits/make_32_64_or_128_bit.h" }
-module std_private_type_traits_make_const_lvalue_ref                     [system] { header "__type_traits/make_const_lvalue_ref.h" }
-module std_private_type_traits_make_signed                               [system] { header "__type_traits/make_signed.h" }
-module std_private_type_traits_make_unsigned                             [system] {
+module cxx03_std_private_type_traits_is_volatile                               [system] { header "__type_traits/is_volatile.h" }
+module cxx03_std_private_type_traits_lazy                                      [system] { header "__type_traits/lazy.h" }
+module cxx03_std_private_type_traits_make_32_64_or_128_bit                     [system] { header "__type_traits/make_32_64_or_128_bit.h" }
+module cxx03_std_private_type_traits_make_const_lvalue_ref                     [system] { header "__type_traits/make_const_lvalue_ref.h" }
+module cxx03_std_private_type_traits_make_signed                               [system] { header "__type_traits/make_signed.h" }
+module cxx03_std_private_type_traits_make_unsigned                             [system] {
   header "__type_traits/make_unsigned.h"
   export std_private_type_traits_is_unsigned
 }
-module std_private_type_traits_maybe_const                               [system] { header "__type_traits/maybe_const.h" }
-module std_private_type_traits_nat                                       [system] { header "__type_traits/nat.h" }
-module std_private_type_traits_negation                                  [system] { header "__type_traits/negation.h" }
-module std_private_type_traits_noexcept_move_assign_container            [system] { header "__type_traits/noexcept_move_assign_container.h" }
-module std_private_type_traits_promote                                   [system] { header "__type_traits/promote.h" }
-module std_private_type_traits_rank                                      [system] { header "__type_traits/rank.h" }
-module std_private_type_traits_remove_all_extents                        [system] { header "__type_traits/remove_all_extents.h" }
-module std_private_type_traits_remove_const                              [system] { header "__type_traits/remove_const.h" }
-module std_private_type_traits_remove_const_ref                          [system] { header "__type_traits/remove_const_ref.h" }
-module std_private_type_traits_remove_cv                                 [system] {
+module cxx03_std_private_type_traits_maybe_const                               [system] { header "__type_traits/maybe_const.h" }
+module cxx03_std_private_type_traits_nat                                       [system] { header "__type_traits/nat.h" }
+module cxx03_std_private_type_traits_negation                                  [system] { header "__type_traits/negation.h" }
+module cxx03_std_private_type_traits_noexcept_move_assign_container            [system] { header "__type_traits/noexcept_move_assign_container.h" }
+module cxx03_std_private_type_traits_promote                                   [system] { header "__type_traits/promote.h" }
+module cxx03_std_private_type_traits_rank                                      [system] { header "__type_traits/rank.h" }
+module cxx03_std_private_type_traits_remove_all_extents                        [system] { header "__type_traits/remove_all_extents.h" }
+module cxx03_std_private_type_traits_remove_const                              [system] { header "__type_traits/remove_const.h" }
+module cxx03_std_private_type_traits_remove_const_ref                          [system] { header "__type_traits/remove_const_ref.h" }
+module cxx03_std_private_type_traits_remove_cv                                 [system] {
   header "__type_traits/remove_cv.h"
   export std_private_type_traits_remove_const
   export std_private_type_traits_remove_volatile
 }
-module std_private_type_traits_remove_cvref                              [system] { header "__type_traits/remove_cvref.h" }
-module std_private_type_traits_remove_extent                             [system] { header "__type_traits/remove_extent.h" }
-module std_private_type_traits_remove_pointer                            [system] { header "__type_traits/remove_pointer.h" }
-module std_private_type_traits_remove_reference                          [system] { header "__type_traits/remove_reference.h" }
-module std_private_type_traits_remove_volatile                           [system] { header "__type_traits/remove_volatile.h" }
-module std_private_type_traits_result_of                                 [system] { header "__type_traits/result_of.h" }
-module std_private_type_traits_strip_signature                           [system] { header "__type_traits/strip_signature.h" }
-module std_private_type_traits_type_identity                             [system] { header "__type_traits/type_identity.h" }
-module std_private_type_traits_type_list                                 [system] { header "__type_traits/type_list.h" }
-module std_private_type_traits_underlying_type                           [system] {
+module cxx03_std_private_type_traits_remove_cvref                              [system] { header "__type_traits/remove_cvref.h" }
+module cxx03_std_private_type_traits_remove_extent                             [system] { header "__type_traits/remove_extent.h" }
+module cxx03_std_private_type_traits_remove_pointer                            [system] { header "__type_traits/remove_pointer.h" }
+module cxx03_std_private_type_traits_remove_reference                          [system] { header "__type_traits/remove_reference.h" }
+module cxx03_std_private_type_traits_remove_volatile                           [system] { header "__type_traits/remove_volatile.h" }
+module cxx03_std_private_type_traits_result_of                                 [system] { header "__type_traits/result_of.h" }
+module cxx03_std_private_type_traits_strip_signature                           [system] { header "__type_traits/strip_signature.h" }
+module cxx03_std_private_type_traits_type_identity                             [system] { header "__type_traits/type_identity.h" }
+module cxx03_std_private_type_traits_type_list                                 [system] { header "__type_traits/type_list.h" }
+module cxx03_std_private_type_traits_underlying_type                           [system] {
   header "__type_traits/underlying_type.h"
   export std_private_type_traits_is_enum
 }
-module std_private_type_traits_unwrap_ref                                [system] { header "__type_traits/unwrap_ref.h" }
-module std_private_type_traits_void_t                                    [system] { header "__type_traits/void_t.h" }
+module cxx03_std_private_type_traits_unwrap_ref                                [system] { header "__type_traits/unwrap_ref.h" }
+module cxx03_std_private_type_traits_void_t                                    [system] { header "__type_traits/void_t.h" }
 
-module std_private_utility_as_const               [system] { header "__utility/as_const.h" }
-module std_private_utility_as_lvalue              [system] { header "__utility/as_lvalue.h" }
-module std_private_utility_auto_cast              [system] {
+module cxx03_std_private_utility_as_const               [system] { header "__utility/as_const.h" }
+module cxx03_std_private_utility_as_lvalue              [system] { header "__utility/as_lvalue.h" }
+module cxx03_std_private_utility_auto_cast              [system] {
   header "__utility/auto_cast.h"
   export std_private_type_traits_decay
 }
-module std_private_utility_cmp                    [system] {
+module cxx03_std_private_utility_cmp                    [system] {
   header "__utility/cmp.h"
   export std_private_type_traits_make_unsigned
 }
-module std_private_utility_convert_to_integral    [system] { header "__utility/convert_to_integral.h" }
-module std_private_utility_declval                [system] { header "__utility/declval.h" }
-module std_private_utility_empty                  [system] { header "__utility/empty.h" }
-module std_private_utility_exception_guard        [system] { header "__utility/exception_guard.h" }
-module std_private_utility_exchange               [system] { header "__utility/exchange.h" }
-module std_private_utility_forward                [system] { header "__utility/forward.h" }
-module std_private_utility_forward_like           [system] { header "__utility/forward_like.h" }
-module std_private_utility_in_place               [system] { header "__utility/in_place.h" }
-module std_private_utility_integer_sequence       [system] { header "__utility/integer_sequence.h" }
-module std_private_utility_is_pointer_in_range    [system] { header "__utility/is_pointer_in_range.h" }
-module std_private_utility_is_valid_range         [system] { header "__utility/is_valid_range.h" }
-module std_private_utility_move                   [system] {
+module cxx03_std_private_utility_convert_to_integral    [system] { header "__utility/convert_to_integral.h" }
+module cxx03_std_private_utility_declval                [system] { header "__utility/declval.h" }
+module cxx03_std_private_utility_empty                  [system] { header "__utility/empty.h" }
+module cxx03_std_private_utility_exception_guard        [system] { header "__utility/exception_guard.h" }
+module cxx03_std_private_utility_exchange               [system] { header "__utility/exchange.h" }
+module cxx03_std_private_utility_forward                [system] { header "__utility/forward.h" }
+module cxx03_std_private_utility_forward_like           [system] { header "__utility/forward_like.h" }
+module cxx03_std_private_utility_in_place               [system] { header "__utility/in_place.h" }
+module cxx03_std_private_utility_integer_sequence       [system] { header "__utility/integer_sequence.h" }
+module cxx03_std_private_utility_is_pointer_in_range    [system] { header "__utility/is_pointer_in_range.h" }
+module cxx03_std_private_utility_is_valid_range         [system] { header "__utility/is_valid_range.h" }
+module cxx03_std_private_utility_move                   [system] {
   header "__utility/move.h"
   export std_private_type_traits_is_copy_constructible
   export std_private_type_traits_is_nothrow_move_constructible
   export std_private_type_traits_remove_reference
 }
-module std_private_utility_no_destroy             [system] { header "__utility/no_destroy.h" }
-module std_private_utility_pair                   [system] {
+module cxx03_std_private_utility_no_destroy             [system] { header "__utility/no_destroy.h" }
+module cxx03_std_private_utility_pair                   [system] {
   header "__utility/pair.h"
   export std_private_ranges_subrange_fwd
   export std_private_tuple_pair_like
@@ -2118,19 +2118,19 @@ module std_private_utility_pair                   [system] {
   export std_private_type_traits_is_nothrow_move_assignable
   export std_private_utility_pair_fwd
 }
-module std_private_utility_pair_fwd                [system] { header "__fwd/pair.h" }
-module std_private_utility_piecewise_construct     [system] { header "__utility/piecewise_construct.h" }
-module std_private_utility_priority_tag            [system] { header "__utility/priority_tag.h" }
-module std_private_utility_private_constructor_tag [system] { header "__utility/private_constructor_tag.h" }
-module std_private_utility_rel_ops                 [system] { header "__utility/rel_ops.h" }
-module std_private_utility_small_buffer            [system] { header "__utility/small_buffer.h" }
-module std_private_utility_swap                    [system] {
+module cxx03_std_private_utility_pair_fwd                [system] { header "__fwd/pair.h" }
+module cxx03_std_private_utility_piecewise_construct     [system] { header "__utility/piecewise_construct.h" }
+module cxx03_std_private_utility_priority_tag            [system] { header "__utility/priority_tag.h" }
+module cxx03_std_private_utility_private_constructor_tag [system] { header "__utility/private_constructor_tag.h" }
+module cxx03_std_private_utility_rel_ops                 [system] { header "__utility/rel_ops.h" }
+module cxx03_std_private_utility_small_buffer            [system] { header "__utility/small_buffer.h" }
+module cxx03_std_private_utility_swap                    [system] {
   header "__utility/swap.h"
   export std_private_type_traits_is_swappable
 }
-module std_private_utility_to_underlying           [system] { header "__utility/to_underlying.h" }
-module std_private_utility_unreachable             [system] { header "__utility/unreachable.h" }
+module cxx03_std_private_utility_to_underlying           [system] { header "__utility/to_underlying.h" }
+module cxx03_std_private_utility_unreachable             [system] { header "__utility/unreachable.h" }
 
-module std_private_variant_monostate               [system] { header "__variant/monostate.h" }
+module cxx03_std_private_variant_monostate               [system] { header "__variant/monostate.h" }
 
-module std_private_vector_fwd                      [system] { header "__fwd/vector.h" }
+module cxx03_std_private_vector_fwd                      [system] { header "__fwd/vector.h" }
diff --git a/libcxx/include/__cxx03/version b/libcxx/include/__cxx03/version
index dd0fe4b4d2817c..ed1857db05b318 100644
--- a/libcxx/include/__cxx03/version
+++ b/libcxx/include/__cxx03/version
@@ -7,8 +7,8 @@
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef _LIBCPP_VERSIONH
-#define _LIBCPP_VERSIONH
+#ifndef _LIBCPP___CXX03_VERSIONH
+#define _LIBCPP___CXX03_VERSIONH
 
 /*
   version synopsis
@@ -563,4 +563,4 @@ __cpp_lib_void_t                                        201411L <type_traits>
 
 // clang-format on
 
-#endif // _LIBCPP_VERSIONH
+#endif // _LIBCPP___CXX03_VERSIONH
diff --git a/libcxx/include/algorithm b/libcxx/include/algorithm
index 080fca8c1ca517..e593ae26ed6e24 100644
--- a/libcxx/include/algorithm
+++ b/libcxx/include/algorithm
@@ -1827,8 +1827,9 @@ template <class BidirectionalIterator, class Compare>
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/algorithm>
+#else
 #  include <__config>
 
 #  include <__algorithm/adjacent_find.h>
@@ -2056,6 +2057,6 @@ template <class BidirectionalIterator, class Compare>
 #    include <type_traits>
 #    include <utility>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_ALGORITHM
diff --git a/libcxx/include/any b/libcxx/include/any
index c8658a468713ce..934c4dbd45a68e 100644
--- a/libcxx/include/any
+++ b/libcxx/include/any
@@ -80,8 +80,9 @@ namespace std {
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/any>
+#else
 #  include <__config>
 #  include <__memory/allocator.h>
 #  include <__memory/allocator_destructor.h>
@@ -611,6 +612,6 @@ _LIBCPP_POP_MACROS
 #    include <type_traits>
 #    include <variant>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_ANY
diff --git a/libcxx/include/array b/libcxx/include/array
index 7aed70f91fdd76..516d96538f5ad7 100644
--- a/libcxx/include/array
+++ b/libcxx/include/array
@@ -111,8 +111,9 @@ template <size_t I, class T, size_t N> const T&& get(const array<T, N>&&) noexce
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/array>
+#else
 #  include <__algorithm/equal.h>
 #  include <__algorithm/fill_n.h>
 #  include <__algorithm/lexicographical_compare.h>
@@ -567,6 +568,6 @@ _LIBCPP_POP_MACROS
 #    include <type_traits>
 #    include <utility>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_ARRAY
diff --git a/libcxx/include/atomic b/libcxx/include/atomic
index 64635d099af92f..80f9e437bfaab0 100644
--- a/libcxx/include/atomic
+++ b/libcxx/include/atomic
@@ -587,8 +587,9 @@ template <class T>
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/atomic>
+#else
 #  include <__config>
 
 #  include <__atomic/aliases.h>
@@ -625,6 +626,6 @@ template <class T>
 #    include <cstring>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_ATOMIC
diff --git a/libcxx/include/barrier b/libcxx/include/barrier
index 705cb7d9ac52e1..6861532b02ba23 100644
--- a/libcxx/include/barrier
+++ b/libcxx/include/barrier
@@ -45,8 +45,9 @@ namespace std
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/barrier>
+#else
 #  include <__config>
 
 #  if _LIBCPP_HAS_THREADS
@@ -306,6 +307,6 @@ _LIBCPP_POP_MACROS
 #    include <stdexcept>
 #    include <variant>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_BARRIER
diff --git a/libcxx/include/bit b/libcxx/include/bit
index a5a317ebb232b2..3fea10ba25c4df 100644
--- a/libcxx/include/bit
+++ b/libcxx/include/bit
@@ -61,8 +61,9 @@ namespace std {
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/bit>
+#else
 #  include <__config>
 
 #  if _LIBCPP_STD_VER >= 20
@@ -95,6 +96,6 @@ namespace std {
 #    include <limits>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_BIT
diff --git a/libcxx/include/bitset b/libcxx/include/bitset
index e2dc7b459f1c4a..8b361824805571 100644
--- a/libcxx/include/bitset
+++ b/libcxx/include/bitset
@@ -126,8 +126,9 @@ template <size_t N> struct hash<std::bitset<N>>;
 
 // clang-format on
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/bitset>
+#else
 #  include <__algorithm/count.h>
 #  include <__algorithm/fill.h>
 #  include <__algorithm/fill_n.h>
@@ -971,6 +972,6 @@ _LIBCPP_POP_MACROS
 #    include <cstdlib>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_BITSET
diff --git a/libcxx/include/cassert b/libcxx/include/cassert
index 18e6e29353362d..9d3cd77fcf2d76 100644
--- a/libcxx/include/cassert
+++ b/libcxx/include/cassert
@@ -16,8 +16,9 @@ Macros:
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/cassert>
+#else
 #  include <__config>
 
 // <assert.h> is not provided by libc++
@@ -31,4 +32,4 @@ Macros:
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #    pragma GCC system_header
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
diff --git a/libcxx/include/ccomplex b/libcxx/include/ccomplex
index bd5a811b7e9fb9..10eb8a36e417c5 100644
--- a/libcxx/include/ccomplex
+++ b/libcxx/include/ccomplex
@@ -17,8 +17,9 @@
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/ccomplex>
+#else
 #  include <complex>
 
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -36,6 +37,6 @@ using __standard_header_ccomplex _LIBCPP_DEPRECATED_("Include <complex> instead.
 using __use_standard_header_ccomplex                                               = __standard_header_ccomplex;
 
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CCOMPLEX
diff --git a/libcxx/include/cctype b/libcxx/include/cctype
index ee3002b2cc5fed..abe0ec44e3a642 100644
--- a/libcxx/include/cctype
+++ b/libcxx/include/cctype
@@ -34,8 +34,9 @@ int toupper(int c);
 }  // std
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/cctype>
+#else
 #  include <__config>
 
 #  include <ctype.h>
@@ -125,6 +126,6 @@ using ::tolower _LIBCPP_USING_IF_EXISTS;
 using ::toupper _LIBCPP_USING_IF_EXISTS;
 
 _LIBCPP_END_NAMESPACE_STD
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CCTYPE
diff --git a/libcxx/include/cerrno b/libcxx/include/cerrno
index 63017d07c019ab..15925d4381095b 100644
--- a/libcxx/include/cerrno
+++ b/libcxx/include/cerrno
@@ -22,8 +22,9 @@ Macros:
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/cerrno>
+#else
 #  include <__config>
 
 #  include <errno.h>
@@ -46,6 +47,6 @@ Macros:
 // deprecated in libc++ in https://github.com/llvm/llvm-project/pull/80542.
 // Based on the post commit feedback the macro are no longer deprecated.
 // Instead libc++ leaves the deprecation to the provider of errno.h.
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CERRNO
diff --git a/libcxx/include/cfenv b/libcxx/include/cfenv
index 47ed700f4bee61..d7ea770297530c 100644
--- a/libcxx/include/cfenv
+++ b/libcxx/include/cfenv
@@ -52,8 +52,9 @@ int feupdateenv(const fenv_t* envp);
 }  // std
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/cfenv>
+#else
 #  include <__config>
 
 #  include <fenv.h>
@@ -86,8 +87,9 @@ using ::fegetenv _LIBCPP_USING_IF_EXISTS;
 using ::feholdexcept _LIBCPP_USING_IF_EXISTS;
 using ::fesetenv _LIBCPP_USING_IF_EXISTS;
 using ::feupdateenv _LIBCPP_USING_IF_EXISTS;
-#endif // 0
 
 _LIBCPP_END_NAMESPACE_STD
 
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+
 #endif // _LIBCPP_CFENV
diff --git a/libcxx/include/cfloat b/libcxx/include/cfloat
index fc37f58f4f12c4..18b4afd28ee87b 100644
--- a/libcxx/include/cfloat
+++ b/libcxx/include/cfloat
@@ -69,8 +69,9 @@ Macros:
     LDBL_TRUE_MIN       // C11
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/cfloat>
+#else
 #  include <__config>
 
 #  include <float.h>
@@ -86,6 +87,6 @@ Macros:
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #    pragma GCC system_header
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CFLOAT
diff --git a/libcxx/include/charconv b/libcxx/include/charconv
index 258779ad0a5575..3526bb9ae05f48 100644
--- a/libcxx/include/charconv
+++ b/libcxx/include/charconv
@@ -75,8 +75,9 @@ namespace std {
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/charconv>
+#else
 #  include <__config>
 
 #  if _LIBCPP_STD_VER >= 17
@@ -115,6 +116,6 @@ _LIBCPP_END_NAMESPACE_STD
 #    include <new>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CHARCONV
diff --git a/libcxx/include/chrono b/libcxx/include/chrono
index 6654a6776d3977..d9a8afef933b9b 100644
--- a/libcxx/include/chrono
+++ b/libcxx/include/chrono
@@ -939,8 +939,9 @@ constexpr chrono::year                                  operator ""y(unsigned lo
 
 // clang-format on
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/chrono>
+#else
 #  include <__config>
 
 #  include <__chrono/duration.h>
@@ -1019,6 +1020,6 @@ constexpr chrono::year                                  operator ""y(unsigned lo
 #      include <ostream>
 #    endif
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CHRONO
diff --git a/libcxx/include/cinttypes b/libcxx/include/cinttypes
index 053067d4d62502..4c7e2c5a5bf382 100644
--- a/libcxx/include/cinttypes
+++ b/libcxx/include/cinttypes
@@ -234,8 +234,9 @@ uintmax_t wcstoumax(const wchar_t* restrict nptr, wchar_t** restrict endptr, int
 }  // std
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/cinttypes>
+#else
 #  include <__config>
 
 // standard-mandated includes
@@ -269,6 +270,6 @@ using ::wcstoumax _LIBCPP_USING_IF_EXISTS;
 
 _LIBCPP_END_NAMESPACE_STD
 
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CINTTYPES
diff --git a/libcxx/include/ciso646 b/libcxx/include/ciso646
index 965b78741a0b4b..5b956401430a78 100644
--- a/libcxx/include/ciso646
+++ b/libcxx/include/ciso646
@@ -15,8 +15,9 @@
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/ciso646>
+#else
 #  include <__config>
 
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -29,6 +30,6 @@ using __standard_header_ciso646 _LIBCPP_DEPRECATED_("removed in C++20. Include <
 using __use_standard_header_ciso646 = __standard_header_ciso646;
 
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CISO646
diff --git a/libcxx/include/climits b/libcxx/include/climits
index b31f77d9e859d1..a051d964bbce95 100644
--- a/libcxx/include/climits
+++ b/libcxx/include/climits
@@ -37,8 +37,9 @@ Macros:
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/climits>
+#else
 #  include <__config>
 
 #  include <limits.h>
@@ -47,6 +48,6 @@ Macros:
 #    pragma GCC system_header
 #  endif
 
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CLIMITS
diff --git a/libcxx/include/clocale b/libcxx/include/clocale
index 4199487a3992f3..9ca82fa15be254 100644
--- a/libcxx/include/clocale
+++ b/libcxx/include/clocale
@@ -34,8 +34,9 @@ lconv* localeconv();
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/clocale>
+#else
 #  include <__config>
 
 #  if __has_include(<locale.h>)
@@ -54,6 +55,6 @@ using ::localeconv _LIBCPP_USING_IF_EXISTS;
 
 _LIBCPP_END_NAMESPACE_STD
 
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CLOCALE
diff --git a/libcxx/include/cmath b/libcxx/include/cmath
index ff8e7e1bf14819..9cf044d4d023be 100644
--- a/libcxx/include/cmath
+++ b/libcxx/include/cmath
@@ -312,8 +312,9 @@ constexpr long double lerp(long double a, long double b, long double t) noexcept
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/cmath>
+#else
 #  include <__config>
 #  include <__math/hypot.h>
 #  include <__type_traits/enable_if.h>
@@ -616,6 +617,6 @@ _LIBCPP_POP_MACROS
 #  if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CMATH
diff --git a/libcxx/include/codecvt b/libcxx/include/codecvt
index ce6d995f37aba9..f7ae804c6789c5 100644
--- a/libcxx/include/codecvt
+++ b/libcxx/include/codecvt
@@ -54,8 +54,9 @@ class codecvt_utf8_utf16
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/codecvt>
+#else
 #  include <__config>
 #  include <__locale>
 #  include <version>
@@ -595,6 +596,6 @@ _LIBCPP_END_NAMESPACE_STD
 #    include <type_traits>
 #    include <typeinfo>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CODECVT
diff --git a/libcxx/include/compare b/libcxx/include/compare
index 97871e679bf32e..0c19a5bb5f8106 100644
--- a/libcxx/include/compare
+++ b/libcxx/include/compare
@@ -140,8 +140,9 @@ namespace std {
 }
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/compare>
+#else
 #  include <__config>
 
 #  if _LIBCPP_STD_VER >= 20
@@ -171,6 +172,6 @@ namespace std {
 #    include <cstddef>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_COMPARE
diff --git a/libcxx/include/complex b/libcxx/include/complex
index bfc27bb3834163..bc73f313c2ce16 100644
--- a/libcxx/include/complex
+++ b/libcxx/include/complex
@@ -256,8 +256,9 @@ template<class T> complex<T> tanh (const complex<T>&);
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/complex>
+#else
 #  include <__config>
 #  include <__fwd/complex.h>
 #  include <__fwd/tuple.h>
@@ -1476,6 +1477,6 @@ _LIBCPP_POP_MACROS
 #    include <stdexcept>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_COMPLEX
diff --git a/libcxx/include/complex.h b/libcxx/include/complex.h
index 5bc7ab435ca725..8a1f92689601f4 100644
--- a/libcxx/include/complex.h
+++ b/libcxx/include/complex.h
@@ -17,8 +17,9 @@
 
 */
 
-#if 0
-#else // 0
+#if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/complex.h>
+#else
 #  include <__config>
 
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -30,6 +31,6 @@
 #  elif __has_include_next(<complex.h>)
 #    include_next <complex.h>
 #  endif
-#endif // 0
+#endif // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_COMPLEX_H
diff --git a/libcxx/include/concepts b/libcxx/include/concepts
index 2fe5400c2c715a..ff3fd153a38d5e 100644
--- a/libcxx/include/concepts
+++ b/libcxx/include/concepts
@@ -129,8 +129,9 @@ namespace std {
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/concepts>
+#else
 #  include <__config>
 
 #  if _LIBCPP_STD_VER >= 20
@@ -168,6 +169,6 @@ namespace std {
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #    pragma GCC system_header
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CONCEPTS
diff --git a/libcxx/include/condition_variable b/libcxx/include/condition_variable
index f351f13b713893..81699bf6adbf74 100644
--- a/libcxx/include/condition_variable
+++ b/libcxx/include/condition_variable
@@ -118,8 +118,9 @@ public:
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/condition_variable>
+#else
 #  include <__chrono/duration.h>
 #  include <__chrono/steady_clock.h>
 #  include <__chrono/time_point.h>
@@ -367,6 +368,6 @@ _LIBCPP_POP_MACROS
 #    include <type_traits>
 #    include <typeinfo>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CONDITION_VARIABLE
diff --git a/libcxx/include/coroutine b/libcxx/include/coroutine
index c39aa9a3da0ce2..d745844da8e9d1 100644
--- a/libcxx/include/coroutine
+++ b/libcxx/include/coroutine
@@ -38,8 +38,9 @@ struct suspend_always;
 
  */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/coroutine>
+#else
 #  include <__config>
 
 #  if _LIBCPP_STD_VER >= 20
@@ -66,6 +67,6 @@ struct suspend_always;
 #    include <limits>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_COROUTINE
diff --git a/libcxx/include/csetjmp b/libcxx/include/csetjmp
index bd512720be0080..39ab035a5f3848 100644
--- a/libcxx/include/csetjmp
+++ b/libcxx/include/csetjmp
@@ -30,8 +30,9 @@ void longjmp(jmp_buf env, int val);
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/csetjmp>
+#else
 #  include <__config>
 
 // <setjmp.h> is not provided by libc++
@@ -53,6 +54,6 @@ using ::longjmp _LIBCPP_USING_IF_EXISTS;
 
 _LIBCPP_END_NAMESPACE_STD
 
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CSETJMP
diff --git a/libcxx/include/csignal b/libcxx/include/csignal
index 92edf08f683e71..a15d17d3169da3 100644
--- a/libcxx/include/csignal
+++ b/libcxx/include/csignal
@@ -39,8 +39,9 @@ int raise(int sig);
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/csignal>
+#else
 #  include <__config>
 
 // <signal.h> is not provided by libc++
@@ -63,6 +64,6 @@ using ::raise _LIBCPP_USING_IF_EXISTS;
 
 _LIBCPP_END_NAMESPACE_STD
 
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CSIGNAL
diff --git a/libcxx/include/cstdalign b/libcxx/include/cstdalign
index ab78344cd36c66..6a277e4673003b 100644
--- a/libcxx/include/cstdalign
+++ b/libcxx/include/cstdalign
@@ -20,8 +20,9 @@ Macros:
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/__config>
+#else
 #  include <__config>
 
 // <stdalign.h> is not provided by libc++
@@ -53,6 +54,6 @@ using __standard_header_cstdalign _LIBCPP_DEPRECATED = void;
 using __use_standard_header_cstdalign                = __standard_header_cstdalign;
 
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CSTDALIGN
diff --git a/libcxx/include/cstdarg b/libcxx/include/cstdarg
index 1930fc95cf8512..069fe100880a2a 100644
--- a/libcxx/include/cstdarg
+++ b/libcxx/include/cstdarg
@@ -31,8 +31,9 @@ Types:
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/cstdarg>
+#else
 #  include <__config>
 
 // <stdarg.h> is not provided by libc++
@@ -53,6 +54,6 @@ using ::va_list _LIBCPP_USING_IF_EXISTS;
 
 _LIBCPP_END_NAMESPACE_STD
 
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CSTDARG
diff --git a/libcxx/include/cstdbool b/libcxx/include/cstdbool
index a436c5c851a84a..a12954f07398cf 100644
--- a/libcxx/include/cstdbool
+++ b/libcxx/include/cstdbool
@@ -19,8 +19,9 @@ Macros:
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/cstdbool>
+#else
 #  include <__config>
 
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -41,6 +42,6 @@ using __standard_header_cstdbool _LIBCPP_DEPRECATED = void;
 using __use_standard_header_cstdbool                = __standard_header_cstdbool;
 
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CSTDBOOL
diff --git a/libcxx/include/cstddef b/libcxx/include/cstddef
index 2e79d05243666d..d86d87bbbb9b50 100644
--- a/libcxx/include/cstddef
+++ b/libcxx/include/cstddef
@@ -33,8 +33,9 @@ Types:
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/cstddef>
+#else
 #  include <__config>
 #  include <version>
 
@@ -57,6 +58,6 @@ Types:
 #  include <__cstddef/nullptr_t.h>
 #  include <__cstddef/ptrdiff_t.h>
 #  include <__cstddef/size_t.h>
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CSTDDEF
diff --git a/libcxx/include/cstdint b/libcxx/include/cstdint
index 594478930500c2..11839eeb071e5f 100644
--- a/libcxx/include/cstdint
+++ b/libcxx/include/cstdint
@@ -140,8 +140,9 @@ Types:
 }  // std
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/cstdint>
+#else
 #  include <__config>
 
 #  if __has_include(<stdint.h>)
@@ -192,6 +193,6 @@ using ::uintmax_t _LIBCPP_USING_IF_EXISTS;
 
 _LIBCPP_END_NAMESPACE_STD
 
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CSTDINT
diff --git a/libcxx/include/cstdio b/libcxx/include/cstdio
index 1b1a05d264b370..df9da1b4c87840 100644
--- a/libcxx/include/cstdio
+++ b/libcxx/include/cstdio
@@ -95,8 +95,9 @@ void perror(const char* s);
 }  // std
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/cstdio>
+#else
 #  include <__config>
 #  include <__cstddef/size_t.h>
 
@@ -173,6 +174,6 @@ using ::vprintf _LIBCPP_USING_IF_EXISTS;
 
 _LIBCPP_END_NAMESPACE_STD
 
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CSTDIO
diff --git a/libcxx/include/cstdlib b/libcxx/include/cstdlib
index 03e68957f71e47..adeee29b93fd72 100644
--- a/libcxx/include/cstdlib
+++ b/libcxx/include/cstdlib
@@ -81,8 +81,9 @@ void *aligned_alloc(size_t alignment, size_t size);                       // C11
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/cstdlib>
+#else
 #  include <__config>
 #  include <__cstddef/size_t.h>
 
@@ -153,6 +154,6 @@ using ::aligned_alloc _LIBCPP_USING_IF_EXISTS;
 
 _LIBCPP_END_NAMESPACE_STD
 
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CSTDLIB
diff --git a/libcxx/include/cstring b/libcxx/include/cstring
index f4148858641061..4aa14feeec2809 100644
--- a/libcxx/include/cstring
+++ b/libcxx/include/cstring
@@ -56,8 +56,9 @@ size_t strlen(const char* s);
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/cstring>
+#else
 #  include <__config>
 #  include <__cstddef/size_t.h>
 #  include <__type_traits/is_constant_evaluated.h>
@@ -103,6 +104,6 @@ using ::strlen _LIBCPP_USING_IF_EXISTS;
 
 _LIBCPP_END_NAMESPACE_STD
 
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CSTRING
diff --git a/libcxx/include/ctgmath b/libcxx/include/ctgmath
index d8bb64032eca48..237f474f01c243 100644
--- a/libcxx/include/ctgmath
+++ b/libcxx/include/ctgmath
@@ -18,8 +18,9 @@
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/ctgmath>
+#else
 #  include <cmath>
 #  include <complex>
 
@@ -39,6 +40,6 @@ using __use_standard_header_ctgmath = __standard_header_ctgmath;
 
 #  endif
 
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CTGMATH
diff --git a/libcxx/include/ctime b/libcxx/include/ctime
index 6c5b0166f9e427..1e845a8de0930c 100644
--- a/libcxx/include/ctime
+++ b/libcxx/include/ctime
@@ -45,8 +45,9 @@ int timespec_get( struct timespec *ts, int base); // C++17
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/ctime>
+#else
 #  include <__config>
 #  include <__cstddef/size_t.h>
 
@@ -85,6 +86,6 @@ using ::timespec_get _LIBCPP_USING_IF_EXISTS;
 
 _LIBCPP_END_NAMESPACE_STD
 
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CTIME
diff --git a/libcxx/include/ctype.h b/libcxx/include/ctype.h
index 611f94036a1bd8..066f45018bbf57 100644
--- a/libcxx/include/ctype.h
+++ b/libcxx/include/ctype.h
@@ -29,8 +29,9 @@ int tolower(int c);
 int toupper(int c);
 */
 
-#if 0
-#else // 0
+#if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/ctype.h>
+#else
 #  include <__config>
 
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -59,6 +60,6 @@ int toupper(int c);
 #    undef toupper
 
 #  endif
-#endif // 0
+#endif // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CTYPE_H
diff --git a/libcxx/include/cuchar b/libcxx/include/cuchar
index 3ace72f1f8b1f6..38505eb336f847 100644
--- a/libcxx/include/cuchar
+++ b/libcxx/include/cuchar
@@ -36,8 +36,9 @@ size_t c32rtomb(char* s, char32_t c32, mbstate_t* ps);
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/cuchar>
+#else
 #  include <__config>
 #  include <__cstddef/size_t.h>
 
@@ -71,8 +72,9 @@ using ::mbrtoc32 _LIBCPP_USING_IF_EXISTS;
 using ::c32rtomb _LIBCPP_USING_IF_EXISTS;
 
 #  endif // _LIBCPP_CXX03_LANG
-#endif   // 0
 
 _LIBCPP_END_NAMESPACE_STD
 
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+
 #endif // _LIBCPP_CUCHAR
diff --git a/libcxx/include/cwchar b/libcxx/include/cwchar
index f97d9c43433a1f..4a4b052831a9ac 100644
--- a/libcxx/include/cwchar
+++ b/libcxx/include/cwchar
@@ -102,8 +102,9 @@ size_t wcsrtombs(char* restrict dst, const wchar_t** restrict src, size_t len,
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/cwchar>
+#else
 #  include <__config>
 #  include <__cstddef/size_t.h>
 #  include <__type_traits/copy_cv.h>
@@ -259,6 +260,6 @@ _LIBCPP_END_NAMESPACE_STD
 #  if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #    include <cstddef>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CWCHAR
diff --git a/libcxx/include/cwctype b/libcxx/include/cwctype
index 848aadd8a1d11d..b7f9cbb835e328 100644
--- a/libcxx/include/cwctype
+++ b/libcxx/include/cwctype
@@ -49,8 +49,9 @@ wctrans_t wctrans(const char* property);
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/cwctype>
+#else
 #  include <__config>
 #  include <cctype>
 
@@ -96,6 +97,6 @@ using ::wctrans _LIBCPP_USING_IF_EXISTS;
 
 _LIBCPP_END_NAMESPACE_STD
 
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_CWCTYPE
diff --git a/libcxx/include/deque b/libcxx/include/deque
index 63eb8365531069..883332f1ebdcb0 100644
--- a/libcxx/include/deque
+++ b/libcxx/include/deque
@@ -177,8 +177,9 @@ template <class T, class Allocator, class Predicate>
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/deque>
+#else
 #  include <__algorithm/copy.h>
 #  include <__algorithm/copy_backward.h>
 #  include <__algorithm/copy_n.h>
@@ -2648,6 +2649,6 @@ _LIBCPP_POP_MACROS
 #    include <type_traits>
 #    include <typeinfo>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_DEQUE
diff --git a/libcxx/include/errno.h b/libcxx/include/errno.h
index 648d22e98846bb..692f00f022c53c 100644
--- a/libcxx/include/errno.h
+++ b/libcxx/include/errno.h
@@ -22,8 +22,9 @@
 
 */
 
-#if 0
-#else // 0
+#if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/errno.h>
+#else
 #  include <__config>
 
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -397,6 +398,6 @@ static const int __elast2 = 105;
 #    endif
 
 #  endif // __cplusplus
-#endif   // 0
+#endif   // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_ERRNO_H
diff --git a/libcxx/include/exception b/libcxx/include/exception
index 6565f1b4641d1d..74229cd16c0069 100644
--- a/libcxx/include/exception
+++ b/libcxx/include/exception
@@ -76,8 +76,9 @@ template <class E> void rethrow_if_nested(const E& e);
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/exception>
+#else
 #  include <__config>
 #  include <__exception/exception.h>
 #  include <__exception/exception_ptr.h>
@@ -96,6 +97,6 @@ template <class E> void rethrow_if_nested(const E& e);
 #    include <new>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_EXCEPTION
diff --git a/libcxx/include/execution b/libcxx/include/execution
index e8ef8b1e6ee79b..7c695997cd0479 100644
--- a/libcxx/include/execution
+++ b/libcxx/include/execution
@@ -32,8 +32,9 @@ namespace std {
 }
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/execution>
+#else
 #  include <__config>
 #  include <__type_traits/is_execution_policy.h>
 #  include <__type_traits/is_same.h>
@@ -147,6 +148,6 @@ _LIBCPP_END_NAMESPACE_STD
 #  if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #    include <cstddef>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_EXECUTION
diff --git a/libcxx/include/expected b/libcxx/include/expected
index ac2415ff5a62d8..38038d328f17d0 100644
--- a/libcxx/include/expected
+++ b/libcxx/include/expected
@@ -38,8 +38,9 @@ namespace std {
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/expected>
+#else
 #  include <__config>
 
 #  if _LIBCPP_STD_VER >= 23
@@ -54,6 +55,6 @@ namespace std {
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #    pragma GCC system_header
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_EXPECTED
diff --git a/libcxx/include/experimental/iterator b/libcxx/include/experimental/iterator
index 5075de537b6ac2..8448654e8d94ca 100644
--- a/libcxx/include/experimental/iterator
+++ b/libcxx/include/experimental/iterator
@@ -52,8 +52,9 @@ namespace std {
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/experimental/iterator>
+#else
 #  include <__config>
 #  include <__memory/addressof.h>
 #  include <__ostream/basic_ostream.h>
@@ -128,6 +129,6 @@ _LIBCPP_POP_MACROS
 #    include <iosfwd>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_EXPERIMENTAL_ITERATOR
diff --git a/libcxx/include/experimental/memory b/libcxx/include/experimental/memory
index cb02ecb8e2bee7..1daa1cc4f3ed7c 100644
--- a/libcxx/include/experimental/memory
+++ b/libcxx/include/experimental/memory
@@ -49,8 +49,9 @@ public:
 }
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/experimental/memory>
+#else
 #  include <__config>
 #  include <__cstddef/nullptr_t.h>
 #  include <__cstddef/size_t.h>
@@ -199,6 +200,6 @@ _LIBCPP_END_NAMESPACE_STD
 #    include <cstddef>
 #    include <limits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif /* _LIBCPP_EXPERIMENTAL_MEMORY */
diff --git a/libcxx/include/experimental/propagate_const b/libcxx/include/experimental/propagate_const
index 4d06e9f844acfa..8af3be366ad580 100644
--- a/libcxx/include/experimental/propagate_const
+++ b/libcxx/include/experimental/propagate_const
@@ -107,8 +107,9 @@
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/experimental/propagate_const>
+#else
 #  include <__config>
 #  include <__cstddef/nullptr_t.h>
 #  include <__cstddef/size_t.h>
@@ -491,6 +492,6 @@ _LIBCPP_POP_MACROS
 #    include <cstddef>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_EXPERIMENTAL_PROPAGATE_CONST
diff --git a/libcxx/include/experimental/simd b/libcxx/include/experimental/simd
index 374ab57cdbca55..224cc75ba0eb0a 100644
--- a/libcxx/include/experimental/simd
+++ b/libcxx/include/experimental/simd
@@ -75,8 +75,9 @@ inline namespace parallelism_v2 {
 #  pragma GCC system_header
 #endif
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/experimental/simd>
+#else
 #  include <__config>
 #  include <experimental/__simd/aligned_tag.h>
 #  include <experimental/__simd/declaration.h>
@@ -90,6 +91,6 @@ inline namespace parallelism_v2 {
 #  if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #    include <cstddef>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif /* _LIBCPP_EXPERIMENTAL_SIMD */
diff --git a/libcxx/include/experimental/type_traits b/libcxx/include/experimental/type_traits
index 0da95b79f8ab77..0353526bc8f66b 100644
--- a/libcxx/include/experimental/type_traits
+++ b/libcxx/include/experimental/type_traits
@@ -68,8 +68,9 @@ inline namespace fundamentals_v1 {
 
  */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/experimental/type_traits>
+#else
 #  include <__config>
 
 #  if _LIBCPP_STD_VER >= 14
@@ -155,6 +156,6 @@ _LIBCPP_END_NAMESPACE_LFTS
 #    endif
 
 #  endif /* _LIBCPP_STD_VER >= 14 */
-#endif   // 0
+#endif   // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif /* _LIBCPP_EXPERIMENTAL_TYPE_TRAITS */
diff --git a/libcxx/include/experimental/utility b/libcxx/include/experimental/utility
index 1cb9c6a3617a8e..0c9b2b0c789ca4 100644
--- a/libcxx/include/experimental/utility
+++ b/libcxx/include/experimental/utility
@@ -30,8 +30,9 @@ inline namespace fundamentals_v1 {
 
  */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/experimental/utility>
+#else
 #  include <__config>
 #  include <utility>
 
@@ -48,6 +49,6 @@ _LIBCPP_END_NAMESPACE_LFTS
 #  if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #    include <cstddef>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif /* _LIBCPP_EXPERIMENTAL_UTILITY */
diff --git a/libcxx/include/ext/hash_map b/libcxx/include/ext/hash_map
index c9e35479b88c89..c0336620cf88f8 100644
--- a/libcxx/include/ext/hash_map
+++ b/libcxx/include/ext/hash_map
@@ -201,8 +201,9 @@ template <class Key, class T, class Hash, class Pred, class Alloc>
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/ext/hash_map>
+#else
 #  include <__config>
 #  include <__hash_table>
 #  include <algorithm>
@@ -870,6 +871,6 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const hash_multimap<_Key, _Tp, _Has
 #    include <iterator>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_HASH_MAP
diff --git a/libcxx/include/ext/hash_set b/libcxx/include/ext/hash_set
index 073fcf2fd9911b..2f86649d6e983f 100644
--- a/libcxx/include/ext/hash_set
+++ b/libcxx/include/ext/hash_set
@@ -192,8 +192,9 @@ template <class Value, class Hash, class Pred, class Alloc>
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/ext/hash_set>
+#else
 #  include <__config>
 #  include <__hash_table>
 #  include <algorithm>
@@ -582,6 +583,6 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const hash_multiset<_Value, _Hash,
 #    include <iterator>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_HASH_SET
diff --git a/libcxx/include/fenv.h b/libcxx/include/fenv.h
index dddf59d47f0214..157c24faa1042e 100644
--- a/libcxx/include/fenv.h
+++ b/libcxx/include/fenv.h
@@ -49,8 +49,9 @@ int feupdateenv(const fenv_t* envp);
 
 */
 
-#if 0
-#else // 0
+#if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/fenv.h>
+#else
 #  include <__config>
 
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -112,6 +113,6 @@ extern "C++" {
 } // extern "C++"
 
 #  endif // defined(__cplusplus)
-#endif   // 0
+#endif   // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_FENV_H
diff --git a/libcxx/include/filesystem b/libcxx/include/filesystem
index f6f5dcb1cc4053..f9eb0ea1e24d2f 100644
--- a/libcxx/include/filesystem
+++ b/libcxx/include/filesystem
@@ -533,8 +533,9 @@ inline constexpr bool std::ranges::enable_view<std::filesystem::recursive_direct
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/filesystem>
+#else
 #  include <__config>
 
 #  if _LIBCPP_STD_VER >= 17
@@ -575,6 +576,6 @@ inline constexpr bool std::ranges::enable_view<std::filesystem::recursive_direct
 #    include <new>
 #    include <system_error>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_FILESYSTEM
diff --git a/libcxx/include/flat_map b/libcxx/include/flat_map
index 1f2c204e2ef215..dbe5d8ee8f8c3c 100644
--- a/libcxx/include/flat_map
+++ b/libcxx/include/flat_map
@@ -37,8 +37,9 @@ namespace std {
       erase_if(flat_map<Key, T, Compare, KeyContainer, MappedContainer>& c, Predicate pred);
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/__config>
+#else
 #  include <__config>
 
 #  if _LIBCPP_STD_VER >= 23
@@ -56,6 +57,6 @@ namespace std {
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #    pragma GCC system_header
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_FLAT_MAP
diff --git a/libcxx/include/float.h b/libcxx/include/float.h
index 2874323538b707..a6e79db912487a 100644
--- a/libcxx/include/float.h
+++ b/libcxx/include/float.h
@@ -70,8 +70,9 @@
 
 */
 
-#if 0
-#else // 0
+#if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/float.h>
+#else
 #  include <__config>
 
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -93,6 +94,6 @@
 #    endif
 
 #  endif // __cplusplus
-#endif   // 0
+#endif   // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_FLOAT_H
diff --git a/libcxx/include/format b/libcxx/include/format
index 6ac1e928b26a59..ecf8f7ce1eedba 100644
--- a/libcxx/include/format
+++ b/libcxx/include/format
@@ -191,8 +191,9 @@ namespace std {
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/format>
+#else
 #  include <__config>
 
 #  if _LIBCPP_STD_VER >= 20
@@ -258,6 +259,6 @@ namespace std {
 #      include <cwchar>
 #    endif
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_FORMAT
diff --git a/libcxx/include/forward_list b/libcxx/include/forward_list
index 23e8e51632171e..c1ab155d5a133e 100644
--- a/libcxx/include/forward_list
+++ b/libcxx/include/forward_list
@@ -195,8 +195,9 @@ template <class T, class Allocator, class Predicate>
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/forward_list>
+#else
 #  include <__algorithm/comp.h>
 #  include <__algorithm/lexicographical_compare.h>
 #  include <__algorithm/lexicographical_compare_three_way.h>
@@ -1586,6 +1587,6 @@ _LIBCPP_POP_MACROS
 #    include <type_traits>
 #    include <typeinfo>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_FORWARD_LIST
diff --git a/libcxx/include/fstream b/libcxx/include/fstream
index 9722440808e365..f0e9425e0a53d9 100644
--- a/libcxx/include/fstream
+++ b/libcxx/include/fstream
@@ -186,8 +186,9 @@ typedef basic_fstream<wchar_t> wfstream;
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/fstream>
+#else
 #  include <__algorithm/max.h>
 #  include <__assert>
 #  include <__config>
@@ -1585,6 +1586,6 @@ _LIBCPP_POP_MACROS
 #  if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 23
 #    include <filesystem>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_FSTREAM
diff --git a/libcxx/include/functional b/libcxx/include/functional
index 69f71314f05148..4bb163fd1f33cf 100644
--- a/libcxx/include/functional
+++ b/libcxx/include/functional
@@ -527,8 +527,9 @@ POLICY:  For non-variadic implementations, the number of arguments is limited
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/functional>
+#else
 #  include <__config>
 
 #  include <__functional/binary_function.h>
@@ -596,6 +597,6 @@ POLICY:  For non-variadic implementations, the number of arguments is limited
 #    include <utility>
 #    include <vector>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_FUNCTIONAL
diff --git a/libcxx/include/future b/libcxx/include/future
index 3a612d80bc85c6..95a51fa425e411 100644
--- a/libcxx/include/future
+++ b/libcxx/include/future
@@ -362,8 +362,9 @@ template <class R, class Alloc> struct uses_allocator<packaged_task<R>, Alloc>;
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/future>
+#else
 #  include <__config>
 
 #  if _LIBCPP_HAS_THREADS
@@ -2084,6 +2085,6 @@ _LIBCPP_POP_MACROS
 #    include <system_error>
 #    include <thread>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_FUTURE
diff --git a/libcxx/include/initializer_list b/libcxx/include/initializer_list
index 46ffb95f83a697..07c51f32fee7d8 100644
--- a/libcxx/include/initializer_list
+++ b/libcxx/include/initializer_list
@@ -42,8 +42,9 @@ template<class E> const E* end(initializer_list<E> il) noexcept; // constexpr in
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/initializer_list>
+#else
 #  include <__config>
 #  include <__cstddef/size_t.h>
 #  include <version>
@@ -101,6 +102,6 @@ inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 const _Ep* end(initia
 #  if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #    include <cstddef>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_INITIALIZER_LIST
diff --git a/libcxx/include/inttypes.h b/libcxx/include/inttypes.h
index 552324516c11ff..1869284550e907 100644
--- a/libcxx/include/inttypes.h
+++ b/libcxx/include/inttypes.h
@@ -235,8 +235,9 @@ uintmax_t wcstoumax(const wchar_t* restrict nptr, wchar_t** restrict endptr, int
 
 */
 
-#if 0
-#else // 0
+#if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/inttypes.h>
+#else
 #  include <__config>
 
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -262,6 +263,6 @@ uintmax_t wcstoumax(const wchar_t* restrict nptr, wchar_t** restrict endptr, int
 #    undef imaxdiv
 
 #  endif // __cplusplus
-#endif   // 0
+#endif   // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_INTTYPES_H
diff --git a/libcxx/include/iomanip b/libcxx/include/iomanip
index 84842dc3fa6ca2..a97b4a94d232ff 100644
--- a/libcxx/include/iomanip
+++ b/libcxx/include/iomanip
@@ -42,8 +42,9 @@ template <class charT, class traits, class Allocator>
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/iomanip>
+#else
 #  include <__config>
 
 #  if _LIBCPP_HAS_LOCALIZATION
@@ -563,6 +564,6 @@ _LIBCPP_END_NAMESPACE_STD
 #    include <unordered_map>
 #    include <vector>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_IOMANIP
diff --git a/libcxx/include/ios b/libcxx/include/ios
index 23e8fdf1a6075e..7c2ee83d4624bf 100644
--- a/libcxx/include/ios
+++ b/libcxx/include/ios
@@ -211,8 +211,9 @@ storage-class-specifier const error_category& iostream_category() noexcept;
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/ios>
+#else
 #  include <__config>
 
 #  if _LIBCPP_HAS_LOCALIZATION
@@ -891,6 +892,6 @@ _LIBCPP_POP_MACROS
 #    include <type_traits>
 #    include <typeinfo>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_IOS
diff --git a/libcxx/include/iosfwd b/libcxx/include/iosfwd
index 3f8a4cd3d4d8c3..708134daf98c9d 100644
--- a/libcxx/include/iosfwd
+++ b/libcxx/include/iosfwd
@@ -105,8 +105,9 @@ using wosyncstream = basic_osyncstream<wchar_t>;  // C++20
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/iosfwd>
+#else
 #  include <__config>
 #  include <__fwd/fstream.h>
 #  include <__fwd/ios.h>
@@ -185,6 +186,6 @@ public:
 
 _LIBCPP_END_NAMESPACE_STD
 
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_IOSFWD
diff --git a/libcxx/include/iostream b/libcxx/include/iostream
index 067a7c111f4374..0e83f0002ae6e6 100644
--- a/libcxx/include/iostream
+++ b/libcxx/include/iostream
@@ -33,8 +33,9 @@ extern wostream wclog;
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/iostream>
+#else
 #  include <__config>
 #  include <version>
 
@@ -66,6 +67,6 @@ extern _LIBCPP_EXPORTED_FROM_ABI wostream wclog;
 
 _LIBCPP_END_NAMESPACE_STD
 
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_IOSTREAM
diff --git a/libcxx/include/istream b/libcxx/include/istream
index c2edc9ab226082..4b177c41cc325e 100644
--- a/libcxx/include/istream
+++ b/libcxx/include/istream
@@ -158,8 +158,9 @@ template <class Stream, class T>
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/istream>
+#else
 #  include <__config>
 
 #  if _LIBCPP_HAS_LOCALIZATION
@@ -1383,6 +1384,6 @@ _LIBCPP_END_NAMESPACE_STD
 
 _LIBCPP_POP_MACROS
 
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_ISTREAM
diff --git a/libcxx/include/iterator b/libcxx/include/iterator
index b9bc1881106850..74ee712b945b33 100644
--- a/libcxx/include/iterator
+++ b/libcxx/include/iterator
@@ -679,8 +679,9 @@ template <class E> constexpr const E* data(initializer_list<E> il) noexcept;
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/iterator>
+#else
 #  include <__config>
 #  include <__iterator/access.h>
 #  include <__iterator/advance.h>
@@ -753,6 +754,6 @@ template <class E> constexpr const E* data(initializer_list<E> il) noexcept;
 #    include <typeinfo>
 #    include <utility>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_ITERATOR
diff --git a/libcxx/include/latch b/libcxx/include/latch
index d21b689cc48152..471ef143e8d5a1 100644
--- a/libcxx/include/latch
+++ b/libcxx/include/latch
@@ -40,8 +40,9 @@ namespace std
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/latch>
+#else
 #  include <__config>
 
 #  if _LIBCPP_HAS_THREADS
@@ -129,6 +130,6 @@ _LIBCPP_POP_MACROS
 #    include <atomic>
 #    include <cstddef>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_LATCH
diff --git a/libcxx/include/limits b/libcxx/include/limits
index c27950f42106d9..1c1a0b29b71877 100644
--- a/libcxx/include/limits
+++ b/libcxx/include/limits
@@ -102,8 +102,9 @@ template<> class numeric_limits<cv long double>;
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/limits>
+#else
 #  include <__config>
 #  include <__type_traits/is_arithmetic.h>
 #  include <__type_traits/is_signed.h>
@@ -535,6 +536,6 @@ _LIBCPP_POP_MACROS
 #  if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_LIMITS
diff --git a/libcxx/include/list b/libcxx/include/list
index a9d14272742bd4..5e2fd40d6ee9d2 100644
--- a/libcxx/include/list
+++ b/libcxx/include/list
@@ -197,8 +197,9 @@ template <class T, class Allocator, class Predicate>
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/list>
+#else
 #  include <__algorithm/comp.h>
 #  include <__algorithm/equal.h>
 #  include <__algorithm/lexicographical_compare.h>
@@ -1749,6 +1750,6 @@ _LIBCPP_POP_MACROS
 #    include <type_traits>
 #    include <typeinfo>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_LIST
diff --git a/libcxx/include/locale b/libcxx/include/locale
index 8421dc696106a6..981f25ed1e98cf 100644
--- a/libcxx/include/locale
+++ b/libcxx/include/locale
@@ -187,8 +187,9 @@ template <class charT> class messages_byname;
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/locale>
+#else
 #  include <__config>
 
 #  if _LIBCPP_HAS_LOCALIZATION
@@ -3700,6 +3701,6 @@ _LIBCPP_POP_MACROS
 #    include <type_traits>
 #    include <typeinfo>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_LOCALE
diff --git a/libcxx/include/map b/libcxx/include/map
index 90f807f89bdcf6..103a4cfcba1289 100644
--- a/libcxx/include/map
+++ b/libcxx/include/map
@@ -571,8 +571,9 @@ erase_if(multimap<Key, T, Compare, Allocator>& c, Predicate pred);  // C++20
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/map>
+#else
 #  include <__algorithm/equal.h>
 #  include <__algorithm/lexicographical_compare.h>
 #  include <__algorithm/lexicographical_compare_three_way.h>
@@ -2069,7 +2070,7 @@ template <class _Key,
           class            = enable_if_t<!__is_allocator<_Compare>::value, void>,
           class            = enable_if_t<__is_allocator<_Allocator>::value, void>>
 multimap(initializer_list<pair<_Key, _Tp>>,
-         _Compare   = _Compare(),
+         _Compare = _Compare(),
          _Allocator = _Allocator()) -> multimap<remove_const_t<_Key>, _Tp, _Compare, _Allocator>;
 
 template <class _InputIterator,
@@ -2203,6 +2204,6 @@ _LIBCPP_POP_MACROS
 #    include <type_traits>
 #    include <utility>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_MAP
diff --git a/libcxx/include/math.h b/libcxx/include/math.h
index c338d3225dd55d..eab4f239eedb19 100644
--- a/libcxx/include/math.h
+++ b/libcxx/include/math.h
@@ -291,8 +291,9 @@ long double    truncl(long double x);
 
 */
 
-#  if 0
-#  else // 0
+#if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/math.h>
+#else
 #    include <__config>
 
 #    if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -504,7 +505,7 @@ using std::__math::trunc;
 } // extern "C++"
 
 #    endif // __cplusplus
-#  endif   // 0
+#  endif   // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #else // _LIBCPP_MATH_H
 
diff --git a/libcxx/include/mdspan b/libcxx/include/mdspan
index 02582c6f39c15d..a67ed1834e3bde 100644
--- a/libcxx/include/mdspan
+++ b/libcxx/include/mdspan
@@ -408,8 +408,9 @@ namespace std {
 #ifndef _LIBCPP_MDSPAN
 #define _LIBCPP_MDSPAN
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/mdspan>
+#else
 #  include <__config>
 
 #  if _LIBCPP_STD_VER >= 23
@@ -427,6 +428,6 @@ namespace std {
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #    pragma GCC system_header
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_MDSPAN
diff --git a/libcxx/include/memory b/libcxx/include/memory
index 883666b9e1beff..fc62606ea0fd33 100644
--- a/libcxx/include/memory
+++ b/libcxx/include/memory
@@ -934,8 +934,9 @@ template<class Pointer = void, class Smart, class... Args>
 
 // clang-format on
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/memory>
+#else
 #  include <__config>
 #  include <__memory/addressof.h>
 #  include <__memory/align.h>
@@ -996,6 +997,6 @@ template<class Pointer = void, class Smart, class... Args>
 #    include <typeinfo>
 #    include <utility>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_MEMORY
diff --git a/libcxx/include/memory_resource b/libcxx/include/memory_resource
index e852e96536c977..5464fc09c7cdcc 100644
--- a/libcxx/include/memory_resource
+++ b/libcxx/include/memory_resource
@@ -49,8 +49,9 @@ namespace std::pmr {
 
  */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/memory_resource>
+#else
 #  include <__config>
 
 #  if _LIBCPP_STD_VER >= 17
@@ -75,6 +76,6 @@ namespace std::pmr {
 #  if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #    include <stdexcept>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif /* _LIBCPP_MEMORY_RESOURCE */
diff --git a/libcxx/include/mutex b/libcxx/include/mutex
index b699439c5ce5a4..9b128e8710aaeb 100644
--- a/libcxx/include/mutex
+++ b/libcxx/include/mutex
@@ -186,8 +186,9 @@ template<class Callable, class ...Args>
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/mutex>
+#else
 #  include <__chrono/steady_clock.h>
 #  include <__chrono/time_point.h>
 #  include <__condition_variable/condition_variable.h>
@@ -512,6 +513,6 @@ _LIBCPP_POP_MACROS
 #    include <type_traits>
 #    include <typeinfo>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_MUTEX
diff --git a/libcxx/include/new b/libcxx/include/new
index 8dd726f63a0e76..4d72ec27675c9e 100644
--- a/libcxx/include/new
+++ b/libcxx/include/new
@@ -86,8 +86,9 @@ void  operator delete[](void* ptr, void*) noexcept;
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/new>
+#else
 #  include <__config>
 #  include <__new/align_val_t.h>
 #  include <__new/allocate.h>
@@ -118,6 +119,6 @@ void  operator delete[](void* ptr, void*) noexcept;
 #    include <cstdlib>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_NEW
diff --git a/libcxx/include/numbers b/libcxx/include/numbers
index 41ee888ba8a9c7..7c9e38ecb9da90 100644
--- a/libcxx/include/numbers
+++ b/libcxx/include/numbers
@@ -58,8 +58,9 @@ namespace std::numbers {
 }
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/numbers>
+#else
 #  include <__concepts/arithmetic.h>
 #  include <__config>
 #  include <version>
@@ -163,6 +164,6 @@ _LIBCPP_END_NAMESPACE_STD
 #    include <cstddef>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_NUMBERS
diff --git a/libcxx/include/numeric b/libcxx/include/numeric
index 6055524b049973..2f2b86136fb983 100644
--- a/libcxx/include/numeric
+++ b/libcxx/include/numeric
@@ -156,8 +156,9 @@ constexpr T saturate_cast(U x) noexcept;                    // freestanding, Sin
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/numeric>
+#else
 #  include <__config>
 
 #  include <__numeric/accumulate.h>
@@ -205,6 +206,6 @@ constexpr T saturate_cast(U x) noexcept;                    // freestanding, Sin
 #    include <optional>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_NUMERIC
diff --git a/libcxx/include/optional b/libcxx/include/optional
index 1556b8b8fd942a..165e0f16cab904 100644
--- a/libcxx/include/optional
+++ b/libcxx/include/optional
@@ -177,8 +177,9 @@ namespace std {
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/optional>
+#else
 #  include <__assert>
 #  include <__compare/compare_three_way_result.h>
 #  include <__compare/ordering.h>
@@ -1306,6 +1307,6 @@ _LIBCPP_POP_MACROS
 #    include <utility>
 #    include <variant>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_OPTIONAL
diff --git a/libcxx/include/ostream b/libcxx/include/ostream
index 900863c035be7d..4a627a07a4a2fe 100644
--- a/libcxx/include/ostream
+++ b/libcxx/include/ostream
@@ -172,8 +172,9 @@ void vprint_nonunicode(ostream& os, string_view fmt, format_args args);
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/ostream>
+#else
 #  include <__config>
 
 #  if _LIBCPP_HAS_LOCALIZATION
@@ -204,6 +205,6 @@ void vprint_nonunicode(ostream& os, string_view fmt, format_args args);
 #    include <stdexcept>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_OSTREAM
diff --git a/libcxx/include/print b/libcxx/include/print
index 3d846aeab3a886..1794d6014efcd9 100644
--- a/libcxx/include/print
+++ b/libcxx/include/print
@@ -33,8 +33,9 @@ namespace std {
 }
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/print>
+#else
 #  include <__assert>
 #  include <__concepts/same_as.h>
 #  include <__config>
@@ -401,6 +402,6 @@ _LIBCPP_HIDE_FROM_ABI inline void vprint_nonunicode(string_view __fmt, format_ar
 
 _LIBCPP_END_NAMESPACE_STD
 
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_PRINT
diff --git a/libcxx/include/queue b/libcxx/include/queue
index bebea92fc74252..ff69d75591debf 100644
--- a/libcxx/include/queue
+++ b/libcxx/include/queue
@@ -254,8 +254,9 @@ template <class T, class Container, class Compare>
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/queue>
+#else
 #  include <__algorithm/make_heap.h>
 #  include <__algorithm/pop_heap.h>
 #  include <__algorithm/push_heap.h>
@@ -954,6 +955,6 @@ _LIBCPP_POP_MACROS
 #    include <functional>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_QUEUE
diff --git a/libcxx/include/random b/libcxx/include/random
index 08e9c384538f5f..a2fc2bd5197e57 100644
--- a/libcxx/include/random
+++ b/libcxx/include/random
@@ -1677,8 +1677,9 @@ class piecewise_linear_distribution
 } // std
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/random>
+#else
 #  include <__config>
 #  include <__random/bernoulli_distribution.h>
 #  include <__random/binomial_distribution.h>
@@ -1740,6 +1741,6 @@ class piecewise_linear_distribution
 #    include <type_traits>
 #    include <vector>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_RANDOM
diff --git a/libcxx/include/ranges b/libcxx/include/ranges
index 2c6057e30420a1..9ef614d21f5251 100644
--- a/libcxx/include/ranges
+++ b/libcxx/include/ranges
@@ -380,8 +380,9 @@ namespace std {
 }
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/ranges>
+#else
 #  include <__config>
 
 #  if _LIBCPP_STD_VER >= 20
@@ -453,6 +454,6 @@ namespace std {
 #    include <iosfwd>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_RANGES
diff --git a/libcxx/include/ratio b/libcxx/include/ratio
index 9e56eacae0f2d0..b35e2bd9dad654 100644
--- a/libcxx/include/ratio
+++ b/libcxx/include/ratio
@@ -81,8 +81,9 @@ using quetta = ratio <1'000'000'000'000'000'000'000'000'000'000, 1>; // Since C+
 }
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/ratio>
+#else
 #  include <__config>
 #  include <__type_traits/integral_constant.h>
 #  include <climits>
@@ -493,6 +494,6 @@ _LIBCPP_POP_MACROS
 #  if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_RATIO
diff --git a/libcxx/include/regex b/libcxx/include/regex
index 1983ca9d9ff80c..15ec15a6985e2a 100644
--- a/libcxx/include/regex
+++ b/libcxx/include/regex
@@ -789,8 +789,9 @@ typedef regex_token_iterator<wstring::const_iterator> wsregex_token_iterator;
 } // std
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/regex>
+#else
 #  include <__algorithm/find.h>
 #  include <__algorithm/search.h>
 #  include <__assert>
@@ -5834,6 +5835,6 @@ _LIBCPP_POP_MACROS
 #    include <typeinfo>
 #    include <utility>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_REGEX
diff --git a/libcxx/include/scoped_allocator b/libcxx/include/scoped_allocator
index c207ac07bdc4d7..94a35f64603ba4 100644
--- a/libcxx/include/scoped_allocator
+++ b/libcxx/include/scoped_allocator
@@ -109,8 +109,9 @@ template <class OuterA1, class OuterA2, class... InnerAllocs>
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/scoped_allocator>
+#else
 #  include <__config>
 #  include <__memory/allocator_traits.h>
 #  include <__memory/uses_allocator_construction.h>
@@ -571,6 +572,6 @@ _LIBCPP_POP_MACROS
 #    include <type_traits>
 #    include <variant>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_SCOPED_ALLOCATOR
diff --git a/libcxx/include/semaphore b/libcxx/include/semaphore
index 82f9726a96f62c..4194dbe91b4810 100644
--- a/libcxx/include/semaphore
+++ b/libcxx/include/semaphore
@@ -45,8 +45,9 @@ using binary_semaphore = counting_semaphore<1>; // since C++20
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/semaphore>
+#else
 #  include <__config>
 
 #  if _LIBCPP_HAS_THREADS
@@ -186,6 +187,6 @@ _LIBCPP_POP_MACROS
 #    include <atomic>
 #    include <cstddef>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_SEMAPHORE
diff --git a/libcxx/include/set b/libcxx/include/set
index c4b0b018f27c41..2784e82760d7ee 100644
--- a/libcxx/include/set
+++ b/libcxx/include/set
@@ -512,8 +512,9 @@ erase_if(multiset<Key, Compare, Allocator>& c, Predicate pred);  // C++20
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/set>
+#else
 #  include <__algorithm/equal.h>
 #  include <__algorithm/lexicographical_compare.h>
 #  include <__algorithm/lexicographical_compare_three_way.h>
@@ -1524,6 +1525,6 @@ _LIBCPP_POP_MACROS
 #    include <stdexcept>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_SET
diff --git a/libcxx/include/shared_mutex b/libcxx/include/shared_mutex
index a6615ea8962fd6..6738efeedb3c29 100644
--- a/libcxx/include/shared_mutex
+++ b/libcxx/include/shared_mutex
@@ -122,8 +122,9 @@ template <class Mutex>
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/shared_mutex>
+#else
 #  include <__config>
 
 #  if _LIBCPP_HAS_THREADS
@@ -462,6 +463,6 @@ _LIBCPP_POP_MACROS
 #  if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #    include <system_error>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_SHARED_MUTEX
diff --git a/libcxx/include/source_location b/libcxx/include/source_location
index faa6b0eeb6c003..bbbb86bc68c835 100644
--- a/libcxx/include/source_location
+++ b/libcxx/include/source_location
@@ -25,8 +25,9 @@ namespace std {
 }
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/source_location>
+#else
 #  include <__config>
 #  include <cstdint>
 #  include <version>
@@ -84,6 +85,6 @@ public:
 
 _LIBCPP_END_NAMESPACE_STD
 
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_SOURCE_LOCATION
diff --git a/libcxx/include/span b/libcxx/include/span
index 2d43d1d1079e44..5bb09ec515cea9 100644
--- a/libcxx/include/span
+++ b/libcxx/include/span
@@ -144,8 +144,9 @@ template<class R>
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/span>
+#else
 #  include <__assert>
 #  include <__concepts/convertible_to.h>
 #  include <__concepts/equality_comparable.h>
@@ -640,6 +641,6 @@ _LIBCPP_POP_MACROS
 #    include <iterator>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_SPAN
diff --git a/libcxx/include/sstream b/libcxx/include/sstream
index 920c29dee62f3f..5dcfb446a5d6ad 100644
--- a/libcxx/include/sstream
+++ b/libcxx/include/sstream
@@ -312,8 +312,9 @@ typedef basic_stringstream<wchar_t> wstringstream;
 
 // clang-format on
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/sstream>
+#else
 #  include <__config>
 
 #  if _LIBCPP_HAS_LOCALIZATION
@@ -1291,6 +1292,6 @@ _LIBCPP_POP_MACROS
 #    include <ostream>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_SSTREAM
diff --git a/libcxx/include/stack b/libcxx/include/stack
index da3dcf0216aeac..3ff3df2c9650fc 100644
--- a/libcxx/include/stack
+++ b/libcxx/include/stack
@@ -113,8 +113,9 @@ template <class T, class Container>
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/stack>
+#else
 #  include <__algorithm/ranges_copy.h>
 #  include <__config>
 #  include <__fwd/stack.h>
@@ -377,6 +378,6 @@ _LIBCPP_POP_MACROS
 #    include <functional>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_STACK
diff --git a/libcxx/include/stdatomic.h b/libcxx/include/stdatomic.h
index 8c96bd636dd45f..a0b46e3b7bc173 100644
--- a/libcxx/include/stdatomic.h
+++ b/libcxx/include/stdatomic.h
@@ -117,8 +117,9 @@ using std::atomic_signal_fence                         // see below
 
 */
 
-#if 0
-#else // 0
+#if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/stdatomic.h>
+#else
 #  include <__config>
 
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -237,6 +238,6 @@ using std::atomic_thread_fence _LIBCPP_USING_IF_EXISTS;
 #    endif
 
 #  endif // defined(__cplusplus)
-#endif   // 0
+#endif   // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_STDATOMIC_H
diff --git a/libcxx/include/stdbool.h b/libcxx/include/stdbool.h
index 9f1779e992c72e..c34853b97b854c 100644
--- a/libcxx/include/stdbool.h
+++ b/libcxx/include/stdbool.h
@@ -19,8 +19,9 @@
 
 */
 
-#if 0
-#else // 0
+#if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/stdbool.h>
+#else
 #  include <__config>
 
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -38,6 +39,6 @@
 #    undef __bool_true_false_are_defined
 #    define __bool_true_false_are_defined 1
 #  endif
-#endif // 0
+#endif // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_STDBOOL_H
diff --git a/libcxx/include/stddef.h b/libcxx/include/stddef.h
index 66ad85fe631de9..46bed2a1e1a68e 100644
--- a/libcxx/include/stddef.h
+++ b/libcxx/include/stddef.h
@@ -24,8 +24,9 @@
 
 */
 
-#if 0
-#else // 0
+#if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/stddef.h>
+#else
 #  include <__config>
 
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -42,6 +43,6 @@
 #    ifdef __cplusplus
 typedef decltype(nullptr) nullptr_t;
 #    endif
-#  endif // 0
+#  endif // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_STDDEF_H
diff --git a/libcxx/include/stdexcept b/libcxx/include/stdexcept
index 58c55092026a92..85e11629bd6e3f 100644
--- a/libcxx/include/stdexcept
+++ b/libcxx/include/stdexcept
@@ -41,8 +41,9 @@ public:
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/stdexcept>
+#else
 #  include <__config>
 #  include <__exception/exception.h>
 #  include <__fwd/string.h>
@@ -286,6 +287,6 @@ _LIBCPP_END_NAMESPACE_STD
 #    include <iosfwd>
 #    include <new>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_STDEXCEPT
diff --git a/libcxx/include/stdio.h b/libcxx/include/stdio.h
index 7c73671ade08f0..d1e57b08f5da47 100644
--- a/libcxx/include/stdio.h
+++ b/libcxx/include/stdio.h
@@ -87,8 +87,9 @@ int ferror(FILE* stream);
 void perror(const char* s);
 */
 
-#if 0
-#else // 0
+#if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/stdio.h>
+#else
 #  include <__config>
 
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -120,6 +121,6 @@ void perror(const char* s);
 #      undef getchar
 
 #    endif
-#  endif // 0
+#  endif // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_STDIO_H
diff --git a/libcxx/include/stdlib.h b/libcxx/include/stdlib.h
index b8a28809a951c4..92f7059b01a83d 100644
--- a/libcxx/include/stdlib.h
+++ b/libcxx/include/stdlib.h
@@ -73,8 +73,9 @@ void *aligned_alloc(size_t alignment, size_t size);                       // C11
 
 */
 
-#if 0
-#else // 0
+#if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/stdlib.h>
+#else
 #  include <__config>
 
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -148,6 +149,6 @@ inline _LIBCPP_HIDE_FROM_ABI lldiv_t div(long long __x, long long __y) _NOEXCEPT
 #      endif // _LIBCPP_MSVCRT
 } // extern "C++"
 #    endif // __cplusplus
-#  endif   // 0
+#  endif   // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_STDLIB_H
diff --git a/libcxx/include/stop_token b/libcxx/include/stop_token
index 6a6d1330248c7a..d240dd77a9136b 100644
--- a/libcxx/include/stop_token
+++ b/libcxx/include/stop_token
@@ -31,8 +31,9 @@ namespace std {
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/stop_token>
+#else
 #  include <__config>
 
 #  if _LIBCPP_HAS_THREADS
@@ -55,6 +56,6 @@ namespace std {
 #    include <cstddef>
 #    include <iosfwd>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_STOP_TOKEN
diff --git a/libcxx/include/streambuf b/libcxx/include/streambuf
index 12f6b319f70e96..7f02a9b3314110 100644
--- a/libcxx/include/streambuf
+++ b/libcxx/include/streambuf
@@ -107,8 +107,9 @@ protected:
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/streambuf>
+#else
 #  include <__config>
 
 #  if _LIBCPP_HAS_LOCALIZATION
@@ -448,6 +449,6 @@ _LIBCPP_POP_MACROS
 #  if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
 #    include <cstdint>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_STREAMBUF
diff --git a/libcxx/include/string b/libcxx/include/string
index e96237488b80cb..27a55abe9b0f61 100644
--- a/libcxx/include/string
+++ b/libcxx/include/string
@@ -586,8 +586,9 @@ basic_string<char32_t> operator""s( const char32_t *str, size_t len );
 
 // clang-format on
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/string>
+#else
 #  include <__algorithm/max.h>
 #  include <__algorithm/min.h>
 #  include <__algorithm/remove.h>
@@ -4347,6 +4348,6 @@ _LIBCPP_POP_MACROS
 #    include <typeinfo>
 #    include <utility>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_STRING
diff --git a/libcxx/include/string.h b/libcxx/include/string.h
index 58a4bcbc3e7044..6bdcd6a6eecbdf 100644
--- a/libcxx/include/string.h
+++ b/libcxx/include/string.h
@@ -51,8 +51,9 @@ size_t strlen(const char* s);
 
 */
 
-#if 0
-#else // 0
+#if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/string.h>
+#else
 #  include <__config>
 
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -109,6 +110,6 @@ inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_PREFERRED_OVERLOAD char* strstr(char* __s1,
 }
 } // extern "C++"
 #  endif
-#endif // 0
+#endif // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_STRING_H
diff --git a/libcxx/include/string_view b/libcxx/include/string_view
index a62d75a008c0c2..e79746318cfa6b 100644
--- a/libcxx/include/string_view
+++ b/libcxx/include/string_view
@@ -205,8 +205,9 @@ namespace std {
 
 // clang-format on
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/string_view>
+#else
 #  include <__algorithm/min.h>
 #  include <__assert>
 #  include <__config>
@@ -949,6 +950,6 @@ _LIBCPP_POP_MACROS
 #    include <iterator>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_STRING_VIEW
diff --git a/libcxx/include/strstream b/libcxx/include/strstream
index 81dbdf14d9e6a4..90d56694e7a6c3 100644
--- a/libcxx/include/strstream
+++ b/libcxx/include/strstream
@@ -129,8 +129,9 @@ private:
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/strstream>
+#else
 #  include <__config>
 #  include <__ostream/basic_ostream.h>
 #  include <istream>
@@ -350,6 +351,6 @@ _LIBCPP_END_NAMESPACE_STD
 _LIBCPP_POP_MACROS
 
 #  endif // _LIBCPP_STD_VER < 26 || defined(_LIBCPP_ENABLE_CXX26_REMOVED_STRSTREAM) || defined(_LIBCPP_BUILDING_LIBRARY)
-#endif   // 0
+#endif   // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_STRSTREAM
diff --git a/libcxx/include/syncstream b/libcxx/include/syncstream
index f801132d436b48..82761be765420c 100644
--- a/libcxx/include/syncstream
+++ b/libcxx/include/syncstream
@@ -117,8 +117,9 @@ namespace std {
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/syncstream>
+#else
 #  include <__config>
 
 #  if _LIBCPP_HAS_LOCALIZATION
@@ -518,6 +519,6 @@ _LIBCPP_END_NAMESPACE_STD
 _LIBCPP_POP_MACROS
 
 #  endif // _LIBCPP_HAS_LOCALIZATION
-#endif   // 0
+#endif   // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_SYNCSTREAM
diff --git a/libcxx/include/system_error b/libcxx/include/system_error
index 351e26fd473500..4dadc0a6ab4838 100644
--- a/libcxx/include/system_error
+++ b/libcxx/include/system_error
@@ -144,8 +144,9 @@ template <> struct hash<std::error_condition>;
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/system_error>
+#else
 #  include <__config>
 #  include <__system_error/errc.h>
 #  include <__system_error/error_category.h>
@@ -169,6 +170,6 @@ template <> struct hash<std::error_condition>;
 #    include <limits>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_SYSTEM_ERROR
diff --git a/libcxx/include/tgmath.h b/libcxx/include/tgmath.h
index 41cae5c2318c19..3f8f14fd579a93 100644
--- a/libcxx/include/tgmath.h
+++ b/libcxx/include/tgmath.h
@@ -17,8 +17,9 @@
 
 */
 
-#if 0
-#else // 0
+#if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/tgmath.h>
+#else
 #  include <__config>
 
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -33,6 +34,6 @@
 #      include_next <tgmath.h>
 #    endif
 #  endif
-#endif // 0
+#endif // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_TGMATH_H
diff --git a/libcxx/include/thread b/libcxx/include/thread
index 719ebe9a7a2376..029ed418e2070f 100644
--- a/libcxx/include/thread
+++ b/libcxx/include/thread
@@ -86,8 +86,9 @@ void sleep_for(const chrono::duration<Rep, Period>& rel_time);
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/thread>
+#else
 #  include <__config>
 
 #  if _LIBCPP_HAS_THREADS
@@ -127,6 +128,6 @@ void sleep_for(const chrono::duration<Rep, Period>& rel_time);
 #    include <system_error>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_THREAD
diff --git a/libcxx/include/tuple b/libcxx/include/tuple
index 035c67a12f8567..016cdda6decb86 100644
--- a/libcxx/include/tuple
+++ b/libcxx/include/tuple
@@ -210,8 +210,9 @@ template <class... Types>
 
 // clang-format on
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/tuple>
+#else
 #  include <__compare/common_comparison_category.h>
 #  include <__compare/ordering.h>
 #  include <__compare/synth_three_way.h>
@@ -1421,6 +1422,6 @@ _LIBCPP_POP_MACROS
 #    include <typeinfo>
 #    include <utility>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_TUPLE
diff --git a/libcxx/include/type_traits b/libcxx/include/type_traits
index d7fa8c3ad8f2ef..ffcddb0176615a 100644
--- a/libcxx/include/type_traits
+++ b/libcxx/include/type_traits
@@ -424,8 +424,9 @@ namespace std
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/type_traits>
+#else
 #  include <__config>
 #  include <__type_traits/add_cv_quals.h>
 #  include <__type_traits/add_lvalue_reference.h>
@@ -529,6 +530,6 @@ namespace std
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #    pragma GCC system_header
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_TYPE_TRAITS
diff --git a/libcxx/include/typeindex b/libcxx/include/typeindex
index 5ecba006ff1c12..76faee4bf199e1 100644
--- a/libcxx/include/typeindex
+++ b/libcxx/include/typeindex
@@ -45,8 +45,9 @@ struct hash<type_index>
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/typeindex>
+#else
 #  include <__config>
 #  include <__functional/unary_function.h>
 #  include <typeinfo>
@@ -105,6 +106,6 @@ _LIBCPP_END_NAMESPACE_STD
 #    include <new>
 #    include <utility>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_TYPEINDEX
diff --git a/libcxx/include/typeinfo b/libcxx/include/typeinfo
index 8d3ebea08d8ddb..799c6ebd5ecbbf 100644
--- a/libcxx/include/typeinfo
+++ b/libcxx/include/typeinfo
@@ -56,8 +56,9 @@ public:
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/typeinfo>
+#else
 #  include <__config>
 #  include <__cstddef/size_t.h>
 #  include <__exception/exception.h>
@@ -390,6 +391,6 @@ _LIBCPP_END_NAMESPACE_STD
 #    include <cstdlib>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_TYPEINFO
diff --git a/libcxx/include/uchar.h b/libcxx/include/uchar.h
index 440e00511a6607..01e1d57db7454c 100644
--- a/libcxx/include/uchar.h
+++ b/libcxx/include/uchar.h
@@ -32,8 +32,9 @@ size_t c32rtomb(char* s, char32_t c32, mbstate_t* ps);
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/uchar.h>
+#else
 #  include <__config>
 
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -54,6 +55,6 @@ size_t c32rtomb(char* s, char32_t c32, mbstate_t* ps);
 #    endif
 
 #  endif // _LIBCPP_CXX03_LANG
-#endif   // 0
+#endif   // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_UCHAR_H
diff --git a/libcxx/include/unordered_map b/libcxx/include/unordered_map
index e55b7b7ef14036..0ae41384917749 100644
--- a/libcxx/include/unordered_map
+++ b/libcxx/include/unordered_map
@@ -583,8 +583,9 @@ template <class Key, class T, class Hash, class Pred, class Alloc>
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/unordered_map>
+#else
 #  include <__algorithm/is_permutation.h>
 #  include <__assert>
 #  include <__config>
@@ -2571,6 +2572,6 @@ _LIBCPP_POP_MACROS
 #    include <iterator>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_UNORDERED_MAP
diff --git a/libcxx/include/unordered_set b/libcxx/include/unordered_set
index 6f243e0235ce9f..87f0a9f438eff2 100644
--- a/libcxx/include/unordered_set
+++ b/libcxx/include/unordered_set
@@ -531,8 +531,9 @@ template <class Value, class Hash, class Pred, class Alloc>
 
 // clang-format on
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/unordered_set>
+#else
 #  include <__algorithm/is_permutation.h>
 #  include <__assert>
 #  include <__config>
@@ -1843,6 +1844,6 @@ _LIBCPP_POP_MACROS
 #    include <stdexcept>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_UNORDERED_SET
diff --git a/libcxx/include/utility b/libcxx/include/utility
index c761a83000f34c..fb8a6f81350beb 100644
--- a/libcxx/include/utility
+++ b/libcxx/include/utility
@@ -246,8 +246,9 @@ template <class T>
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/utility>
+#else
 #  include <__config>
 
 #  include <__utility/declval.h>
@@ -308,6 +309,6 @@ template <class T>
 #    include <iosfwd>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_UTILITY
diff --git a/libcxx/include/valarray b/libcxx/include/valarray
index ef94dde9bc887c..d0b76ee06e796c 100644
--- a/libcxx/include/valarray
+++ b/libcxx/include/valarray
@@ -343,8 +343,9 @@ template <class T> unspecified2 end(const valarray<T>& v);
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/valarray>
+#else
 #  include <__algorithm/copy.h>
 #  include <__algorithm/count.h>
 #  include <__algorithm/fill.h>
@@ -3361,6 +3362,6 @@ _LIBCPP_POP_MACROS
 #    include <stdexcept>
 #    include <type_traits>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_VALARRAY
diff --git a/libcxx/include/variant b/libcxx/include/variant
index 7d2788e2414eaa..3fa1b4b30f058c 100644
--- a/libcxx/include/variant
+++ b/libcxx/include/variant
@@ -212,8 +212,9 @@ namespace std {
 
 */
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/variant>
+#else
 #  include <__compare/common_comparison_category.h>
 #  include <__compare/compare_three_way_result.h>
 #  include <__compare/ordering.h>
@@ -1636,6 +1637,6 @@ _LIBCPP_POP_MACROS
 #    include <typeinfo>
 #    include <utility>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_VARIANT
diff --git a/libcxx/include/vector b/libcxx/include/vector
index a35686f56b0d5c..9fa81dcb7e76e0 100644
--- a/libcxx/include/vector
+++ b/libcxx/include/vector
@@ -304,8 +304,9 @@ template<class T, class charT> requires is-vector-bool-reference<T> // Since C++
 
 // clang-format on
 
-#if 0
-#else // 0
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/vector>
+#else
 #  include <__config>
 
 #  include <__vector/comparison.h>
@@ -368,6 +369,6 @@ template<class T, class charT> requires is-vector-bool-reference<T> // Since C++
 #    include <typeinfo>
 #    include <utility>
 #  endif
-#endif // 0
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_VECTOR
diff --git a/libcxx/include/version b/libcxx/include/version
index fc57aeade9daf2..23cffd960e5d38 100644
--- a/libcxx/include/version
+++ b/libcxx/include/version
@@ -269,11 +269,14 @@ __cpp_lib_void_t                                        201411L <type_traits>
 
 */
 
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/version>
+#else
+#  include <__config>
 
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#  pragma GCC system_header
-#endif
+#  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+#    pragma GCC system_header
+#  endif
 
 // clang-format off
 
@@ -581,6 +584,8 @@ __cpp_lib_void_t                                        201411L <type_traits>
 # define __cpp_lib_variant                              202306L
 #endif
 
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+
 // clang-format on
 
 #endif // _LIBCPP_VERSIONH
diff --git a/libcxx/include/wchar.h b/libcxx/include/wchar.h
index 85f16fcf476f22..436027b7842aeb 100644
--- a/libcxx/include/wchar.h
+++ b/libcxx/include/wchar.h
@@ -94,8 +94,9 @@ size_t wcsrtombs(char* restrict dst, const wchar_t** restrict src, size_t len,
 
 */
 
-#if 0
-#else // 0
+#if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/wchar.h>
+#else
 #  include <__config>
 
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -205,6 +206,6 @@ size_t wcsnrtombs(
 } // extern "C"
 #      endif // __cplusplus && (_LIBCPP_MSVCRT || __MVS__)
 #    endif   // _LIBCPP_HAS_WIDE_CHARACTERS
-#  endif     // 0
+#  endif     // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_WCHAR_H
diff --git a/libcxx/include/wctype.h b/libcxx/include/wctype.h
index fb48d495e0392e..9a5b163ba43a98 100644
--- a/libcxx/include/wctype.h
+++ b/libcxx/include/wctype.h
@@ -44,8 +44,9 @@ wctrans_t wctrans(const char* property);
 
 */
 
-#if 0
-#else // 0
+#if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/wctype.h>
+#else
 #  include <__config>
 
 #  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -88,6 +89,6 @@ wctrans_t wctrans(const char* property);
 #    undef wctrans
 
 #  endif // __cplusplus
-#endif   // 0
+#endif   // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
 
 #endif // _LIBCPP_WCTYPE_H
diff --git a/libcxx/test/libcxx/algorithms/half_positive.pass.cpp b/libcxx/test/libcxx/algorithms/half_positive.pass.cpp
index 40f46974195720..88a18e85929214 100644
--- a/libcxx/test/libcxx/algorithms/half_positive.pass.cpp
+++ b/libcxx/test/libcxx/algorithms/half_positive.pass.cpp
@@ -11,6 +11,8 @@
 // __half_positive divides an integer number by 2 as unsigned number for known types.
 // It can be an important optimization for lower bound, for example.
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__algorithm/half_positive.h>
 #include <cassert>
 #include <cstddef>
diff --git a/libcxx/test/libcxx/assertions/customize_verbose_abort.link-time.pass.cpp b/libcxx/test/libcxx/assertions/customize_verbose_abort.link-time.pass.cpp
index 21e9003c30b704..390c6b6db190d7 100644
--- a/libcxx/test/libcxx/assertions/customize_verbose_abort.link-time.pass.cpp
+++ b/libcxx/test/libcxx/assertions/customize_verbose_abort.link-time.pass.cpp
@@ -12,6 +12,8 @@
 // failures when back-deploying.
 // XFAIL: availability-verbose_abort-missing
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__verbose_abort>
 #include <cstdlib>
 
diff --git a/libcxx/test/libcxx/assertions/default_verbose_abort.pass.cpp b/libcxx/test/libcxx/assertions/default_verbose_abort.pass.cpp
index 0cc4b1e0052267..803868b7577949 100644
--- a/libcxx/test/libcxx/assertions/default_verbose_abort.pass.cpp
+++ b/libcxx/test/libcxx/assertions/default_verbose_abort.pass.cpp
@@ -9,6 +9,8 @@
 // Test that the default verbose termination function aborts the program.
 // XFAIL: availability-verbose_abort-missing
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__verbose_abort>
 #include <csignal>
 #include <cstdlib>
diff --git a/libcxx/test/libcxx/assertions/modes/none.pass.cpp b/libcxx/test/libcxx/assertions/modes/none.pass.cpp
index 8332848c1a8e03..b64290a31a1298 100644
--- a/libcxx/test/libcxx/assertions/modes/none.pass.cpp
+++ b/libcxx/test/libcxx/assertions/modes/none.pass.cpp
@@ -11,6 +11,8 @@
 
 // REQUIRES: libcpp-hardening-mode=none
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__assert>
 #include <cassert>
 
diff --git a/libcxx/test/libcxx/assertions/single_expression.pass.cpp b/libcxx/test/libcxx/assertions/single_expression.pass.cpp
index 13253e4cb6ef5a..474edc9dc08337 100644
--- a/libcxx/test/libcxx/assertions/single_expression.pass.cpp
+++ b/libcxx/test/libcxx/assertions/single_expression.pass.cpp
@@ -10,6 +10,8 @@
 // This is useful so we can use them  in places that require an expression, such as
 // in a constructor initializer list.
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__assert>
 #include <cassert>
 
diff --git a/libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp b/libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp
index a52459abb9e0a5..323072da14463b 100644
--- a/libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp
+++ b/libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp
@@ -8,6 +8,8 @@
 
 // UNSUPPORTED: no-threads
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 // This test verifies that <stdatomic.h> redirects to <atomic>. As an extension,
 // libc++ enables this redirection even before C++23.
 
diff --git a/libcxx/test/libcxx/clang_modules_include.gen.py b/libcxx/test/libcxx/clang_modules_include.gen.py
index dc815d9c772b5b..379ac22c8f47f5 100644
--- a/libcxx/test/libcxx/clang_modules_include.gen.py
+++ b/libcxx/test/libcxx/clang_modules_include.gen.py
@@ -52,6 +52,8 @@
 // TODO: Fix seemingly circular inclusion or <wchar.h> on AIX
 // UNSUPPORTED: LIBCXX-AIX-FIXME
 
+// UNSUPPORTED: FROZEN-CXX03-HEADERS-FIXME
+
 {lit_header_restrictions.get(header, '')}
 {lit_header_undeprecations.get(header, '')}
 
diff --git a/libcxx/test/libcxx/containers/associative/tree_balance_after_insert.pass.cpp b/libcxx/test/libcxx/containers/associative/tree_balance_after_insert.pass.cpp
index c3d100e53711b3..a99f4fff1300e0 100644
--- a/libcxx/test/libcxx/containers/associative/tree_balance_after_insert.pass.cpp
+++ b/libcxx/test/libcxx/containers/associative/tree_balance_after_insert.pass.cpp
@@ -13,6 +13,8 @@
 // void
 // __tree_balance_after_insert(_NodePtr __root, _NodePtr __x)
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__tree>
 #include <cassert>
 
diff --git a/libcxx/test/libcxx/containers/associative/tree_key_value_traits.pass.cpp b/libcxx/test/libcxx/containers/associative/tree_key_value_traits.pass.cpp
index 12289c84a9cc30..bebdcaaedf1037 100644
--- a/libcxx/test/libcxx/containers/associative/tree_key_value_traits.pass.cpp
+++ b/libcxx/test/libcxx/containers/associative/tree_key_value_traits.pass.cpp
@@ -6,6 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__tree>
 #include <map>
 #include <set>
diff --git a/libcxx/test/libcxx/containers/associative/tree_left_rotate.pass.cpp b/libcxx/test/libcxx/containers/associative/tree_left_rotate.pass.cpp
index b766489adc692f..f8073d6233c9b3 100644
--- a/libcxx/test/libcxx/containers/associative/tree_left_rotate.pass.cpp
+++ b/libcxx/test/libcxx/containers/associative/tree_left_rotate.pass.cpp
@@ -13,6 +13,8 @@
 // void
 // __tree_left_rotate(_NodePtr __x);
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__tree>
 #include <cassert>
 
diff --git a/libcxx/test/libcxx/containers/associative/tree_remove.pass.cpp b/libcxx/test/libcxx/containers/associative/tree_remove.pass.cpp
index e9afd845a7e31e..0b2d86722912eb 100644
--- a/libcxx/test/libcxx/containers/associative/tree_remove.pass.cpp
+++ b/libcxx/test/libcxx/containers/associative/tree_remove.pass.cpp
@@ -13,6 +13,8 @@
 // void
 // __tree_remove(_NodePtr __root, _NodePtr __z)
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__tree>
 #include <cassert>
 
diff --git a/libcxx/test/libcxx/containers/associative/tree_right_rotate.pass.cpp b/libcxx/test/libcxx/containers/associative/tree_right_rotate.pass.cpp
index 04d2b094aad695..16ca81fddc7dc3 100644
--- a/libcxx/test/libcxx/containers/associative/tree_right_rotate.pass.cpp
+++ b/libcxx/test/libcxx/containers/associative/tree_right_rotate.pass.cpp
@@ -13,6 +13,8 @@
 // void
 // __tree_right_rotate(_NodePtr __x);
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__tree>
 #include <cassert>
 
diff --git a/libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp b/libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp
index cea074a4e70f1f..55d42a8d017e1c 100644
--- a/libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp
+++ b/libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp
@@ -12,6 +12,8 @@
 // unordered containers changes when bounded unique_ptr is enabled.
 // UNSUPPORTED: libcpp-has-abi-bounded-unique_ptr
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <cstdint>
 #include <unordered_map>
 
diff --git a/libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp b/libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp
index 2a112aff227d8e..bee2012bbea292 100644
--- a/libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp
+++ b/libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp
@@ -12,6 +12,8 @@
 // unordered containers changes when bounded unique_ptr is enabled.
 // UNSUPPORTED: libcpp-has-abi-bounded-unique_ptr
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <cstdint>
 #include <unordered_set>
 
diff --git a/libcxx/test/libcxx/containers/container_traits.compile.pass.cpp b/libcxx/test/libcxx/containers/container_traits.compile.pass.cpp
index 1452bfbaf3960e..22be2174879510 100644
--- a/libcxx/test/libcxx/containers/container_traits.compile.pass.cpp
+++ b/libcxx/test/libcxx/containers/container_traits.compile.pass.cpp
@@ -9,6 +9,8 @@
 // <__type_traits/container_traits.h>
 //
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__type_traits/container_traits.h>
 
 #include <deque>
diff --git a/libcxx/test/libcxx/containers/unord/key_value_traits.pass.cpp b/libcxx/test/libcxx/containers/unord/key_value_traits.pass.cpp
index c5e420387fdaf4..4b389fa759f895 100644
--- a/libcxx/test/libcxx/containers/unord/key_value_traits.pass.cpp
+++ b/libcxx/test/libcxx/containers/unord/key_value_traits.pass.cpp
@@ -6,6 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__hash_table>
 #include <unordered_map>
 #include <unordered_set>
diff --git a/libcxx/test/libcxx/containers/unord/next_pow2.pass.cpp b/libcxx/test/libcxx/containers/unord/next_pow2.pass.cpp
index 0b56c96f8d4e42..8a5d448dbf922b 100644
--- a/libcxx/test/libcxx/containers/unord/next_pow2.pass.cpp
+++ b/libcxx/test/libcxx/containers/unord/next_pow2.pass.cpp
@@ -18,6 +18,8 @@
 // If n <= 1, return n. If n is a power of 2, return n.
 // Otherwise, return the next power of 2.
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__hash_table>
 #include <cassert>
 #include <cstdint>
diff --git a/libcxx/test/libcxx/containers/unord/next_prime.pass.cpp b/libcxx/test/libcxx/containers/unord/next_prime.pass.cpp
index 0efbe0342d0b62..17a29033856c92 100644
--- a/libcxx/test/libcxx/containers/unord/next_prime.pass.cpp
+++ b/libcxx/test/libcxx/containers/unord/next_prime.pass.cpp
@@ -16,6 +16,8 @@
 
 // If n == 0, return 0, else return the lowest prime greater than or equal to n
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__hash_table>
 #include <cassert>
 #include <cstddef>
diff --git a/libcxx/test/libcxx/depr/depr.c.headers/extern_c.pass.cpp b/libcxx/test/libcxx/depr/depr.c.headers/extern_c.pass.cpp
index d0ac71739d7e3a..f756aacbc1cd5b 100644
--- a/libcxx/test/libcxx/depr/depr.c.headers/extern_c.pass.cpp
+++ b/libcxx/test/libcxx/depr/depr.c.headers/extern_c.pass.cpp
@@ -10,6 +10,8 @@
 // that we don't want to support and can't support with LSV enabled.
 // UNSUPPORTED: clang-modules-build
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 // Sometimes C++'s <foo.h> headers get included within extern "C" contexts. This
 // is ill-formed (no diagnostic required), per [using.headers]p3, but we permit
 // it as an extension.
diff --git a/libcxx/test/libcxx/header_inclusions.gen.py b/libcxx/test/libcxx/header_inclusions.gen.py
index 739caf915c09a0..e00cf180d17ad1 100644
--- a/libcxx/test/libcxx/header_inclusions.gen.py
+++ b/libcxx/test/libcxx/header_inclusions.gen.py
@@ -10,6 +10,7 @@
 # prescribed by the Standard.
 
 # RUN: %{python} %s %{libcxx-dir}/utils
+# END.
 
 import sys
 
@@ -45,6 +46,8 @@
     print(
         f"""\
 //--- {header}.compile.pass.cpp
+// UNSUPPORTED: FROZEN-CXX03-HEADERS-FIXME
+
 {lit_header_restrictions.get(header, '')}
 {lit_header_undeprecations.get(header, '')}
 
diff --git a/libcxx/test/libcxx/input.output/file.streams/fstreams/filebuf/traits_mismatch.verify.cpp b/libcxx/test/libcxx/input.output/file.streams/fstreams/filebuf/traits_mismatch.verify.cpp
index 2157b2eb3cdf5d..37ab176ea26a0f 100644
--- a/libcxx/test/libcxx/input.output/file.streams/fstreams/filebuf/traits_mismatch.verify.cpp
+++ b/libcxx/test/libcxx/input.output/file.streams/fstreams/filebuf/traits_mismatch.verify.cpp
@@ -15,6 +15,8 @@
 
 // UNSUPPORTED: no-wide-characters
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <fstream>
 
 std::basic_filebuf<char, std::char_traits<wchar_t> > f;
diff --git a/libcxx/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.verify.cpp b/libcxx/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.verify.cpp
index b77f6a02013124..f936d8db47af5b 100644
--- a/libcxx/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.verify.cpp
+++ b/libcxx/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.verify.cpp
@@ -15,6 +15,8 @@
 
 // UNSUPPORTED: no-wide-characters
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <fstream>
 
 std::basic_fstream<char, std::char_traits<wchar_t> > f;
diff --git a/libcxx/test/libcxx/input.output/iostream.format/input.streams/traits_mismatch.verify.cpp b/libcxx/test/libcxx/input.output/iostream.format/input.streams/traits_mismatch.verify.cpp
index 435e1df6dc4ba7..7d713ed581631e 100644
--- a/libcxx/test/libcxx/input.output/iostream.format/input.streams/traits_mismatch.verify.cpp
+++ b/libcxx/test/libcxx/input.output/iostream.format/input.streams/traits_mismatch.verify.cpp
@@ -15,6 +15,8 @@
 
 // UNSUPPORTED: no-wide-characters
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <istream>
 #include <string>
 
diff --git a/libcxx/test/libcxx/input.output/iostream.format/output.streams/traits_mismatch.verify.cpp b/libcxx/test/libcxx/input.output/iostream.format/output.streams/traits_mismatch.verify.cpp
index f947507b23a17a..445ddd1eb9e42e 100644
--- a/libcxx/test/libcxx/input.output/iostream.format/output.streams/traits_mismatch.verify.cpp
+++ b/libcxx/test/libcxx/input.output/iostream.format/output.streams/traits_mismatch.verify.cpp
@@ -15,6 +15,8 @@
 
 // UNSUPPORTED: no-wide-characters
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <ostream>
 #include <string>
 
diff --git a/libcxx/test/libcxx/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp b/libcxx/test/libcxx/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp
index d6caa3389b8fa5..2b6c3802a56b66 100644
--- a/libcxx/test/libcxx/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp
+++ b/libcxx/test/libcxx/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp
@@ -8,6 +8,8 @@
 
 // <sstream>
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 // How the constructors of basic_stringbuf initialize the buffer pointers is
 // not specified. For some constructors it's implementation defined whether the
 // pointers are set to nullptr. Libc++'s implementation directly uses the SSO
diff --git a/libcxx/test/libcxx/input.output/string.streams/traits_mismatch.verify.cpp b/libcxx/test/libcxx/input.output/string.streams/traits_mismatch.verify.cpp
index 466ad70558fe59..89dc884c5da12f 100644
--- a/libcxx/test/libcxx/input.output/string.streams/traits_mismatch.verify.cpp
+++ b/libcxx/test/libcxx/input.output/string.streams/traits_mismatch.verify.cpp
@@ -16,6 +16,8 @@
 
 // UNSUPPORTED: no-wide-characters
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <sstream>
 
 std::basic_stringbuf<char, std::char_traits<wchar_t> > sb;
diff --git a/libcxx/test/libcxx/iterators/aliasing_iterator.pass.cpp b/libcxx/test/libcxx/iterators/aliasing_iterator.pass.cpp
index 60587d5bfe5d7a..33774578e23371 100644
--- a/libcxx/test/libcxx/iterators/aliasing_iterator.pass.cpp
+++ b/libcxx/test/libcxx/iterators/aliasing_iterator.pass.cpp
@@ -8,6 +8,8 @@
 
 // ADDITIONAL_COMPILE_FLAGS(clang): -Wprivate-header
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__iterator/aliasing_iterator.h>
 #include <cassert>
 
diff --git a/libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp b/libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
index 45d0cc3b95f90b..3fc735b441676c 100644
--- a/libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
+++ b/libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
@@ -11,6 +11,8 @@
 //
 // Arithmetic operators
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__iterator/bounded_iter.h>
 #include <cstddef>
 
diff --git a/libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp b/libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
index cef2157469c8f0..a12b77afa0db02 100644
--- a/libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
+++ b/libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
@@ -11,6 +11,8 @@
 //
 // Comparison operators
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <concepts>
 #include <__iterator/bounded_iter.h>
 
diff --git a/libcxx/test/libcxx/iterators/bounded_iter/pointer_traits.pass.cpp b/libcxx/test/libcxx/iterators/bounded_iter/pointer_traits.pass.cpp
index bfd779d644f51a..22ad8c6706d6fa 100644
--- a/libcxx/test/libcxx/iterators/bounded_iter/pointer_traits.pass.cpp
+++ b/libcxx/test/libcxx/iterators/bounded_iter/pointer_traits.pass.cpp
@@ -11,6 +11,8 @@
 //
 // std::pointer_traits specialization
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__iterator/bounded_iter.h>
 #include <cassert>
 #include <cstddef>
diff --git a/libcxx/test/libcxx/iterators/bounded_iter/types.compile.pass.cpp b/libcxx/test/libcxx/iterators/bounded_iter/types.compile.pass.cpp
index 56ded9ae5ed21d..d205c5b03ee3f0 100644
--- a/libcxx/test/libcxx/iterators/bounded_iter/types.compile.pass.cpp
+++ b/libcxx/test/libcxx/iterators/bounded_iter/types.compile.pass.cpp
@@ -11,6 +11,8 @@
 //
 // Nested types
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__iterator/bounded_iter.h>
 #include <cstddef>
 #include <iterator>
diff --git a/libcxx/test/libcxx/iterators/contiguous_iterators.conv.compile.pass.cpp b/libcxx/test/libcxx/iterators/contiguous_iterators.conv.compile.pass.cpp
index 372559594143ef..4d3690953070fd 100644
--- a/libcxx/test/libcxx/iterators/contiguous_iterators.conv.compile.pass.cpp
+++ b/libcxx/test/libcxx/iterators/contiguous_iterators.conv.compile.pass.cpp
@@ -15,6 +15,8 @@
 
 // Verify that libc++-wrapped iterators do not permit slicing conversion or construction.
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <array>
 #include <span>
 #include <type_traits>
diff --git a/libcxx/test/libcxx/iterators/contiguous_iterators.verify.cpp b/libcxx/test/libcxx/iterators/contiguous_iterators.verify.cpp
index 479d40a5eb0883..ba2697c78986c7 100644
--- a/libcxx/test/libcxx/iterators/contiguous_iterators.verify.cpp
+++ b/libcxx/test/libcxx/iterators/contiguous_iterators.verify.cpp
@@ -11,6 +11,8 @@
 
 // __bounded_iter<_Iter>
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 // Verify that __bounded_iter does not accept non-contiguous iterators as determined by __libcpp_is_contiguous_iterator.
 // static_assert should be used, see https://github.com/llvm/llvm-project/issues/115002.
 // __wrap_iter cannot be so handled because it may directly wrap user-defined fancy pointers in libc++'s vector.
diff --git a/libcxx/test/libcxx/iterators/iterator.primitives/iterator.operations/prev.verify.cpp b/libcxx/test/libcxx/iterators/iterator.primitives/iterator.operations/prev.verify.cpp
index da0a336815a5c8..ffef687723983f 100644
--- a/libcxx/test/libcxx/iterators/iterator.primitives/iterator.operations/prev.verify.cpp
+++ b/libcxx/test/libcxx/iterators/iterator.primitives/iterator.operations/prev.verify.cpp
@@ -8,6 +8,8 @@
 
 // std::prev
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <iterator>
 #include "test_iterators.h"
 
diff --git a/libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp b/libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
index 37e3f8167051aa..b283c8aa06f0cb 100644
--- a/libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
+++ b/libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
@@ -21,6 +21,8 @@
 // GCC doesn't support the aligned-allocation flags.
 // XFAIL: gcc
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 // RUN: %{build} -faligned-allocation -fsized-deallocation
 // RUN: %{run}
 // RUN: %{build} -faligned-allocation -fno-sized-deallocation -DNO_SIZE
diff --git a/libcxx/test/libcxx/lint/lint_cmakelists.sh.py b/libcxx/test/libcxx/lint/lint_cmakelists.sh.py
index 417f9acdbbdcda..286508c0d4f6df 100644
--- a/libcxx/test/libcxx/lint/lint_cmakelists.sh.py
+++ b/libcxx/test/libcxx/lint/lint_cmakelists.sh.py
@@ -20,7 +20,9 @@
     okay = True
     prevline = lines[1]
     for line in lines[2:]:
-        if line == "  )\n":
+        if line == "\n":
+            continue
+        if line == "# C++03 frozen headers\n":
             break
         if line < prevline:
             okay = False
diff --git a/libcxx/test/libcxx/memory/allocation_guard.pass.cpp b/libcxx/test/libcxx/memory/allocation_guard.pass.cpp
index 493ebf044187c8..20c05b381ef0e7 100644
--- a/libcxx/test/libcxx/memory/allocation_guard.pass.cpp
+++ b/libcxx/test/libcxx/memory/allocation_guard.pass.cpp
@@ -12,6 +12,8 @@
 // To allow checking that self-move works correctly.
 // ADDITIONAL_COMPILE_FLAGS: -Wno-self-move
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 // template<class _Alloc>
 // struct __allocation_guard;
 
diff --git a/libcxx/test/libcxx/memory/swap_allocator.pass.cpp b/libcxx/test/libcxx/memory/swap_allocator.pass.cpp
index 311660290eaef0..f70f8134d1ddaf 100644
--- a/libcxx/test/libcxx/memory/swap_allocator.pass.cpp
+++ b/libcxx/test/libcxx/memory/swap_allocator.pass.cpp
@@ -7,6 +7,8 @@
 //===----------------------------------------------------------------------===//
 //
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 // <memory>
 
 // template <typename _Alloc>
diff --git a/libcxx/test/libcxx/numerics/bit.ops.pass.cpp b/libcxx/test/libcxx/numerics/bit.ops.pass.cpp
index 7f502d6e01d1ea..1bf9d3890f45fb 100644
--- a/libcxx/test/libcxx/numerics/bit.ops.pass.cpp
+++ b/libcxx/test/libcxx/numerics/bit.ops.pass.cpp
@@ -9,6 +9,8 @@
 // Test the __XXXX routines in the <bit> header.
 // These are not supposed to be exhaustive tests, just sanity checks.
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__bit/bit_log2.h>
 #include <__bit/countl.h>
 #include <__bit/rotate.h>
diff --git a/libcxx/test/libcxx/numerics/clamp_to_integral.pass.cpp b/libcxx/test/libcxx/numerics/clamp_to_integral.pass.cpp
index aed78f9cddf846..68d55afa1f2801 100644
--- a/libcxx/test/libcxx/numerics/clamp_to_integral.pass.cpp
+++ b/libcxx/test/libcxx/numerics/clamp_to_integral.pass.cpp
@@ -12,6 +12,8 @@
 // closest representable value for the specified integer type, or
 // numeric_limits<IntT>::max()/min() if the value isn't representable.
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__random/clamp_to_integral.h>
 #include <cassert>
 #include <cmath>
diff --git a/libcxx/test/libcxx/numerics/complex.number/cmplx.over.pow.pass.cpp b/libcxx/test/libcxx/numerics/complex.number/cmplx.over.pow.pass.cpp
index 1c790c283e4387..8c1b3a17c669f4 100644
--- a/libcxx/test/libcxx/numerics/complex.number/cmplx.over.pow.pass.cpp
+++ b/libcxx/test/libcxx/numerics/complex.number/cmplx.over.pow.pass.cpp
@@ -8,6 +8,8 @@
 
 // <complex>
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 //  template<class T, class U> complex<__promote<T, U>::type> pow(const complex<T>&, const U&);
 //  template<class T, class U> complex<__promote<T, U>::type> pow(const complex<T>&, const complex<U>&);
 //  template<class T, class U> complex<__promote<T, U>::type> pow(const T&, const complex<U>&);
diff --git a/libcxx/test/libcxx/selftest/test_macros.pass.cpp b/libcxx/test/libcxx/selftest/test_macros.pass.cpp
index caa31ba333d3c1..9bcf7cf9a31f52 100644
--- a/libcxx/test/libcxx/selftest/test_macros.pass.cpp
+++ b/libcxx/test/libcxx/selftest/test_macros.pass.cpp
@@ -7,6 +7,9 @@
 //===----------------------------------------------------------------------===//
 //
 // Test the "test_macros.h" header.
+
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__config>
 #include "test_macros.h"
 
diff --git a/libcxx/test/libcxx/strings/c.strings/constexpr_memmove.pass.cpp b/libcxx/test/libcxx/strings/c.strings/constexpr_memmove.pass.cpp
index bdc18448d03a43..2009cbe28a91f2 100644
--- a/libcxx/test/libcxx/strings/c.strings/constexpr_memmove.pass.cpp
+++ b/libcxx/test/libcxx/strings/c.strings/constexpr_memmove.pass.cpp
@@ -19,6 +19,8 @@
 // and is_trivially_XXX_assignable), so we use some funky types to test these
 // corner cases.
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__string/constexpr_c_functions.h>
 #include <cassert>
 #include <cstdint>
diff --git a/libcxx/test/libcxx/transitive_includes.gen.py b/libcxx/test/libcxx/transitive_includes.gen.py
index f01dbac26a8e8a..6f992404366327 100644
--- a/libcxx/test/libcxx/transitive_includes.gen.py
+++ b/libcxx/test/libcxx/transitive_includes.gen.py
@@ -90,6 +90,8 @@
 // TODO: Figure out why <stdatomic.h> doesn't work on FreeBSD
 // UNSUPPORTED: LIBCXX-FREEBSD-FIXME
 
+// UNSUPPORTED: FROZEN-CXX03-HEADERS-FIXME
+
 // RUN: mkdir %t
 // RUN: %{{cxx}} %s %{{flags}} %{{compile_flags}} --trace-includes -fshow-skipped-includes --preprocess > /dev/null 2> %t/trace-includes.txt
 // RUN: %{{python}} %{{libcxx-dir}}/test/libcxx/transitive_includes/to_csv.py %t/trace-includes.txt > %t/actual_transitive_includes.csv
diff --git a/libcxx/test/libcxx/type_traits/datasizeof.compile.pass.cpp b/libcxx/test/libcxx/type_traits/datasizeof.compile.pass.cpp
index 51e3a8534baea5..67a4dccb0f5fef 100644
--- a/libcxx/test/libcxx/type_traits/datasizeof.compile.pass.cpp
+++ b/libcxx/test/libcxx/type_traits/datasizeof.compile.pass.cpp
@@ -6,6 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__type_traits/datasizeof.h>
 #include <cstdint>
 #include <type_traits>
diff --git a/libcxx/test/libcxx/type_traits/is_constant_evaluated.pass.cpp b/libcxx/test/libcxx/type_traits/is_constant_evaluated.pass.cpp
index 5a779c0e96e210..a538c52a534e7f 100644
--- a/libcxx/test/libcxx/type_traits/is_constant_evaluated.pass.cpp
+++ b/libcxx/test/libcxx/type_traits/is_constant_evaluated.pass.cpp
@@ -14,6 +14,8 @@
 // returns false when there's no constant evaluation support from the compiler.
 //  as well as when called not in a constexpr context
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__type_traits/is_constant_evaluated.h>
 #include <cassert>
 
diff --git a/libcxx/test/libcxx/type_traits/is_trivially_comparable.compile.pass.cpp b/libcxx/test/libcxx/type_traits/is_trivially_comparable.compile.pass.cpp
index e2be399456b1bc..e9b53080fcd6d6 100644
--- a/libcxx/test/libcxx/type_traits/is_trivially_comparable.compile.pass.cpp
+++ b/libcxx/test/libcxx/type_traits/is_trivially_comparable.compile.pass.cpp
@@ -6,6 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__type_traits/conditional.h>
 #include <__type_traits/is_equality_comparable.h>
 #include <__type_traits/is_signed.h>
diff --git a/libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp b/libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
index 110180ffa055a9..674df1d0219057 100644
--- a/libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
+++ b/libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
@@ -6,6 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__type_traits/is_trivially_relocatable.h>
 #include <array>
 #include <deque>
diff --git a/libcxx/test/libcxx/utilities/exception_guard.odr.sh.cpp b/libcxx/test/libcxx/utilities/exception_guard.odr.sh.cpp
index f6b8a29d368211..fb51a4bf4ed273 100644
--- a/libcxx/test/libcxx/utilities/exception_guard.odr.sh.cpp
+++ b/libcxx/test/libcxx/utilities/exception_guard.odr.sh.cpp
@@ -9,6 +9,8 @@
 // This test relies on `typeid` and thus requires `-frtti`.
 // UNSUPPORTED: no-rtti
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 // Make sure that we don't get ODR violations with __exception_guard when
 // linking together TUs compiled with different values of -f[no-]exceptions.
 
diff --git a/libcxx/test/libcxx/utilities/is_pointer_in_range.pass.cpp b/libcxx/test/libcxx/utilities/is_pointer_in_range.pass.cpp
index fc4d3a9800d119..b0a27c79287d40 100644
--- a/libcxx/test/libcxx/utilities/is_pointer_in_range.pass.cpp
+++ b/libcxx/test/libcxx/utilities/is_pointer_in_range.pass.cpp
@@ -6,6 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__utility/is_pointer_in_range.h>
 #include <cassert>
 
diff --git a/libcxx/test/libcxx/utilities/is_valid_range.pass.cpp b/libcxx/test/libcxx/utilities/is_valid_range.pass.cpp
index 345e2feeda81c7..cb800aee5674bb 100644
--- a/libcxx/test/libcxx/utilities/is_valid_range.pass.cpp
+++ b/libcxx/test/libcxx/utilities/is_valid_range.pass.cpp
@@ -6,6 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__utility/is_valid_range.h>
 #include <cassert>
 
diff --git a/libcxx/test/libcxx/utilities/meta/meta_base.pass.cpp b/libcxx/test/libcxx/utilities/meta/meta_base.pass.cpp
index 89f08088921d59..66c25b1d756385 100644
--- a/libcxx/test/libcxx/utilities/meta/meta_base.pass.cpp
+++ b/libcxx/test/libcxx/utilities/meta/meta_base.pass.cpp
@@ -7,6 +7,8 @@
 //===----------------------------------------------------------------------===//
 //
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include "test_macros.h"
 
 TEST_CLANG_DIAGNOSTIC_IGNORED("-Wprivate-header")
diff --git a/libcxx/test/libcxx/utilities/no_destroy.pass.cpp b/libcxx/test/libcxx/utilities/no_destroy.pass.cpp
index 9a874a64075372..8693bb17089dc3 100644
--- a/libcxx/test/libcxx/utilities/no_destroy.pass.cpp
+++ b/libcxx/test/libcxx/utilities/no_destroy.pass.cpp
@@ -6,6 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <__utility/no_destroy.h>
 #include <cassert>
 
diff --git a/libcxx/test/libcxx/utilities/template.bitset/includes.pass.cpp b/libcxx/test/libcxx/utilities/template.bitset/includes.pass.cpp
index 214b0eff8d9d26..ae8464ac946a96 100644
--- a/libcxx/test/libcxx/utilities/template.bitset/includes.pass.cpp
+++ b/libcxx/test/libcxx/utilities/template.bitset/includes.pass.cpp
@@ -8,6 +8,8 @@
 
 // test that <bitset> includes <string>, <stdexcept> and <iosfwd>
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <bitset>
 
 #include "test_macros.h"
diff --git a/libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp b/libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
index 097e05f29cebd1..bae08241090712 100644
--- a/libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
+++ b/libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
@@ -6,6 +6,8 @@
 //
 //===----------------------------------------------------------------------===//
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 // struct __private_constructor_tag{};
 
 // The private constructor tag is intended to be a trivial type that can easily
diff --git a/libcxx/test/std/containers/sequences/array/array.fill/fill.verify.cpp b/libcxx/test/std/containers/sequences/array/array.fill/fill.verify.cpp
index da16fd4626632d..d82d0d6249b00b 100644
--- a/libcxx/test/std/containers/sequences/array/array.fill/fill.verify.cpp
+++ b/libcxx/test/std/containers/sequences/array/array.fill/fill.verify.cpp
@@ -10,6 +10,8 @@
 
 // void fill(const T& u);
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <array>
 #include <cassert>
 
diff --git a/libcxx/test/std/containers/sequences/array/array.swap/swap.verify.cpp b/libcxx/test/std/containers/sequences/array/array.swap/swap.verify.cpp
index 03cfccac80b738..7816b26578246f 100644
--- a/libcxx/test/std/containers/sequences/array/array.swap/swap.verify.cpp
+++ b/libcxx/test/std/containers/sequences/array/array.swap/swap.verify.cpp
@@ -10,6 +10,8 @@
 
 // void swap(array& a);
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <array>
 #include <cassert>
 
diff --git a/libcxx/test/std/containers/sequences/array/array.tuple/get.verify.cpp b/libcxx/test/std/containers/sequences/array/array.tuple/get.verify.cpp
index d776d72b054670..f3a425e6537cb4 100644
--- a/libcxx/test/std/containers/sequences/array/array.tuple/get.verify.cpp
+++ b/libcxx/test/std/containers/sequences/array/array.tuple/get.verify.cpp
@@ -10,6 +10,8 @@
 
 // template <size_t I, class T, size_t N> T& get(array<T, N>& a);
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 // Prevent -Warray-bounds from issuing a diagnostic when testing with clang verify.
 // ADDITIONAL_COMPILE_FLAGS(gcc-style-warnings): -Wno-array-bounds
 
diff --git a/libcxx/test/std/containers/sequences/array/array.tuple/tuple_element.verify.cpp b/libcxx/test/std/containers/sequences/array/array.tuple/tuple_element.verify.cpp
index 168467a6ed3611..b5c852225e7df6 100644
--- a/libcxx/test/std/containers/sequences/array/array.tuple/tuple_element.verify.cpp
+++ b/libcxx/test/std/containers/sequences/array/array.tuple/tuple_element.verify.cpp
@@ -10,6 +10,8 @@
 
 // tuple_element<I, array<T, N> >::type
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <array>
 #include <cassert>
 
diff --git a/libcxx/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp b/libcxx/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp
index 7ba56577d1bb76..53356b4c7eee40 100644
--- a/libcxx/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp
+++ b/libcxx/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp
@@ -14,6 +14,8 @@
 // Make sure std::array<T, N> has the correct object size and alignment.
 // This test is mostly meant to catch subtle ABI-breaking regressions.
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 // Ignore error about requesting a large alignment not being ABI compatible with older AIX systems.
 #if defined(_AIX)
 #  pragma clang diagnostic ignored "-Waix-compat"
diff --git a/libcxx/test/std/containers/sequences/forwardlist/types.pass.cpp b/libcxx/test/std/containers/sequences/forwardlist/types.pass.cpp
index 54766013d907d3..116891d4980be9 100644
--- a/libcxx/test/std/containers/sequences/forwardlist/types.pass.cpp
+++ b/libcxx/test/std/containers/sequences/forwardlist/types.pass.cpp
@@ -24,6 +24,8 @@
 //   ...
 // };
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <forward_list>
 #include <type_traits>
 
diff --git a/libcxx/test/std/containers/sequences/list/types.pass.cpp b/libcxx/test/std/containers/sequences/list/types.pass.cpp
index 0c0a127bd76f9c..a2d49080f1bcbb 100644
--- a/libcxx/test/std/containers/sequences/list/types.pass.cpp
+++ b/libcxx/test/std/containers/sequences/list/types.pass.cpp
@@ -21,6 +21,8 @@
 //     typedef typename allocator_type::pointer pointer;
 //     typedef typename allocator_type::const_pointer const_pointer;
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <list>
 #include <type_traits>
 
diff --git a/libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp b/libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp
index 679eec24137935..00de05347bfd92 100644
--- a/libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp
+++ b/libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp
@@ -11,6 +11,8 @@
 // (bug report: https://llvm.org/PR58392)
 // Check that vector constructors don't leak memory when an operation inside the constructor throws an exception
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <cstddef>
 #include <memory>
 #include <type_traits>
diff --git a/libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/default.pass.cpp b/libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/default.pass.cpp
index d15276b440157c..d2efaf1561631f 100644
--- a/libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/default.pass.cpp
+++ b/libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/default.pass.cpp
@@ -13,6 +13,8 @@
 
 // basic_fstream();
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <fstream>
 
 #include "test_macros.h"
diff --git a/libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/move.pass.cpp b/libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/move.pass.cpp
index 95a04bdfccdbcb..153487898e1578 100644
--- a/libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/move.pass.cpp
+++ b/libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/move.pass.cpp
@@ -13,6 +13,8 @@
 
 // basic_fstream(basic_fstream&& rhs);
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <fstream>
 #include <cassert>
 
diff --git a/libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/pointer.pass.cpp b/libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/pointer.pass.cpp
index 2e0ebcd684d798..ca226242773ad3 100644
--- a/libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/pointer.pass.cpp
+++ b/libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/pointer.pass.cpp
@@ -18,6 +18,8 @@
 
 // XFAIL: LIBCXX-AIX-FIXME
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <fstream>
 #include <cassert>
 
diff --git a/libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/string.pass.cpp b/libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/string.pass.cpp
index ca0921a00b9b60..28cefc77d6a902 100644
--- a/libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/string.pass.cpp
+++ b/libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/string.pass.cpp
@@ -13,6 +13,8 @@
 
 // explicit basic_fstream(const string& s, ios_base::openmode mode = ios_base::in|ios_base::out);
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <fstream>
 #include <cassert>
 
diff --git a/libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/default.pass.cpp b/libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/default.pass.cpp
index 70d1efca20c655..256380d2c164a0 100644
--- a/libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/default.pass.cpp
+++ b/libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/default.pass.cpp
@@ -13,6 +13,8 @@
 
 // basic_ifstream();
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <fstream>
 
 #include "test_macros.h"
diff --git a/libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/move.pass.cpp b/libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/move.pass.cpp
index 81ec800954cc27..c8be388f406986 100644
--- a/libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/move.pass.cpp
+++ b/libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/move.pass.cpp
@@ -8,6 +8,8 @@
 
 // FILE_DEPENDENCIES: test.dat
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 // <fstream>
 
 // template <class charT, class traits = char_traits<charT> >
diff --git a/libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/pointer.pass.cpp b/libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/pointer.pass.cpp
index 6bbe6f1ff77545..711ab2a74b516b 100644
--- a/libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/pointer.pass.cpp
+++ b/libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/pointer.pass.cpp
@@ -8,6 +8,8 @@
 
 // FILE_DEPENDENCIES: test.dat
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 // <fstream>
 
 // template <class charT, class traits = char_traits<charT> >
diff --git a/libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/string.pass.cpp b/libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/string.pass.cpp
index e1a9b53da1348d..d4bbb3c0cabfce 100644
--- a/libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/string.pass.cpp
+++ b/libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/string.pass.cpp
@@ -15,6 +15,8 @@
 
 // explicit basic_ifstream(const string& s, ios_base::openmode mode = ios_base::in);
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <fstream>
 #include <cassert>
 
diff --git a/libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/default.pass.cpp b/libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/default.pass.cpp
index a7b0918f793653..4cda1db438342e 100644
--- a/libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/default.pass.cpp
+++ b/libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/default.pass.cpp
@@ -13,6 +13,8 @@
 
 // basic_ofstream();
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <fstream>
 
 #include "test_macros.h"
diff --git a/libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/move.pass.cpp b/libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/move.pass.cpp
index ec02fa2621c199..501a4c90ca3feb 100644
--- a/libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/move.pass.cpp
+++ b/libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/move.pass.cpp
@@ -13,6 +13,8 @@
 
 // basic_ofstream(basic_ofstream&& rhs);
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <fstream>
 #include <cassert>
 
diff --git a/libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/pointer.pass.cpp b/libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/pointer.pass.cpp
index fbb03f1e858411..1b5a55df737177 100644
--- a/libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/pointer.pass.cpp
+++ b/libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/pointer.pass.cpp
@@ -18,6 +18,8 @@
 
 // XFAIL: LIBCXX-AIX-FIXME
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <fstream>
 #include <cassert>
 #include <ios>
diff --git a/libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/string.pass.cpp b/libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/string.pass.cpp
index 33a7e9b2b6f50c..bb18c88bd326e6 100644
--- a/libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/string.pass.cpp
+++ b/libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/string.pass.cpp
@@ -13,6 +13,8 @@
 
 // explicit basic_ofstream(const string& s, ios_base::openmode mode = ios_base::out);
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <fstream>
 #include <cassert>
 #include <ios>
diff --git a/libcxx/test/std/input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp b/libcxx/test/std/input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
index d78f7df8f6b5ee..768922192038b0 100644
--- a/libcxx/test/std/input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
+++ b/libcxx/test/std/input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
@@ -15,6 +15,8 @@
 
 // basic_ios& copyfmt(const basic_ios& rhs);
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <ios>
 #include <memory>
 #include <streambuf>
diff --git a/libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/default.pass.cpp b/libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/default.pass.cpp
index 8c73df42ae4bec..8cd23d45598b8f 100644
--- a/libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/default.pass.cpp
+++ b/libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/default.pass.cpp
@@ -15,6 +15,8 @@
 // basic_istringstream() : basic_istringstream(ios_base::in) {}           // C++20
 // explicit basic_istringstream(ios_base::openmode which);                // C++20
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <sstream>
 #include <cassert>
 
diff --git a/libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/move.pass.cpp b/libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/move.pass.cpp
index 00ac7cc6414e9b..1af3304d089717 100644
--- a/libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/move.pass.cpp
+++ b/libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/move.pass.cpp
@@ -13,6 +13,8 @@
 
 // basic_istringstream(basic_istringstream&& rhs);
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <sstream>
 #include <cassert>
 
diff --git a/libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/string.pass.cpp b/libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/string.pass.cpp
index 4a5965e7e96e90..7755dd926c2f68 100644
--- a/libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/string.pass.cpp
+++ b/libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/string.pass.cpp
@@ -14,6 +14,8 @@
 // explicit basic_istringstream(const basic_string<charT,traits,allocator>& str,
 //                              ios_base::openmode which = ios_base::in);
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <sstream>
 #include <cassert>
 
diff --git a/libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/default.pass.cpp b/libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/default.pass.cpp
index a6b98a4e362931..eb248a7801a3c1 100644
--- a/libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/default.pass.cpp
+++ b/libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/default.pass.cpp
@@ -15,6 +15,8 @@
 // basic_ostringstream() : basic_ostringstream(ios_base::out) {}           // C++20
 // explicit basic_ostringstream(ios_base::openmode which);                 // C++20
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <sstream>
 #include <cassert>
 
diff --git a/libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/move.pass.cpp b/libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/move.pass.cpp
index 596a3e7d535844..62ece7b63b31ce 100644
--- a/libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/move.pass.cpp
+++ b/libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/move.pass.cpp
@@ -13,6 +13,8 @@
 
 // basic_ostringstream(basic_ostringstream&& rhs);
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <sstream>
 #include <cassert>
 
diff --git a/libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string.pass.cpp b/libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string.pass.cpp
index 9e9405ad492175..bbec8f79a1862a 100644
--- a/libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string.pass.cpp
+++ b/libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string.pass.cpp
@@ -14,6 +14,8 @@
 // explicit basic_ostringstream(const basic_string<charT,traits,allocator>& str,
 //                              ios_base::openmode which = ios_base::in);
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <sstream>
 #include <cassert>
 
diff --git a/libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.cons/default.pass.cpp b/libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.cons/default.pass.cpp
index d131f5c9a6fa73..dac43967d815f6 100644
--- a/libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.cons/default.pass.cpp
+++ b/libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.cons/default.pass.cpp
@@ -15,6 +15,8 @@
 // basic_stringbuf() : basic_stringbuf(ios_base::in | ios_base::out) {}               // C++20
 // explicit basic_stringbuf(ios_base::openmode which);                                // C++20
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <sstream>
 #include <cassert>
 
diff --git a/libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/default.pass.cpp b/libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/default.pass.cpp
index 4f9e7e026c50f2..0e535814ae54ee 100644
--- a/libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/default.pass.cpp
+++ b/libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/default.pass.cpp
@@ -15,6 +15,8 @@
 // basic_stringstream() : basic_stringstream(ios_base::out | ios_base::in) {}            // C++20
 // explicit basic_stringstream(ios_base::openmode which);                                // C++20
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <sstream>
 #include <cassert>
 
diff --git a/libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/move.pass.cpp b/libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/move.pass.cpp
index 0702d9a278d3cb..e905f5f7c686a5 100644
--- a/libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/move.pass.cpp
+++ b/libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/move.pass.cpp
@@ -13,6 +13,8 @@
 
 // basic_stringstream(basic_stringstream&& rhs);
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <sstream>
 #include <cassert>
 
diff --git a/libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/string.pass.cpp b/libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/string.pass.cpp
index 08880878361da4..d4fe18afbd28fa 100644
--- a/libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/string.pass.cpp
+++ b/libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/string.pass.cpp
@@ -14,6 +14,8 @@
 // explicit basic_stringstream(const basic_string<charT,traits,Allocator>& str,
 //                             ios_base::openmode which = ios_base::out|ios_base::in);
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <sstream>
 #include <cassert>
 
diff --git a/libcxx/test/std/language.support/support.runtime/cstdalign.compile.pass.cpp b/libcxx/test/std/language.support/support.runtime/cstdalign.compile.pass.cpp
index fbbaf9b2d136f9..69296dfa501216 100644
--- a/libcxx/test/std/language.support/support.runtime/cstdalign.compile.pass.cpp
+++ b/libcxx/test/std/language.support/support.runtime/cstdalign.compile.pass.cpp
@@ -10,6 +10,8 @@
 
 // ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <cstdalign>
 
 #ifndef __alignas_is_defined
diff --git a/libcxx/test/std/numerics/c.math/isnormal.pass.cpp b/libcxx/test/std/numerics/c.math/isnormal.pass.cpp
index 76c3d13520d996..03b086fa3f48e7 100644
--- a/libcxx/test/std/numerics/c.math/isnormal.pass.cpp
+++ b/libcxx/test/std/numerics/c.math/isnormal.pass.cpp
@@ -11,6 +11,8 @@
 // We don't control the implementation on windows
 // UNSUPPORTED: windows
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <cassert>
 #include <cmath>
 #include <limits>
diff --git a/libcxx/test/std/numerics/c.math/signbit.pass.cpp b/libcxx/test/std/numerics/c.math/signbit.pass.cpp
index a8a566f7de6434..cbad968a8aa203 100644
--- a/libcxx/test/std/numerics/c.math/signbit.pass.cpp
+++ b/libcxx/test/std/numerics/c.math/signbit.pass.cpp
@@ -14,6 +14,8 @@
 // These compilers don't support constexpr `__builtin_signbit` yet.
 // UNSUPPORTED: clang-17, clang-18, clang-19, apple-clang-15, apple-clang-16
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <cassert>
 #include <cmath>
 #include <limits>
diff --git a/libcxx/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/init.pass.cpp b/libcxx/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/init.pass.cpp
index a5087817223c52..2f9f6360a8b8eb 100644
--- a/libcxx/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/init.pass.cpp
+++ b/libcxx/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/init.pass.cpp
@@ -18,6 +18,8 @@
 //                      regex_constants::match_flag_type m =
 //                                              regex_constants::match_default);
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <regex>
 #include <cassert>
 #include <iterator>
diff --git a/libcxx/test/std/strings/basic.string/char.bad.verify.cpp b/libcxx/test/std/strings/basic.string/char.bad.verify.cpp
index bedc5f19a6a881..c206c1ce8df45d 100644
--- a/libcxx/test/std/strings/basic.string/char.bad.verify.cpp
+++ b/libcxx/test/std/strings/basic.string/char.bad.verify.cpp
@@ -9,6 +9,8 @@
 // <string>
 //   ... manipulating sequences of any non-array trivial standard-layout types.
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <string>
 #include "test_traits.h"
 
diff --git a/libcxx/test/std/strings/string.view/char.bad.verify.cpp b/libcxx/test/std/strings/string.view/char.bad.verify.cpp
index 735e3e5d2e7162..df917363881505 100644
--- a/libcxx/test/std/strings/string.view/char.bad.verify.cpp
+++ b/libcxx/test/std/strings/string.view/char.bad.verify.cpp
@@ -8,6 +8,8 @@
 
 // UNSUPPORTED: !stdlib=libc++ && (c++03 || c++11 || c++14)
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 // <string_view>
 //   ... manipulating sequences of any non-array trivial standard-layout types.
 
diff --git a/libcxx/test/std/utilities/template.bitset/bitset.members/nonstdmem.uglified.compile.pass.cpp b/libcxx/test/std/utilities/template.bitset/bitset.members/nonstdmem.uglified.compile.pass.cpp
index f1daa7c3dcce93..ae3ac819b1f9c6 100644
--- a/libcxx/test/std/utilities/template.bitset/bitset.members/nonstdmem.uglified.compile.pass.cpp
+++ b/libcxx/test/std/utilities/template.bitset/bitset.members/nonstdmem.uglified.compile.pass.cpp
@@ -13,6 +13,8 @@
 //
 // See https://github.com/llvm/llvm-project/issues/111125.
 
+// XFAIL: FROZEN-CXX03-HEADERS-FIXME
+
 #include <cstddef>
 #include <bitset>
 #include <type_traits>
diff --git a/libcxx/test/support/test_macros.h b/libcxx/test/support/test_macros.h
index 7f50282d627176..676c865914b403 100644
--- a/libcxx/test/support/test_macros.h
+++ b/libcxx/test/support/test_macros.h
@@ -214,7 +214,11 @@
 #define TEST_IS_EXECUTED_IN_A_SLOW_ENVIRONMENT
 #endif
 
-#if defined(_LIBCPP_VERSION) && !_LIBCPP_HAS_ALIGNED_ALLOCATION
+#ifdef _LIBCPP_USE_FROZEN_CXX03_HEADERS
+#  ifdef _LIBCPP_HAS_NO_ALIGNED_ALLOCATION
+#    define TEST_HAS_NO_ALIGNED_ALLOCATION
+#  endif
+#elif defined(_LIBCPP_VERSION) && !_LIBCPP_HAS_ALIGNED_ALLOCATION
 #  define TEST_HAS_NO_ALIGNED_ALLOCATION
 #elif TEST_STD_VER < 17 && (!defined(__cpp_aligned_new) || __cpp_aligned_new < 201606L)
 #  define TEST_HAS_NO_ALIGNED_ALLOCATION
@@ -262,7 +266,9 @@
 
 #define TEST_IGNORE_NODISCARD (void)
 
-#if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_FROM_CHARS_FLOATING_POINT
+#ifdef _LIBCPP_USE_FROZEN_CXX03_HEADERS
+// from-chars is a C++17 feature, so it's never available anyways
+#elif !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_FROM_CHARS_FLOATING_POINT
 #  define TEST_HAS_FROM_CHARS_FLOATING_POINT
 #endif
 
@@ -401,11 +407,19 @@ inline Tp const& DoNotOptimize(Tp const& value) {
 #  define TEST_HAS_NO_UNICODE
 #endif
 
-#if defined(_LIBCPP_VERSION) && _LIBCPP_HAS_OPEN_WITH_WCHAR
+#ifdef _LIBCPP_USE_FROZEN_CXX03_HEADERS
+#  ifdef _LIBCPP_HAS_OPEN_WITH_WCHAR
+#    define TEST_HAS_OPEN_WITH_WCHAR
+#  endif
+#elif defined(_LIBCPP_VERSION) && _LIBCPP_HAS_OPEN_WITH_WCHAR
 #  define TEST_HAS_OPEN_WITH_WCHAR
 #endif
 
-#if (defined(_LIBCPP_VERSION) && !_LIBCPP_HAS_INT128) || defined(_MSVC_STL_VERSION)
+#ifdef _LIBCPP_USE_FROZEN_CXX03_HEADERS
+#  ifdef _LIBCPP_HAS_NO_INT128
+#    define TEST_HAS_NO_INT128
+#  endif
+#elif (defined(_LIBCPP_VERSION) && !_LIBCPP_HAS_INT128) || defined(_MSVC_STL_VERSION)
 #  define TEST_HAS_NO_INT128
 #endif
 
@@ -425,7 +439,11 @@ inline Tp const& DoNotOptimize(Tp const& value) {
 #  define TEST_HAS_NO_FILESYSTEM
 #endif
 
-#if defined(_LIBCPP_VERSION) && !_LIBCPP_HAS_C8RTOMB_MBRTOC8
+#ifdef _LIBCPP_USE_FROZEN_CXX03_HEADERS
+#  ifdef _LIBCPP_HAS_NO_C8RTOMB_MBRTOC8
+#    define TEST_HAS_NO_C8RTOMB_MBRTOC8
+#  endif
+#elif defined(_LIBCPP_VERSION) && !_LIBCPP_HAS_C8RTOMB_MBRTOC8
 #  define TEST_HAS_NO_C8RTOMB_MBRTOC8
 #endif
 
@@ -499,7 +517,9 @@ inline Tp const& DoNotOptimize(Tp const& value) {
 #endif
 
 // Clang-18 has support for deducing this, but it does not set the FTM.
-#if defined(_LIBCPP_VERSION) && _LIBCPP_HAS_EXPLICIT_THIS_PARAMETER
+#ifdef _LIBCPP_USE_FROZEN_CXX03_HEADERS
+// This is a C++20 featue, so we don't care whether the compiler could support it
+#elif defined(_LIBCPP_VERSION) && _LIBCPP_HAS_EXPLICIT_THIS_PARAMETER
 #  define TEST_HAS_EXPLICIT_THIS_PARAMETER
 #endif
 
diff --git a/libcxx/test/tools/clang_tidy_checks/proper_version_checks.cpp b/libcxx/test/tools/clang_tidy_checks/proper_version_checks.cpp
index 15093a4357bb7d..ebd0d8892fa94c 100644
--- a/libcxx/test/tools/clang_tidy_checks/proper_version_checks.cpp
+++ b/libcxx/test/tools/clang_tidy_checks/proper_version_checks.cpp
@@ -39,6 +39,9 @@ class proper_version_checks_callbacks : public clang::PPCallbacks {
     if (preprocessor_.getSourceManager().isInMainFile(location))
       return;
 
+    if (condition == "__cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)")
+      return;
+
     if (condition.starts_with("_LIBCPP_STD_VER") && condition.find(">") != std::string_view::npos &&
         condition.find(">=") == std::string_view::npos)
       check_.diag(location, "_LIBCPP_STD_VER >= version should be used instead of _LIBCPP_STD_VER > prev_version");
diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot
index a832380e16cd83..f1ede6474eb9ee 100755
--- a/libcxx/utils/ci/run-buildbot
+++ b/libcxx/utils/ci/run-buildbot
@@ -281,6 +281,12 @@ check-generated-output)
 #
 # Various Standard modes
 #
+frozen-cxx03-headers)
+    clean
+    generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx03-frozen.cmake"
+    check-runtimes
+    check-abi-list
+;;
 generic-cxx03)
     clean
     generate-cmake -C "${MONOREPO_ROOT}/libcxx/cmake/caches/Generic-cxx03.cmake"
diff --git a/libcxx/utils/generate_feature_test_macro_components.py b/libcxx/utils/generate_feature_test_macro_components.py
index 0b5c0f107134ba..a2ce69892eeb74 100755
--- a/libcxx/utils/generate_feature_test_macro_components.py
+++ b/libcxx/utils/generate_feature_test_macro_components.py
@@ -1629,16 +1629,21 @@ def produce_version_header():
 
 */
 
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/version>
+#else
+#  include <__config>
 
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#  pragma GCC system_header
-#endif
+#  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+#    pragma GCC system_header
+#  endif
 
 // clang-format off
 
 {cxx_macros}
 
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+
 // clang-format on
 
 #endif // _LIBCPP_VERSIONH
diff --git a/libcxx/utils/libcxx/test/params.py b/libcxx/utils/libcxx/test/params.py
index 2c5cb169c0a9a3..947cfd26513643 100644
--- a/libcxx/utils/libcxx/test/params.py
+++ b/libcxx/utils/libcxx/test/params.py
@@ -448,5 +448,12 @@ def getSuitableClangTidy(cfg):
             AddSubstitution('%{clang-tidy}', exe),
         ]
     ),
+    Parameter(
+        name='test_frozen_cxx03_headers',
+        type=bool,
+        default=False,
+        help="Whether to test the main or C++03-specific headers. Only changes behaviour when std=c++03.",
+        actions=lambda enabled: [] if not enabled else [AddFlag("-D_LIBCPP_USE_FROZEN_CXX03_HEADERS"), AddFeature("FROZEN-CXX03-HEADERS-FIXME")],
+    ),
 ]
 # fmt: on
diff --git a/libcxx/vendor/llvm/default_assertion_handler.in b/libcxx/vendor/llvm/default_assertion_handler.in
index e12ccccdaff37f..1d6b21fc6bb456 100644
--- a/libcxx/vendor/llvm/default_assertion_handler.in
+++ b/libcxx/vendor/llvm/default_assertion_handler.in
@@ -10,8 +10,13 @@
 #ifndef _LIBCPP___ASSERTION_HANDLER
 #define _LIBCPP___ASSERTION_HANDLER
 
-#include <__config>
-#include <__verbose_abort>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+#  include <__cxx03/__config>
+#  include <__cxx03/__verbose_abort>
+#else
+#  include <__config>
+#  include <__verbose_abort>
+#endif
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header



More information about the libcxx-commits mailing list