From b9a2658a3e8bd13b0f9e7a8a440832a95b377216 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser <nikolasklauser@berlin.de>
Date: Sat, 21 Dec 2024 13:01:48 +0100
Subject: [PATCH] [libc++][C++03] Use `__cxx03/` headers in C++03 mode
 (#109002)

This patch implements the forwarding to frozen C++03 headers as
discussed in
https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc. In the
RFC, we initially proposed selecting the right headers from the Clang
driver, however consensus seemed to steer towards handling this in the
library itself. This patch implements that direction.

At a high level, the changes basically amount to making each public
header look like this:

```
// inside <vector>
#ifdef _LIBCPP_CXX03_LANG
#  include <__cxx03/vector>
#else
  // normal <vector> content
#endif
```

In most cases, public headers are simple umbrella headers so there isn't
much code in the #else branch. In other cases, the #else branch contains
the actual implementation of the header.
---
 .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                            |    7 +-
 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                       |    9 +-
 libcxx/include/stop_token                     |    7 +-
 libcxx/include/streambuf                      |    7 +-
 libcxx/include/string                         |    9 +-
 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, 2889 insertions(+), 2506 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 a061be389252..a28bf4d5daf6 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 000000000000..dfd158bf6edb
--- /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 b5bbfbe7d3a2..0b484ebe5e87 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 b61442da89d4..000000000000
--- 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 935fa4cc404f..3e8f181664c9 100644
--- a/libcxx/include/__cxx03/__config
+++ b/libcxx/include/__cxx03/__config
@@ -10,10 +10,10 @@
 #ifndef _LIBCPP___CXX03___CONFIG
 #define _LIBCPP___CXX03___CONFIG
 
-#include <__config_site>
 #include <__cxx03/__configuration/abi.h>
 #include <__cxx03/__configuration/availability.h>
 #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/abi.h b/libcxx/include/__cxx03/__configuration/abi.h
index 9e7f7313c883..740aec39a348 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 2f33fb1f6ef4..4d53a2144a50 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 000000000000..974a17af495c
--- /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 604f2d2cd532..8fd09f4b2255 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 b4718986ad10..24590503693a 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 e61e950a42c7..a73b724df6c1 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,8 +15,8 @@
 
 #include <__cxx03/__locale_dir/locale_base_api/locale_guard.h>
 #include <__cxx03/cstdio>
-#include <__cxx03/stdarg.h>
 #include <__cxx03/stdlib.h>
+#include <stdarg.h>
 
 #ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
 #  include <__cxx03/cwchar>
diff --git a/libcxx/include/__cxx03/__thread/support/pthread.h b/libcxx/include/__cxx03/__thread/support/pthread.h
index a4d7c874e683..4dc7a4980de2 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 37d8c41a0c6d..2c6fe5ab95b4 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 78c0fd7763af..6360bbc2f6b6 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 13d0dce34d97..34a2d0f25fc4 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 dd0fe4b4d281..ed1857db05b3 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 080fca8c1ca5..e593ae26ed6e 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 c8658a468713..934c4dbd45a6 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 7aed70f91fdd..516d96538f5a 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 64635d099af9..80f9e437bfaa 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 705cb7d9ac52..6861532b02ba 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 a5a317ebb232..3fea10ba25c4 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 e2dc7b459f1c..8b3618248055 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 18e6e2935336..9d3cd77fcf2d 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 bd5a811b7e9f..10eb8a36e417 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 ee3002b2cc5f..abe0ec44e3a6 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 63017d07c019..15925d438109 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 47ed700f4bee..d7ea77029753 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 fc37f58f4f12..18b4afd28ee8 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 258779ad0a55..3526bb9ae05f 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 6654a6776d39..d9a8afef933b 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 053067d4d625..4c7e2c5a5bf3 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 965b78741a0b..5b956401430a 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 b31f77d9e859..a051d964bbce 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 4199487a3992..9ca82fa15be2 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 ff8e7e1bf148..9cf044d4d023 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 ce6d995f37ab..f7ae804c6789 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 97871e679bf3..0c19a5bb5f81 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 bfc27bb38341..bc73f313c2ce 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 5bc7ab435ca7..8a1f92689601 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 2fe5400c2c71..ff3fd153a38d 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 f351f13b7138..81699bf6adbf 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 c39aa9a3da0c..d745844da8e9 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 bd512720be00..39ab035a5f38 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 92edf08f683e..a15d17d3169d 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 ab78344cd36c..6a277e467300 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 1930fc95cf85..069fe100880a 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 a436c5c851a8..a12954f07398 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 2e79d0524366..d86d87bbbb9b 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 594478930500..11839eeb071e 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 1b1a05d264b3..df9da1b4c878 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 03e68957f71e..adeee29b93fd 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 f41488586410..4aa14feeec28 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 d8bb64032eca..237f474f01c2 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 6c5b0166f9e4..1e845a8de093 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 611f94036a1b..066f45018bbf 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 3ace72f1f8b1..38505eb336f8 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 f97d9c43433a..4a4b052831a9 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 848aadd8a1d1..b7f9cbb835e3 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 63eb83655310..883332f1ebdc 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 648d22e98846..692f00f022c5 100644
--- a/libcxx/include/errno.h
+++ b/libcxx/include/errno.h
@@ -22,8 +22,9 @@ Macros:
 
 */
 
-#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 6565f1b4641d..74229cd16c00 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 e8ef8b1e6ee7..7c695997cd04 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 ac2415ff5a62..38038d328f17 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 5075de537b6a..8448654e8d94 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 cb02ecb8e2be..1daa1cc4f3ed 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 4d06e9f844ac..8af3be366ad5 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 374ab57cdbca..224cc75ba0eb 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 0da95b79f8ab..0353526bc8f6 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 1cb9c6a3617a..0c9b2b0c789c 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 c9e35479b88c..c0336620cf88 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 073fcf2fd991..2f86649d6e98 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 dddf59d47f02..157c24faa104 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 f6f5dcb1cc40..f9eb0ea1e24d 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 1f2c204e2ef2..dbe5d8ee8f8c 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 2874323538b7..a6e79db91248 100644
--- a/libcxx/include/float.h
+++ b/libcxx/include/float.h
@@ -70,8 +70,9 @@ Macros:
 
 */
 
-#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 @@ Macros:
 #    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 6ac1e928b26a..ecf8f7ce1eed 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 23e8e5163217..c1ab155d5a13 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 9722440808e3..f0e9425e0a53 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 69f71314f051..4bb163fd1f33 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 3a612d80bc85..95a51fa425e4 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 46ffb95f83a6..07c51f32fee7 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 552324516c11..1869284550e9 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 84842dc3fa6c..a97b4a94d232 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 23e8fdf1a607..7c2ee83d4624 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 3f8a4cd3d4d8..708134daf98c 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 067a7c111f43..0e83f0002ae6 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 c2edc9ab2260..4b177c41cc32 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 b9bc18811068..74ee712b945b 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 d21b689cc481..471ef143e8d5 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 c27950f42106..1c1a0b29b718 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 a9d14272742b..5e2fd40d6ee9 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 8421dc696106..981f25ed1e98 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 90f807f89bdc..76d32ad883d6 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>
@@ -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 c338d3225dd5..de2dacde282c 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 02582c6f39c1..a67ed1834e3b 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 883666b9e1be..fc62606ea0fd 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 e852e96536c9..5464fc09c7cd 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 b699439c5ce5..9b128e8710aa 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 8dd726f63a0e..4d72ec27675c 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 41ee888ba8a9..7c9e38ecb9da 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 6055524b0499..2f2b86136fb9 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 1556b8b8fd94..165e0f16cab9 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 900863c035be..4a627a07a4a2 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 3d846aeab3a8..1794d6014efc 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 bebea92fc742..ff69d75591de 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 08e9c384538f..a2fc2bd5197e 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 2c6057e30420..9ef614d21f52 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 9e56eacae0f2..b35e2bd9dad6 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 1983ca9d9ff8..15ec15a6985e 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 c207ac07bdc4..94a35f64603b 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 82f9726a96f6..4194dbe91b48 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 c4b0b018f27c..2784e82760d7 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 a6615ea8962f..6738efeedb3c 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 faa6b0eeb6c0..bbbb86bc68c8 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 2d43d1d1079e..5bb09ec515ce 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 920c29dee62f..5dcfb446a5d6 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 da3dcf0216ae..3ff3df2c9650 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 8c96bd636dd4..a0b46e3b7bc1 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 9f1779e992c7..c34853b97b85 100644
--- a/libcxx/include/stdbool.h
+++ b/libcxx/include/stdbool.h
@@ -19,8 +19,9 @@ Macros:
 
 */
 
-#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 @@ Macros:
 #    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 66ad85fe631d..46bed2a1e1a6 100644
--- a/libcxx/include/stddef.h
+++ b/libcxx/include/stddef.h
@@ -24,8 +24,9 @@ Types:
 
 */
 
-#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 @@ Types:
 #    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 58c55092026a..85e11629bd6e 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 7c73671ade08..d1e57b08f5da 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 b8a28809a951..e32b7b7d751b 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)
@@ -147,7 +148,7 @@ inline _LIBCPP_HIDE_FROM_ABI lldiv_t div(long long __x, long long __y) _NOEXCEPT
 #        endif
 #      endif // _LIBCPP_MSVCRT
 } // extern "C++"
-#    endif // __cplusplus
-#  endif   // 0
+#    endif   // __cplusplus
+#  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 6a6d1330248c..d240dd77a913 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 12f6b319f70e..7f02a9b33141 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 e96237488b80..7808f56f6001 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>
@@ -2495,7 +2496,7 @@ basic_string<_CharT, _Traits, _Allocator>::__init_with_size(_InputIterator __fir
       __alloc_traits::deallocate(__alloc_, __get_long_pointer(), __get_long_cap());
     throw;
   }
-#  endif // _LIBCPP_HAS_EXCEPTIONS
+#  endif                       // _LIBCPP_HAS_EXCEPTIONS
   __annotate_new(__sz);
 }
 
@@ -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 58a4bcbc3e70..6bdcd6a6eecb 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 a62d75a008c0..e79746318cfa 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 81dbdf14d9e6..90d56694e7a6 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 f801132d436b..82761be76542 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 351e26fd4735..4dadc0a6ab48 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 41cae5c2318c..3f8f14fd579a 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 719ebe9a7a23..029ed418e207 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 035c67a12f85..016cdda6decb 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 d7fa8c3ad8f2..ffcddb017661 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 5ecba006ff1c..76faee4bf199 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 8d3ebea08d8d..799c6ebd5ecb 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 440e00511a66..01e1d57db745 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 e55b7b7ef140..0ae413849177 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 6f243e0235ce..87f0a9f438ef 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 c761a83000f3..fb8a6f81350b 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 ef94dde9bc88..d0b76ee06e79 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 7d2788e2414e..3fa1b4b30f05 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 a35686f56b0d..9fa81dcb7e76 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 fc57aeade9da..23cffd960e5d 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 85f16fcf476f..436027b7842a 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 fb48d495e039..9a5b163ba43a 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 40f469741957..88a18e859292 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 21e9003c30b7..390c6b6db190 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 0cc4b1e00522..803868b75779 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 8332848c1a8e..b64290a31a12 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 13253e4cb6ef..474edc9dc083 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 a52459abb9e0..323072da1446 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 dc815d9c772b..379ac22c8f47 100644
--- a/libcxx/test/libcxx/clang_modules_include.gen.py
+++ b/libcxx/test/libcxx/clang_modules_include.gen.py
@@ -52,6 +52,8 @@ for header in public_headers:
 // 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 c3d100e53711..a99f4fff1300 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 12289c84a9cc..bebdcaaedf10 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 b766489adc69..f8073d6233c9 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 e9afd845a7e3..0b2d86722912 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 04d2b094aad6..16ca81fddc7d 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 cea074a4e70f..55d42a8d017e 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 2a112aff227d..bee2012bbea2 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 1452bfbaf396..22be21748795 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 c5e420387fda..4b389fa759f8 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 0b56c96f8d4e..8a5d448dbf92 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 0efbe0342d0b..17a29033856c 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 d0ac71739d7e..f756aacbc1cd 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 739caf915c09..e00cf180d17a 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 @@ for header in public_headers:
     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 2157b2eb3cdf..37ab176ea26a 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 b77f6a020131..f936d8db47af 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 435e1df6dc4b..7d713ed58163 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 f947507b23a1..445ddd1eb9e4 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 d6caa3389b8f..2b6c3802a56b 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 466ad70558fe..89dc884c5da1 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 60587d5bfe5d..33774578e233 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 45d0cc3b95f9..3fc735b44167 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 cef2157469c8..a12b77afa0db 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 bfd779d644f5..22ad8c6706d6 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 56ded9ae5ed2..d205c5b03ee3 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 372559594143..4d3690953070 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 479d40a5eb08..ba2697c78986 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 da0a336815a5..ffef68772398 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 37e3f8167051..b283c8aa06f0 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 417f9acdbbdc..286508c0d4f6 100644
--- a/libcxx/test/libcxx/lint/lint_cmakelists.sh.py
+++ b/libcxx/test/libcxx/lint/lint_cmakelists.sh.py
@@ -20,7 +20,9 @@ if __name__ == "__main__":
     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 493ebf044187..20c05b381ef0 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 311660290eae..f70f8134d1dd 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 7f502d6e01d1..1bf9d3890f45 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 aed78f9cddf8..68d55afa1f28 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 1c790c283e43..8c1b3a17c669 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 caa31ba333d3..9bcf7cf9a31f 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 bdc18448d03a..2009cbe28a91 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 f01dbac26a8e..6f9924043663 100644
--- a/libcxx/test/libcxx/transitive_includes.gen.py
+++ b/libcxx/test/libcxx/transitive_includes.gen.py
@@ -90,6 +90,8 @@ else:
 // 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 51e3a8534bae..67a4dccb0f5f 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 5a779c0e96e2..a538c52a534e 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 e2be399456b1..e9b53080fcd6 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 110180ffa055..674df1d02190 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 f6b8a29d3682..fb51a4bf4ed2 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 fc4d3a9800d1..b0a27c79287d 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 345e2feeda81..cb800aee5674 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 89f08088921d..66c25b1d7563 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 9a874a640753..8693bb17089d 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 214b0eff8d9d..ae8464ac946a 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 097e05f29ceb..bae082410907 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 da16fd462663..d82d0d6249b0 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 03cfccac80b7..7816b2657824 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 d776d72b0546..f3a425e6537c 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 168467a6ed36..b5c852225e7d 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 7ba56577d1bb..53356b4c7eee 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 54766013d907..116891d4980b 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 0c0a127bd76f..a2d49080f1bc 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 679eec241379..00de05347bfd 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 d15276b44015..d2efaf156163 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 95a04bdfccdb..153487898e15 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 2e0ebcd684d7..ca226242773a 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 ca0921a00b9b..28cefc77d6a9 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 70d1efca20c6..256380d2c164 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 81ec800954cc..c8be388f4069 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 6bbe6f1ff775..711ab2a74b51 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 e1a9b53da134..d4bbb3c0cabf 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 a7b0918f7936..4cda1db43834 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 ec02fa2621c1..501a4c90ca3f 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 fbb03f1e8584..1b5a55df7371 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 33a7e9b2b6f5..bb18c88bd326 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 d78f7df8f6b5..768922192038 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 8c73df42ae4b..8cd23d45598b 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 00ac7cc6414e..1af3304d0897 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 4a5965e7e96e..7755dd926c2f 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 a6b98a4e3629..eb248a7801a3 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 596a3e7d5358..62ece7b63b31 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 9e9405ad4921..bbec8f79a186 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 d131f5c9a6fa..dac43967d815 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 4f9e7e026c50..0e535814ae54 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 0702d9a278d3..e905f5f7c686 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 08880878361d..d4fe18afbd28 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 fbbaf9b2d136..69296dfa5012 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 76c3d13520d9..03b086fa3f48 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 a8a566f7de64..cbad968a8aa2 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 a5087817223c..2f9f6360a8b8 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 bedc5f19a6a8..c206c1ce8df4 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 735e3e5d2e71..df9173638815 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 f1daa7c3dcce..ae3ac819b1f9 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 7f50282d6271..676c865914b4 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 15093a4357bb..ebd0d8892fa9 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 @@ private:
     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 a832380e16cd..f1ede6474eb9 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 0b5c0f107134..a2ce69892eeb 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 2c5cb169c0a9..947cfd265136 100644
--- a/libcxx/utils/libcxx/test/params.py
+++ b/libcxx/utils/libcxx/test/params.py
@@ -448,5 +448,12 @@ DEFAULT_PARAMETERS = [
             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 e12ccccdaff3..1d6b21fc6bb4 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