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