summaryrefslogtreecommitdiff
path: root/libcxx/include
diff options
context:
space:
mode:
authorMichael Kruse <llvm-project@meinersbur.de>2025-01-03 10:22:51 +0100
committerMichael Kruse <llvm-project@meinersbur.de>2025-01-03 10:22:51 +0100
commit38500d63e14ce340236840f60d356cdefb56a52c (patch)
tree17edbec446ce9b50d2f215a483b83afb293a635d /libcxx/include
parent1a3d5daaef7a6a63448a497da3eff7fc9e23df26 (diff)
parent27f30029741ecf023baece7b3dde1ff9011ffefc (diff)
Merge branch 'main' into users/meinersbur/flang_runtime_split-headersusers/meinersbur/flang_runtime_split-headers
Diffstat (limited to 'libcxx/include')
-rw-r--r--libcxx/include/CMakeLists.txt1038
-rw-r--r--libcxx/include/__algorithm/adjacent_find.h2
-rw-r--r--libcxx/include/__algorithm/binary_search.h1
-rw-r--r--libcxx/include/__algorithm/equal.h1
-rw-r--r--libcxx/include/__algorithm/equal_range.h4
-rw-r--r--libcxx/include/__algorithm/fill_n.h1
-rw-r--r--libcxx/include/__algorithm/find.h1
-rw-r--r--libcxx/include/__algorithm/find_end.h1
-rw-r--r--libcxx/include/__algorithm/find_first_of.h1
-rw-r--r--libcxx/include/__algorithm/for_each.h1
-rw-r--r--libcxx/include/__algorithm/includes.h1
-rw-r--r--libcxx/include/__algorithm/inplace_merge.h3
-rw-r--r--libcxx/include/__algorithm/is_heap.h1
-rw-r--r--libcxx/include/__algorithm/is_permutation.h1
-rw-r--r--libcxx/include/__algorithm/is_sorted.h1
-rw-r--r--libcxx/include/__algorithm/is_sorted_until.h1
-rw-r--r--libcxx/include/__algorithm/lower_bound.h1
-rw-r--r--libcxx/include/__algorithm/make_projected.h3
-rw-r--r--libcxx/include/__algorithm/merge.h1
-rw-r--r--libcxx/include/__algorithm/mismatch.h9
-rw-r--r--libcxx/include/__algorithm/simd_utils.h77
-rw-r--r--libcxx/include/__algorithm/stable_partition.h1
-rw-r--r--libcxx/include/__algorithm/stable_sort.h1
-rw-r--r--libcxx/include/__atomic/atomic.h2
-rw-r--r--libcxx/include/__atomic/atomic_flag.h2
-rw-r--r--libcxx/include/__atomic/atomic_sync.h1
-rw-r--r--libcxx/include/__atomic/contention_t.h2
-rw-r--r--libcxx/include/__atomic/fence.h2
-rw-r--r--libcxx/include/__atomic/support.h124
-rw-r--r--libcxx/include/__atomic/support/c11.h (renamed from libcxx/include/__atomic/cxx_atomic_impl.h)269
-rw-r--r--libcxx/include/__atomic/support/gcc.h265
-rw-r--r--libcxx/include/__bit_reference6
-rw-r--r--libcxx/include/__config6
-rw-r--r--libcxx/include/__cxx03/CMakeLists.txt1092
-rw-r--r--libcxx/include/__cxx03/__algorithm/adjacent_find.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/all_of.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/any_of.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/binary_search.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/clamp.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/comp.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/comp_ref_type.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/copy.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/copy_backward.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/copy_if.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/copy_move_common.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/copy_n.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/count.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/count_if.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/equal.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/equal_range.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/fill.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/fill_n.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/find.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/find_end.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/find_first_of.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/find_if.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/find_if_not.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/find_segment_if.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/fold.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/for_each.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/for_each_n.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/for_each_segment.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/generate.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/generate_n.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/half_positive.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/in_found_result.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/in_fun_result.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/in_in_out_result.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/in_in_result.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/in_out_out_result.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/in_out_result.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/includes.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/inplace_merge.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/is_heap.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/is_heap_until.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/is_partitioned.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/is_permutation.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/is_sorted.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/is_sorted_until.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/iter_swap.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/iterator_operations.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/lexicographical_compare.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/lexicographical_compare_three_way.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/lower_bound.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/make_heap.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/make_projected.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/max.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/max_element.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/merge.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/min.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/min_element.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/min_max_result.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/minmax.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/minmax_element.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/mismatch.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/move.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/move_backward.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/next_permutation.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/none_of.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/nth_element.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/partial_sort.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/partial_sort_copy.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/partition.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/partition_copy.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/partition_point.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/pop_heap.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/prev_permutation.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/pstl.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/push_heap.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_adjacent_find.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_all_of.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_any_of.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_binary_search.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_clamp.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_contains.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_contains_subrange.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_copy.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_copy_backward.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_copy_if.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_copy_n.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_count.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_count_if.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_ends_with.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_equal.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_equal_range.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_fill.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_fill_n.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_find.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_find_end.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_find_first_of.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_find_if.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_find_if_not.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_find_last.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_for_each.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_for_each_n.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_generate.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_generate_n.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_includes.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_inplace_merge.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_is_heap.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_is_heap_until.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_is_partitioned.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_is_permutation.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_is_sorted.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_is_sorted_until.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_iterator_concept.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_lexicographical_compare.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_lower_bound.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_make_heap.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_max.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_max_element.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_merge.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_min.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_min_element.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_minmax.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_minmax_element.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_mismatch.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_move.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_move_backward.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_next_permutation.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_none_of.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_nth_element.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_partial_sort.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_partial_sort_copy.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_partition.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_partition_copy.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_partition_point.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_pop_heap.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_prev_permutation.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_push_heap.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_remove.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_remove_copy.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_remove_copy_if.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_remove_if.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_replace.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_replace_copy.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_replace_copy_if.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_replace_if.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_reverse.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_reverse_copy.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_rotate.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_rotate_copy.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_sample.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_search.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_search_n.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_set_difference.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_set_intersection.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_set_symmetric_difference.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_set_union.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_shuffle.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_sort.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_sort_heap.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_stable_partition.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_stable_sort.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_starts_with.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_swap_ranges.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_transform.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_unique.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_unique_copy.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/ranges_upper_bound.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/remove.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/remove_copy.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/remove_copy_if.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/remove_if.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/replace.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/replace_copy.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/replace_copy_if.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/replace_if.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/reverse.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/reverse_copy.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/rotate.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/rotate_copy.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/sample.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/search.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/search_n.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/set_difference.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/set_intersection.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/set_symmetric_difference.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/set_union.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/shift_left.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/shift_right.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/shuffle.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/sift_down.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/simd_utils.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/sort.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/sort_heap.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/stable_partition.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/stable_sort.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/swap_ranges.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/three_way_comp_ref_type.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/transform.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/uniform_random_bit_generator_adaptor.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/unique.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/unique_copy.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/unwrap_iter.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/unwrap_range.h6
-rw-r--r--libcxx/include/__cxx03/__algorithm/upper_bound.h6
-rw-r--r--libcxx/include/__cxx03/__assert6
-rw-r--r--libcxx/include/__cxx03/__atomic/aliases.h6
-rw-r--r--libcxx/include/__cxx03/__atomic/atomic.h6
-rw-r--r--libcxx/include/__cxx03/__atomic/atomic_base.h6
-rw-r--r--libcxx/include/__cxx03/__atomic/atomic_flag.h6
-rw-r--r--libcxx/include/__cxx03/__atomic/atomic_init.h6
-rw-r--r--libcxx/include/__cxx03/__atomic/atomic_lock_free.h6
-rw-r--r--libcxx/include/__cxx03/__atomic/atomic_ref.h6
-rw-r--r--libcxx/include/__cxx03/__atomic/atomic_sync.h6
-rw-r--r--libcxx/include/__cxx03/__atomic/check_memory_order.h6
-rw-r--r--libcxx/include/__cxx03/__atomic/contention_t.h6
-rw-r--r--libcxx/include/__cxx03/__atomic/cxx_atomic_impl.h6
-rw-r--r--libcxx/include/__cxx03/__atomic/fence.h6
-rw-r--r--libcxx/include/__cxx03/__atomic/is_always_lock_free.h6
-rw-r--r--libcxx/include/__cxx03/__atomic/kill_dependency.h6
-rw-r--r--libcxx/include/__cxx03/__atomic/memory_order.h6
-rw-r--r--libcxx/include/__cxx03/__atomic/to_gcc_order.h6
-rw-r--r--libcxx/include/__cxx03/__bit/bit_cast.h6
-rw-r--r--libcxx/include/__cxx03/__bit/bit_ceil.h6
-rw-r--r--libcxx/include/__cxx03/__bit/bit_floor.h6
-rw-r--r--libcxx/include/__cxx03/__bit/bit_log2.h6
-rw-r--r--libcxx/include/__cxx03/__bit/bit_width.h6
-rw-r--r--libcxx/include/__cxx03/__bit/blsr.h6
-rw-r--r--libcxx/include/__cxx03/__bit/byteswap.h6
-rw-r--r--libcxx/include/__cxx03/__bit/countl.h6
-rw-r--r--libcxx/include/__cxx03/__bit/countr.h6
-rw-r--r--libcxx/include/__cxx03/__bit/endian.h6
-rw-r--r--libcxx/include/__cxx03/__bit/has_single_bit.h6
-rw-r--r--libcxx/include/__cxx03/__bit/invert_if.h6
-rw-r--r--libcxx/include/__cxx03/__bit/popcount.h6
-rw-r--r--libcxx/include/__cxx03/__bit/rotate.h6
-rw-r--r--libcxx/include/__cxx03/__bit_reference6
-rw-r--r--libcxx/include/__cxx03/__charconv/chars_format.h6
-rw-r--r--libcxx/include/__cxx03/__charconv/from_chars_integral.h6
-rw-r--r--libcxx/include/__cxx03/__charconv/from_chars_result.h6
-rw-r--r--libcxx/include/__cxx03/__charconv/tables.h6
-rw-r--r--libcxx/include/__cxx03/__charconv/to_chars.h6
-rw-r--r--libcxx/include/__cxx03/__charconv/to_chars_base_10.h6
-rw-r--r--libcxx/include/__cxx03/__charconv/to_chars_floating_point.h6
-rw-r--r--libcxx/include/__cxx03/__charconv/to_chars_integral.h6
-rw-r--r--libcxx/include/__cxx03/__charconv/to_chars_result.h6
-rw-r--r--libcxx/include/__cxx03/__charconv/traits.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/calendar.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/concepts.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/convert_to_timespec.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/convert_to_tm.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/day.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/duration.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/exception.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/file_clock.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/formatter.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/hh_mm_ss.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/high_resolution_clock.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/leap_second.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/literals.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/local_info.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/month.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/month_weekday.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/monthday.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/ostream.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/parser_std_format_spec.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/statically_widen.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/steady_clock.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/sys_info.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/system_clock.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/time_point.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/time_zone.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/time_zone_link.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/tzdb.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/tzdb_list.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/weekday.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/year.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/year_month.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/year_month_day.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/year_month_weekday.h6
-rw-r--r--libcxx/include/__cxx03/__chrono/zoned_time.h6
-rw-r--r--libcxx/include/__cxx03/__compare/common_comparison_category.h6
-rw-r--r--libcxx/include/__cxx03/__compare/compare_partial_order_fallback.h6
-rw-r--r--libcxx/include/__cxx03/__compare/compare_strong_order_fallback.h6
-rw-r--r--libcxx/include/__cxx03/__compare/compare_three_way.h6
-rw-r--r--libcxx/include/__cxx03/__compare/compare_three_way_result.h6
-rw-r--r--libcxx/include/__cxx03/__compare/compare_weak_order_fallback.h6
-rw-r--r--libcxx/include/__cxx03/__compare/is_eq.h6
-rw-r--r--libcxx/include/__cxx03/__compare/ordering.h6
-rw-r--r--libcxx/include/__cxx03/__compare/partial_order.h6
-rw-r--r--libcxx/include/__cxx03/__compare/strong_order.h6
-rw-r--r--libcxx/include/__cxx03/__compare/synth_three_way.h6
-rw-r--r--libcxx/include/__cxx03/__compare/three_way_comparable.h6
-rw-r--r--libcxx/include/__cxx03/__compare/weak_order.h6
-rw-r--r--libcxx/include/__cxx03/__concepts/arithmetic.h6
-rw-r--r--libcxx/include/__cxx03/__concepts/assignable.h6
-rw-r--r--libcxx/include/__cxx03/__concepts/boolean_testable.h6
-rw-r--r--libcxx/include/__cxx03/__concepts/class_or_enum.h6
-rw-r--r--libcxx/include/__cxx03/__concepts/common_reference_with.h6
-rw-r--r--libcxx/include/__cxx03/__concepts/common_with.h6
-rw-r--r--libcxx/include/__cxx03/__concepts/constructible.h6
-rw-r--r--libcxx/include/__cxx03/__concepts/convertible_to.h6
-rw-r--r--libcxx/include/__cxx03/__concepts/copyable.h6
-rw-r--r--libcxx/include/__cxx03/__concepts/derived_from.h6
-rw-r--r--libcxx/include/__cxx03/__concepts/destructible.h6
-rw-r--r--libcxx/include/__cxx03/__concepts/different_from.h6
-rw-r--r--libcxx/include/__cxx03/__concepts/equality_comparable.h6
-rw-r--r--libcxx/include/__cxx03/__concepts/invocable.h6
-rw-r--r--libcxx/include/__cxx03/__concepts/movable.h6
-rw-r--r--libcxx/include/__cxx03/__concepts/predicate.h6
-rw-r--r--libcxx/include/__cxx03/__concepts/regular.h6
-rw-r--r--libcxx/include/__cxx03/__concepts/relation.h6
-rw-r--r--libcxx/include/__cxx03/__concepts/same_as.h6
-rw-r--r--libcxx/include/__cxx03/__concepts/semiregular.h6
-rw-r--r--libcxx/include/__cxx03/__concepts/swappable.h6
-rw-r--r--libcxx/include/__cxx03/__concepts/totally_ordered.h6
-rw-r--r--libcxx/include/__cxx03/__condition_variable/condition_variable.h6
-rw-r--r--libcxx/include/__cxx03/__config8
-rw-r--r--libcxx/include/__cxx03/__config_site.in6
-rw-r--r--libcxx/include/__cxx03/__configuration/abi.h8
-rw-r--r--libcxx/include/__cxx03/__configuration/availability.h6
-rw-r--r--libcxx/include/__cxx03/__configuration/compiler.h8
-rw-r--r--libcxx/include/__cxx03/__configuration/config_site_shim.h80
-rw-r--r--libcxx/include/__cxx03/__configuration/language.h8
-rw-r--r--libcxx/include/__cxx03/__configuration/platform.h8
-rw-r--r--libcxx/include/__cxx03/__coroutine/coroutine_handle.h6
-rw-r--r--libcxx/include/__cxx03/__coroutine/coroutine_traits.h6
-rw-r--r--libcxx/include/__cxx03/__coroutine/noop_coroutine_handle.h6
-rw-r--r--libcxx/include/__cxx03/__coroutine/trivial_awaitables.h6
-rw-r--r--libcxx/include/__cxx03/__debug_utils/randomize_range.h6
-rw-r--r--libcxx/include/__cxx03/__debug_utils/sanitizers.h6
-rw-r--r--libcxx/include/__cxx03/__debug_utils/strict_weak_ordering_check.h6
-rw-r--r--libcxx/include/__cxx03/__exception/exception.h6
-rw-r--r--libcxx/include/__cxx03/__exception/exception_ptr.h6
-rw-r--r--libcxx/include/__cxx03/__exception/nested_exception.h6
-rw-r--r--libcxx/include/__cxx03/__exception/operations.h6
-rw-r--r--libcxx/include/__cxx03/__exception/terminate.h6
-rw-r--r--libcxx/include/__cxx03/__expected/bad_expected_access.h6
-rw-r--r--libcxx/include/__cxx03/__expected/expected.h6
-rw-r--r--libcxx/include/__cxx03/__expected/unexpect.h6
-rw-r--r--libcxx/include/__cxx03/__expected/unexpected.h6
-rw-r--r--libcxx/include/__cxx03/__filesystem/copy_options.h6
-rw-r--r--libcxx/include/__cxx03/__filesystem/directory_entry.h6
-rw-r--r--libcxx/include/__cxx03/__filesystem/directory_iterator.h6
-rw-r--r--libcxx/include/__cxx03/__filesystem/directory_options.h6
-rw-r--r--libcxx/include/__cxx03/__filesystem/file_status.h6
-rw-r--r--libcxx/include/__cxx03/__filesystem/file_time_type.h6
-rw-r--r--libcxx/include/__cxx03/__filesystem/file_type.h6
-rw-r--r--libcxx/include/__cxx03/__filesystem/filesystem_error.h6
-rw-r--r--libcxx/include/__cxx03/__filesystem/operations.h6
-rw-r--r--libcxx/include/__cxx03/__filesystem/path.h6
-rw-r--r--libcxx/include/__cxx03/__filesystem/path_iterator.h6
-rw-r--r--libcxx/include/__cxx03/__filesystem/perm_options.h6
-rw-r--r--libcxx/include/__cxx03/__filesystem/perms.h6
-rw-r--r--libcxx/include/__cxx03/__filesystem/recursive_directory_iterator.h6
-rw-r--r--libcxx/include/__cxx03/__filesystem/space_info.h6
-rw-r--r--libcxx/include/__cxx03/__filesystem/u8path.h6
-rw-r--r--libcxx/include/__cxx03/__format/buffer.h6
-rw-r--r--libcxx/include/__cxx03/__format/concepts.h6
-rw-r--r--libcxx/include/__cxx03/__format/container_adaptor.h6
-rw-r--r--libcxx/include/__cxx03/__format/enable_insertable.h6
-rw-r--r--libcxx/include/__cxx03/__format/escaped_output_table.h6
-rw-r--r--libcxx/include/__cxx03/__format/extended_grapheme_cluster_table.h6
-rw-r--r--libcxx/include/__cxx03/__format/format_arg.h6
-rw-r--r--libcxx/include/__cxx03/__format/format_arg_store.h6
-rw-r--r--libcxx/include/__cxx03/__format/format_args.h6
-rw-r--r--libcxx/include/__cxx03/__format/format_context.h6
-rw-r--r--libcxx/include/__cxx03/__format/format_error.h6
-rw-r--r--libcxx/include/__cxx03/__format/format_functions.h6
-rw-r--r--libcxx/include/__cxx03/__format/format_parse_context.h6
-rw-r--r--libcxx/include/__cxx03/__format/format_string.h6
-rw-r--r--libcxx/include/__cxx03/__format/format_to_n_result.h6
-rw-r--r--libcxx/include/__cxx03/__format/formatter.h6
-rw-r--r--libcxx/include/__cxx03/__format/formatter_bool.h6
-rw-r--r--libcxx/include/__cxx03/__format/formatter_char.h6
-rw-r--r--libcxx/include/__cxx03/__format/formatter_floating_point.h6
-rw-r--r--libcxx/include/__cxx03/__format/formatter_integer.h6
-rw-r--r--libcxx/include/__cxx03/__format/formatter_integral.h6
-rw-r--r--libcxx/include/__cxx03/__format/formatter_output.h6
-rw-r--r--libcxx/include/__cxx03/__format/formatter_pointer.h6
-rw-r--r--libcxx/include/__cxx03/__format/formatter_string.h6
-rw-r--r--libcxx/include/__cxx03/__format/formatter_tuple.h6
-rw-r--r--libcxx/include/__cxx03/__format/indic_conjunct_break_table.h6
-rw-r--r--libcxx/include/__cxx03/__format/parser_std_format_spec.h6
-rw-r--r--libcxx/include/__cxx03/__format/range_default_formatter.h6
-rw-r--r--libcxx/include/__cxx03/__format/range_formatter.h6
-rw-r--r--libcxx/include/__cxx03/__format/unicode.h6
-rw-r--r--libcxx/include/__cxx03/__format/width_estimation_table.h6
-rw-r--r--libcxx/include/__cxx03/__format/write_escaped.h6
-rw-r--r--libcxx/include/__cxx03/__functional/binary_function.h6
-rw-r--r--libcxx/include/__cxx03/__functional/binary_negate.h6
-rw-r--r--libcxx/include/__cxx03/__functional/bind.h6
-rw-r--r--libcxx/include/__cxx03/__functional/bind_back.h6
-rw-r--r--libcxx/include/__cxx03/__functional/bind_front.h6
-rw-r--r--libcxx/include/__cxx03/__functional/binder1st.h6
-rw-r--r--libcxx/include/__cxx03/__functional/binder2nd.h6
-rw-r--r--libcxx/include/__cxx03/__functional/boyer_moore_searcher.h6
-rw-r--r--libcxx/include/__cxx03/__functional/compose.h6
-rw-r--r--libcxx/include/__cxx03/__functional/default_searcher.h6
-rw-r--r--libcxx/include/__cxx03/__functional/function.h6
-rw-r--r--libcxx/include/__cxx03/__functional/hash.h6
-rw-r--r--libcxx/include/__cxx03/__functional/identity.h6
-rw-r--r--libcxx/include/__cxx03/__functional/invoke.h6
-rw-r--r--libcxx/include/__cxx03/__functional/is_transparent.h6
-rw-r--r--libcxx/include/__cxx03/__functional/mem_fn.h6
-rw-r--r--libcxx/include/__cxx03/__functional/mem_fun_ref.h6
-rw-r--r--libcxx/include/__cxx03/__functional/not_fn.h6
-rw-r--r--libcxx/include/__cxx03/__functional/operations.h6
-rw-r--r--libcxx/include/__cxx03/__functional/perfect_forward.h6
-rw-r--r--libcxx/include/__cxx03/__functional/pointer_to_binary_function.h6
-rw-r--r--libcxx/include/__cxx03/__functional/pointer_to_unary_function.h6
-rw-r--r--libcxx/include/__cxx03/__functional/ranges_operations.h6
-rw-r--r--libcxx/include/__cxx03/__functional/reference_wrapper.h6
-rw-r--r--libcxx/include/__cxx03/__functional/unary_function.h6
-rw-r--r--libcxx/include/__cxx03/__functional/unary_negate.h6
-rw-r--r--libcxx/include/__cxx03/__functional/weak_result_type.h6
-rw-r--r--libcxx/include/__cxx03/__fwd/array.h6
-rw-r--r--libcxx/include/__cxx03/__fwd/bit_reference.h6
-rw-r--r--libcxx/include/__cxx03/__fwd/complex.h6
-rw-r--r--libcxx/include/__cxx03/__fwd/deque.h6
-rw-r--r--libcxx/include/__cxx03/__fwd/format.h6
-rw-r--r--libcxx/include/__cxx03/__fwd/fstream.h6
-rw-r--r--libcxx/include/__cxx03/__fwd/functional.h6
-rw-r--r--libcxx/include/__cxx03/__fwd/ios.h6
-rw-r--r--libcxx/include/__cxx03/__fwd/istream.h6
-rw-r--r--libcxx/include/__cxx03/__fwd/mdspan.h6
-rw-r--r--libcxx/include/__cxx03/__fwd/memory.h6
-rw-r--r--libcxx/include/__cxx03/__fwd/memory_resource.h6
-rw-r--r--libcxx/include/__cxx03/__fwd/ostream.h6
-rw-r--r--libcxx/include/__cxx03/__fwd/pair.h6
-rw-r--r--libcxx/include/__cxx03/__fwd/queue.h6
-rw-r--r--libcxx/include/__cxx03/__fwd/span.h6
-rw-r--r--libcxx/include/__cxx03/__fwd/sstream.h6
-rw-r--r--libcxx/include/__cxx03/__fwd/stack.h6
-rw-r--r--libcxx/include/__cxx03/__fwd/streambuf.h6
-rw-r--r--libcxx/include/__cxx03/__fwd/string.h6
-rw-r--r--libcxx/include/__cxx03/__fwd/string_view.h6
-rw-r--r--libcxx/include/__cxx03/__fwd/subrange.h6
-rw-r--r--libcxx/include/__cxx03/__fwd/tuple.h6
-rw-r--r--libcxx/include/__cxx03/__fwd/vector.h6
-rw-r--r--libcxx/include/__cxx03/__hash_table6
-rw-r--r--libcxx/include/__cxx03/__ios/fpos.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/access.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/advance.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/aliasing_iterator.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/back_insert_iterator.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/bounded_iter.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/common_iterator.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/concepts.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/counted_iterator.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/cpp17_iterator_concepts.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/data.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/default_sentinel.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/distance.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/empty.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/erase_if_container.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/front_insert_iterator.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/incrementable_traits.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/indirectly_comparable.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/insert_iterator.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/istream_iterator.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/istreambuf_iterator.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/iter_move.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/iter_swap.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/iterator.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/iterator_traits.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/iterator_with_data.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/mergeable.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/move_iterator.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/move_sentinel.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/next.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/ostream_iterator.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/ostreambuf_iterator.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/permutable.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/prev.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/projected.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/ranges_iterator_traits.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/readable_traits.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/reverse_access.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/reverse_iterator.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/segmented_iterator.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/size.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/sortable.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/unreachable_sentinel.h6
-rw-r--r--libcxx/include/__cxx03/__iterator/wrap_iter.h6
-rw-r--r--libcxx/include/__cxx03/__locale6
-rw-r--r--libcxx/include/__cxx03/__locale_dir/locale_base_api.h6
-rw-r--r--libcxx/include/__cxx03/__locale_dir/locale_base_api/android.h6
-rw-r--r--libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_defaults.h6
-rw-r--r--libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_fallbacks.h8
-rw-r--r--libcxx/include/__cxx03/__locale_dir/locale_base_api/fuchsia.h6
-rw-r--r--libcxx/include/__cxx03/__locale_dir/locale_base_api/ibm.h6
-rw-r--r--libcxx/include/__cxx03/__locale_dir/locale_base_api/locale_guard.h6
-rw-r--r--libcxx/include/__cxx03/__locale_dir/locale_base_api/musl.h6
-rw-r--r--libcxx/include/__cxx03/__locale_dir/locale_base_api/newlib.h6
-rw-r--r--libcxx/include/__cxx03/__locale_dir/locale_base_api/openbsd.h6
-rw-r--r--libcxx/include/__cxx03/__locale_dir/locale_base_api/win32.h6
-rw-r--r--libcxx/include/__cxx03/__math/abs.h6
-rw-r--r--libcxx/include/__cxx03/__math/copysign.h6
-rw-r--r--libcxx/include/__cxx03/__math/error_functions.h6
-rw-r--r--libcxx/include/__cxx03/__math/exponential_functions.h6
-rw-r--r--libcxx/include/__cxx03/__math/fdim.h6
-rw-r--r--libcxx/include/__cxx03/__math/fma.h6
-rw-r--r--libcxx/include/__cxx03/__math/gamma.h6
-rw-r--r--libcxx/include/__cxx03/__math/hyperbolic_functions.h6
-rw-r--r--libcxx/include/__cxx03/__math/hypot.h6
-rw-r--r--libcxx/include/__cxx03/__math/inverse_hyperbolic_functions.h6
-rw-r--r--libcxx/include/__cxx03/__math/inverse_trigonometric_functions.h6
-rw-r--r--libcxx/include/__cxx03/__math/logarithms.h6
-rw-r--r--libcxx/include/__cxx03/__math/min_max.h6
-rw-r--r--libcxx/include/__cxx03/__math/modulo.h6
-rw-r--r--libcxx/include/__cxx03/__math/remainder.h6
-rw-r--r--libcxx/include/__cxx03/__math/roots.h6
-rw-r--r--libcxx/include/__cxx03/__math/rounding_functions.h6
-rw-r--r--libcxx/include/__cxx03/__math/special_functions.h6
-rw-r--r--libcxx/include/__cxx03/__math/traits.h6
-rw-r--r--libcxx/include/__cxx03/__math/trigonometric_functions.h6
-rw-r--r--libcxx/include/__cxx03/__mbstate_t.h6
-rw-r--r--libcxx/include/__cxx03/__mdspan/default_accessor.h6
-rw-r--r--libcxx/include/__cxx03/__mdspan/extents.h6
-rw-r--r--libcxx/include/__cxx03/__mdspan/layout_left.h6
-rw-r--r--libcxx/include/__cxx03/__mdspan/layout_right.h6
-rw-r--r--libcxx/include/__cxx03/__mdspan/layout_stride.h6
-rw-r--r--libcxx/include/__cxx03/__mdspan/mdspan.h6
-rw-r--r--libcxx/include/__cxx03/__memory/addressof.h6
-rw-r--r--libcxx/include/__cxx03/__memory/align.h6
-rw-r--r--libcxx/include/__cxx03/__memory/aligned_alloc.h6
-rw-r--r--libcxx/include/__cxx03/__memory/allocate_at_least.h6
-rw-r--r--libcxx/include/__cxx03/__memory/allocation_guard.h6
-rw-r--r--libcxx/include/__cxx03/__memory/allocator.h6
-rw-r--r--libcxx/include/__cxx03/__memory/allocator_arg_t.h6
-rw-r--r--libcxx/include/__cxx03/__memory/allocator_destructor.h6
-rw-r--r--libcxx/include/__cxx03/__memory/allocator_traits.h6
-rw-r--r--libcxx/include/__cxx03/__memory/assume_aligned.h6
-rw-r--r--libcxx/include/__cxx03/__memory/auto_ptr.h6
-rw-r--r--libcxx/include/__cxx03/__memory/builtin_new_allocator.h6
-rw-r--r--libcxx/include/__cxx03/__memory/compressed_pair.h6
-rw-r--r--libcxx/include/__cxx03/__memory/concepts.h6
-rw-r--r--libcxx/include/__cxx03/__memory/construct_at.h6
-rw-r--r--libcxx/include/__cxx03/__memory/destruct_n.h6
-rw-r--r--libcxx/include/__cxx03/__memory/inout_ptr.h6
-rw-r--r--libcxx/include/__cxx03/__memory/out_ptr.h6
-rw-r--r--libcxx/include/__cxx03/__memory/pointer_traits.h6
-rw-r--r--libcxx/include/__cxx03/__memory/ranges_construct_at.h6
-rw-r--r--libcxx/include/__cxx03/__memory/ranges_uninitialized_algorithms.h6
-rw-r--r--libcxx/include/__cxx03/__memory/raw_storage_iterator.h6
-rw-r--r--libcxx/include/__cxx03/__memory/shared_ptr.h6
-rw-r--r--libcxx/include/__cxx03/__memory/swap_allocator.h6
-rw-r--r--libcxx/include/__cxx03/__memory/temp_value.h6
-rw-r--r--libcxx/include/__cxx03/__memory/temporary_buffer.h6
-rw-r--r--libcxx/include/__cxx03/__memory/uninitialized_algorithms.h6
-rw-r--r--libcxx/include/__cxx03/__memory/unique_ptr.h6
-rw-r--r--libcxx/include/__cxx03/__memory/uses_allocator.h6
-rw-r--r--libcxx/include/__cxx03/__memory/uses_allocator_construction.h6
-rw-r--r--libcxx/include/__cxx03/__memory/voidify.h6
-rw-r--r--libcxx/include/__cxx03/__memory_resource/memory_resource.h6
-rw-r--r--libcxx/include/__cxx03/__memory_resource/monotonic_buffer_resource.h6
-rw-r--r--libcxx/include/__cxx03/__memory_resource/polymorphic_allocator.h6
-rw-r--r--libcxx/include/__cxx03/__memory_resource/pool_options.h6
-rw-r--r--libcxx/include/__cxx03/__memory_resource/synchronized_pool_resource.h6
-rw-r--r--libcxx/include/__cxx03/__memory_resource/unsynchronized_pool_resource.h6
-rw-r--r--libcxx/include/__cxx03/__mutex/lock_guard.h6
-rw-r--r--libcxx/include/__cxx03/__mutex/mutex.h6
-rw-r--r--libcxx/include/__cxx03/__mutex/once_flag.h6
-rw-r--r--libcxx/include/__cxx03/__mutex/tag_types.h6
-rw-r--r--libcxx/include/__cxx03/__mutex/unique_lock.h6
-rw-r--r--libcxx/include/__cxx03/__node_handle6
-rw-r--r--libcxx/include/__cxx03/__numeric/accumulate.h6
-rw-r--r--libcxx/include/__cxx03/__numeric/adjacent_difference.h6
-rw-r--r--libcxx/include/__cxx03/__numeric/exclusive_scan.h6
-rw-r--r--libcxx/include/__cxx03/__numeric/gcd_lcm.h6
-rw-r--r--libcxx/include/__cxx03/__numeric/inclusive_scan.h6
-rw-r--r--libcxx/include/__cxx03/__numeric/inner_product.h6
-rw-r--r--libcxx/include/__cxx03/__numeric/iota.h6
-rw-r--r--libcxx/include/__cxx03/__numeric/midpoint.h6
-rw-r--r--libcxx/include/__cxx03/__numeric/partial_sum.h6
-rw-r--r--libcxx/include/__cxx03/__numeric/pstl.h6
-rw-r--r--libcxx/include/__cxx03/__numeric/reduce.h6
-rw-r--r--libcxx/include/__cxx03/__numeric/saturation_arithmetic.h6
-rw-r--r--libcxx/include/__cxx03/__numeric/transform_exclusive_scan.h6
-rw-r--r--libcxx/include/__cxx03/__numeric/transform_inclusive_scan.h6
-rw-r--r--libcxx/include/__cxx03/__numeric/transform_reduce.h6
-rw-r--r--libcxx/include/__cxx03/__ostream/basic_ostream.h6
-rw-r--r--libcxx/include/__cxx03/__ostream/print.h6
-rw-r--r--libcxx/include/__cxx03/__pstl/backend.h6
-rw-r--r--libcxx/include/__cxx03/__pstl/backend_fwd.h6
-rw-r--r--libcxx/include/__cxx03/__pstl/backends/default.h6
-rw-r--r--libcxx/include/__cxx03/__pstl/backends/libdispatch.h6
-rw-r--r--libcxx/include/__cxx03/__pstl/backends/serial.h6
-rw-r--r--libcxx/include/__cxx03/__pstl/backends/std_thread.h6
-rw-r--r--libcxx/include/__cxx03/__pstl/cpu_algos/any_of.h6
-rw-r--r--libcxx/include/__cxx03/__pstl/cpu_algos/cpu_traits.h6
-rw-r--r--libcxx/include/__cxx03/__pstl/cpu_algos/fill.h6
-rw-r--r--libcxx/include/__cxx03/__pstl/cpu_algos/find_if.h6
-rw-r--r--libcxx/include/__cxx03/__pstl/cpu_algos/for_each.h6
-rw-r--r--libcxx/include/__cxx03/__pstl/cpu_algos/merge.h6
-rw-r--r--libcxx/include/__cxx03/__pstl/cpu_algos/stable_sort.h6
-rw-r--r--libcxx/include/__cxx03/__pstl/cpu_algos/transform.h6
-rw-r--r--libcxx/include/__cxx03/__pstl/cpu_algos/transform_reduce.h6
-rw-r--r--libcxx/include/__cxx03/__pstl/dispatch.h6
-rw-r--r--libcxx/include/__cxx03/__pstl/handle_exception.h6
-rw-r--r--libcxx/include/__cxx03/__random/bernoulli_distribution.h6
-rw-r--r--libcxx/include/__cxx03/__random/binomial_distribution.h6
-rw-r--r--libcxx/include/__cxx03/__random/cauchy_distribution.h6
-rw-r--r--libcxx/include/__cxx03/__random/chi_squared_distribution.h6
-rw-r--r--libcxx/include/__cxx03/__random/clamp_to_integral.h6
-rw-r--r--libcxx/include/__cxx03/__random/default_random_engine.h6
-rw-r--r--libcxx/include/__cxx03/__random/discard_block_engine.h6
-rw-r--r--libcxx/include/__cxx03/__random/discrete_distribution.h6
-rw-r--r--libcxx/include/__cxx03/__random/exponential_distribution.h6
-rw-r--r--libcxx/include/__cxx03/__random/extreme_value_distribution.h6
-rw-r--r--libcxx/include/__cxx03/__random/fisher_f_distribution.h6
-rw-r--r--libcxx/include/__cxx03/__random/gamma_distribution.h6
-rw-r--r--libcxx/include/__cxx03/__random/generate_canonical.h6
-rw-r--r--libcxx/include/__cxx03/__random/geometric_distribution.h6
-rw-r--r--libcxx/include/__cxx03/__random/independent_bits_engine.h6
-rw-r--r--libcxx/include/__cxx03/__random/is_seed_sequence.h6
-rw-r--r--libcxx/include/__cxx03/__random/is_valid.h6
-rw-r--r--libcxx/include/__cxx03/__random/knuth_b.h6
-rw-r--r--libcxx/include/__cxx03/__random/linear_congruential_engine.h6
-rw-r--r--libcxx/include/__cxx03/__random/log2.h6
-rw-r--r--libcxx/include/__cxx03/__random/lognormal_distribution.h6
-rw-r--r--libcxx/include/__cxx03/__random/mersenne_twister_engine.h6
-rw-r--r--libcxx/include/__cxx03/__random/negative_binomial_distribution.h6
-rw-r--r--libcxx/include/__cxx03/__random/normal_distribution.h6
-rw-r--r--libcxx/include/__cxx03/__random/piecewise_constant_distribution.h6
-rw-r--r--libcxx/include/__cxx03/__random/piecewise_linear_distribution.h6
-rw-r--r--libcxx/include/__cxx03/__random/poisson_distribution.h6
-rw-r--r--libcxx/include/__cxx03/__random/random_device.h6
-rw-r--r--libcxx/include/__cxx03/__random/ranlux.h6
-rw-r--r--libcxx/include/__cxx03/__random/seed_seq.h6
-rw-r--r--libcxx/include/__cxx03/__random/shuffle_order_engine.h6
-rw-r--r--libcxx/include/__cxx03/__random/student_t_distribution.h6
-rw-r--r--libcxx/include/__cxx03/__random/subtract_with_carry_engine.h6
-rw-r--r--libcxx/include/__cxx03/__random/uniform_int_distribution.h6
-rw-r--r--libcxx/include/__cxx03/__random/uniform_random_bit_generator.h6
-rw-r--r--libcxx/include/__cxx03/__random/uniform_real_distribution.h6
-rw-r--r--libcxx/include/__cxx03/__random/weibull_distribution.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/access.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/all.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/as_rvalue_view.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/chunk_by_view.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/common_view.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/concepts.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/container_compatible_range.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/counted.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/dangling.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/data.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/drop_view.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/drop_while_view.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/elements_view.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/empty.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/empty_view.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/enable_borrowed_range.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/enable_view.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/filter_view.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/from_range.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/iota_view.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/istream_view.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/join_view.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/lazy_split_view.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/movable_box.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/non_propagating_cache.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/owning_view.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/range_adaptor.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/rbegin.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/ref_view.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/rend.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/repeat_view.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/reverse_view.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/single_view.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/size.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/split_view.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/subrange.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/take_view.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/take_while_view.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/to.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/transform_view.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/view_interface.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/views.h6
-rw-r--r--libcxx/include/__cxx03/__ranges/zip_view.h6
-rw-r--r--libcxx/include/__cxx03/__split_buffer6
-rw-r--r--libcxx/include/__cxx03/__std_mbstate_t.h6
-rw-r--r--libcxx/include/__cxx03/__stop_token/atomic_unique_lock.h6
-rw-r--r--libcxx/include/__cxx03/__stop_token/intrusive_list_view.h6
-rw-r--r--libcxx/include/__cxx03/__stop_token/intrusive_shared_ptr.h6
-rw-r--r--libcxx/include/__cxx03/__stop_token/stop_callback.h6
-rw-r--r--libcxx/include/__cxx03/__stop_token/stop_source.h6
-rw-r--r--libcxx/include/__cxx03/__stop_token/stop_state.h6
-rw-r--r--libcxx/include/__cxx03/__stop_token/stop_token.h6
-rw-r--r--libcxx/include/__cxx03/__string/char_traits.h6
-rw-r--r--libcxx/include/__cxx03/__string/constexpr_c_functions.h6
-rw-r--r--libcxx/include/__cxx03/__string/extern_template_lists.h6
-rw-r--r--libcxx/include/__cxx03/__support/ibm/gettod_zos.h6
-rw-r--r--libcxx/include/__cxx03/__support/ibm/locale_mgmt_zos.h6
-rw-r--r--libcxx/include/__cxx03/__support/ibm/nanosleep.h6
-rw-r--r--libcxx/include/__cxx03/__support/xlocale/__nop_locale_mgmt.h6
-rw-r--r--libcxx/include/__cxx03/__support/xlocale/__posix_l_fallback.h6
-rw-r--r--libcxx/include/__cxx03/__support/xlocale/__strtonum_fallback.h6
-rw-r--r--libcxx/include/__cxx03/__system_error/errc.h6
-rw-r--r--libcxx/include/__cxx03/__system_error/error_category.h6
-rw-r--r--libcxx/include/__cxx03/__system_error/error_code.h6
-rw-r--r--libcxx/include/__cxx03/__system_error/error_condition.h6
-rw-r--r--libcxx/include/__cxx03/__system_error/system_error.h6
-rw-r--r--libcxx/include/__cxx03/__thread/formatter.h6
-rw-r--r--libcxx/include/__cxx03/__thread/id.h6
-rw-r--r--libcxx/include/__cxx03/__thread/jthread.h6
-rw-r--r--libcxx/include/__cxx03/__thread/poll_with_backoff.h6
-rw-r--r--libcxx/include/__cxx03/__thread/support.h6
-rw-r--r--libcxx/include/__cxx03/__thread/support/c11.h6
-rw-r--r--libcxx/include/__cxx03/__thread/support/external.h6
-rw-r--r--libcxx/include/__cxx03/__thread/support/pthread.h10
-rw-r--r--libcxx/include/__cxx03/__thread/support/windows.h6
-rw-r--r--libcxx/include/__cxx03/__thread/this_thread.h6
-rw-r--r--libcxx/include/__cxx03/__thread/thread.h6
-rw-r--r--libcxx/include/__cxx03/__thread/timed_backoff_policy.h6
-rw-r--r--libcxx/include/__cxx03/__tree6
-rw-r--r--libcxx/include/__cxx03/__tuple/find_index.h6
-rw-r--r--libcxx/include/__cxx03/__tuple/ignore.h6
-rw-r--r--libcxx/include/__cxx03/__tuple/make_tuple_types.h6
-rw-r--r--libcxx/include/__cxx03/__tuple/sfinae_helpers.h6
-rw-r--r--libcxx/include/__cxx03/__tuple/tuple_element.h6
-rw-r--r--libcxx/include/__cxx03/__tuple/tuple_indices.h6
-rw-r--r--libcxx/include/__cxx03/__tuple/tuple_like.h6
-rw-r--r--libcxx/include/__cxx03/__tuple/tuple_like_ext.h6
-rw-r--r--libcxx/include/__cxx03/__tuple/tuple_like_no_subrange.h6
-rw-r--r--libcxx/include/__cxx03/__tuple/tuple_size.h6
-rw-r--r--libcxx/include/__cxx03/__tuple/tuple_types.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/add_const.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/add_cv.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/add_lvalue_reference.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/add_pointer.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/add_rvalue_reference.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/add_volatile.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/aligned_storage.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/aligned_union.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/alignment_of.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/can_extract_key.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/common_reference.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/common_type.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/conditional.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/conjunction.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/copy_cv.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/copy_cvref.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/datasizeof.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/decay.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/dependent_type.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/desugars_to.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/disjunction.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/enable_if.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/extent.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/has_unique_object_representation.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/has_virtual_destructor.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/integral_constant.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/invoke.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_abstract.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_aggregate.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_allocator.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_always_bitcastable.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_arithmetic.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_array.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_assignable.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_base_of.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_bounded_array.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_callable.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_char_like_type.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_class.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_compound.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_const.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_constant_evaluated.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_constructible.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_convertible.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_core_convertible.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_destructible.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_empty.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_enum.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_equality_comparable.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_execution_policy.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_final.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_floating_point.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_function.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_fundamental.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_implicitly_default_constructible.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_integral.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_literal_type.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_member_pointer.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_nothrow_assignable.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_nothrow_constructible.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_nothrow_convertible.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_nothrow_destructible.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_null_pointer.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_object.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_pod.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_pointer.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_polymorphic.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_primary_template.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_reference.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_reference_wrapper.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_referenceable.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_same.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_scalar.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_signed.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_signed_integer.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_specialization.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_standard_layout.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_swappable.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_trivial.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_trivially_assignable.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_trivially_constructible.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_trivially_copyable.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_trivially_destructible.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_trivially_lexicographically_comparable.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_trivially_relocatable.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_unbounded_array.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_union.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_unsigned.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_unsigned_integer.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_valid_expansion.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_void.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/is_volatile.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/lazy.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/make_32_64_or_128_bit.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/make_const_lvalue_ref.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/make_signed.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/make_unsigned.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/maybe_const.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/nat.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/negation.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/noexcept_move_assign_container.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/promote.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/rank.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/remove_all_extents.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/remove_const.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/remove_const_ref.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/remove_cv.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/remove_cvref.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/remove_extent.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/remove_pointer.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/remove_reference.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/remove_volatile.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/result_of.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/strip_signature.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/type_identity.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/type_list.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/underlying_type.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/unwrap_ref.h6
-rw-r--r--libcxx/include/__cxx03/__type_traits/void_t.h6
-rw-r--r--libcxx/include/__cxx03/__utility/as_const.h6
-rw-r--r--libcxx/include/__cxx03/__utility/as_lvalue.h6
-rw-r--r--libcxx/include/__cxx03/__utility/auto_cast.h6
-rw-r--r--libcxx/include/__cxx03/__utility/cmp.h6
-rw-r--r--libcxx/include/__cxx03/__utility/convert_to_integral.h6
-rw-r--r--libcxx/include/__cxx03/__utility/declval.h6
-rw-r--r--libcxx/include/__cxx03/__utility/empty.h6
-rw-r--r--libcxx/include/__cxx03/__utility/exception_guard.h6
-rw-r--r--libcxx/include/__cxx03/__utility/exchange.h6
-rw-r--r--libcxx/include/__cxx03/__utility/forward.h6
-rw-r--r--libcxx/include/__cxx03/__utility/forward_like.h6
-rw-r--r--libcxx/include/__cxx03/__utility/in_place.h6
-rw-r--r--libcxx/include/__cxx03/__utility/integer_sequence.h6
-rw-r--r--libcxx/include/__cxx03/__utility/is_pointer_in_range.h6
-rw-r--r--libcxx/include/__cxx03/__utility/is_valid_range.h6
-rw-r--r--libcxx/include/__cxx03/__utility/move.h6
-rw-r--r--libcxx/include/__cxx03/__utility/no_destroy.h6
-rw-r--r--libcxx/include/__cxx03/__utility/pair.h6
-rw-r--r--libcxx/include/__cxx03/__utility/piecewise_construct.h6
-rw-r--r--libcxx/include/__cxx03/__utility/priority_tag.h6
-rw-r--r--libcxx/include/__cxx03/__utility/private_constructor_tag.h6
-rw-r--r--libcxx/include/__cxx03/__utility/rel_ops.h6
-rw-r--r--libcxx/include/__cxx03/__utility/small_buffer.h6
-rw-r--r--libcxx/include/__cxx03/__utility/swap.h6
-rw-r--r--libcxx/include/__cxx03/__utility/to_underlying.h6
-rw-r--r--libcxx/include/__cxx03/__utility/unreachable.h6
-rw-r--r--libcxx/include/__cxx03/__variant/monostate.h6
-rw-r--r--libcxx/include/__cxx03/__verbose_abort6
-rw-r--r--libcxx/include/__cxx03/algorithm6
-rw-r--r--libcxx/include/__cxx03/any6
-rw-r--r--libcxx/include/__cxx03/array6
-rw-r--r--libcxx/include/__cxx03/atomic8
-rw-r--r--libcxx/include/__cxx03/barrier6
-rw-r--r--libcxx/include/__cxx03/bit6
-rw-r--r--libcxx/include/__cxx03/bitset6
-rw-r--r--libcxx/include/__cxx03/ccomplex6
-rw-r--r--libcxx/include/__cxx03/cctype8
-rw-r--r--libcxx/include/__cxx03/cerrno8
-rw-r--r--libcxx/include/__cxx03/cfenv8
-rw-r--r--libcxx/include/__cxx03/cfloat8
-rw-r--r--libcxx/include/__cxx03/charconv6
-rw-r--r--libcxx/include/__cxx03/chrono6
-rw-r--r--libcxx/include/__cxx03/cinttypes8
-rw-r--r--libcxx/include/__cxx03/ciso6466
-rw-r--r--libcxx/include/__cxx03/climits8
-rw-r--r--libcxx/include/__cxx03/clocale8
-rw-r--r--libcxx/include/__cxx03/cmath8
-rw-r--r--libcxx/include/__cxx03/codecvt6
-rw-r--r--libcxx/include/__cxx03/compare6
-rw-r--r--libcxx/include/__cxx03/complex6
-rw-r--r--libcxx/include/__cxx03/complex.h6
-rw-r--r--libcxx/include/__cxx03/concepts6
-rw-r--r--libcxx/include/__cxx03/condition_variable6
-rw-r--r--libcxx/include/__cxx03/coroutine6
-rw-r--r--libcxx/include/__cxx03/csetjmp8
-rw-r--r--libcxx/include/__cxx03/csignal8
-rw-r--r--libcxx/include/__cxx03/cstdarg8
-rw-r--r--libcxx/include/__cxx03/cstdbool6
-rw-r--r--libcxx/include/__cxx03/cstddef8
-rw-r--r--libcxx/include/__cxx03/cstdint8
-rw-r--r--libcxx/include/__cxx03/cstdio8
-rw-r--r--libcxx/include/__cxx03/cstdlib8
-rw-r--r--libcxx/include/__cxx03/cstring8
-rw-r--r--libcxx/include/__cxx03/ctgmath6
-rw-r--r--libcxx/include/__cxx03/ctime8
-rw-r--r--libcxx/include/__cxx03/ctype.h6
-rw-r--r--libcxx/include/__cxx03/cuchar8
-rw-r--r--libcxx/include/__cxx03/cwchar8
-rw-r--r--libcxx/include/__cxx03/cwctype8
-rw-r--r--libcxx/include/__cxx03/deque6
-rw-r--r--libcxx/include/__cxx03/errno.h6
-rw-r--r--libcxx/include/__cxx03/exception6
-rw-r--r--libcxx/include/__cxx03/execution6
-rw-r--r--libcxx/include/__cxx03/expected6
-rw-r--r--libcxx/include/__cxx03/experimental/__config4
-rw-r--r--libcxx/include/__cxx03/experimental/__simd/aligned_tag.h6
-rw-r--r--libcxx/include/__cxx03/experimental/__simd/declaration.h6
-rw-r--r--libcxx/include/__cxx03/experimental/__simd/reference.h6
-rw-r--r--libcxx/include/__cxx03/experimental/__simd/scalar.h6
-rw-r--r--libcxx/include/__cxx03/experimental/__simd/simd.h6
-rw-r--r--libcxx/include/__cxx03/experimental/__simd/simd_mask.h6
-rw-r--r--libcxx/include/__cxx03/experimental/__simd/traits.h6
-rw-r--r--libcxx/include/__cxx03/experimental/__simd/utility.h6
-rw-r--r--libcxx/include/__cxx03/experimental/__simd/vec_ext.h6
-rw-r--r--libcxx/include/__cxx03/experimental/iterator6
-rw-r--r--libcxx/include/__cxx03/experimental/memory6
-rw-r--r--libcxx/include/__cxx03/experimental/propagate_const6
-rw-r--r--libcxx/include/__cxx03/experimental/simd6
-rw-r--r--libcxx/include/__cxx03/experimental/type_traits6
-rw-r--r--libcxx/include/__cxx03/experimental/utility6
-rw-r--r--libcxx/include/__cxx03/ext/__hash6
-rw-r--r--libcxx/include/__cxx03/ext/hash_map6
-rw-r--r--libcxx/include/__cxx03/ext/hash_set6
-rw-r--r--libcxx/include/__cxx03/fenv.h6
-rw-r--r--libcxx/include/__cxx03/filesystem6
-rw-r--r--libcxx/include/__cxx03/float.h6
-rw-r--r--libcxx/include/__cxx03/format6
-rw-r--r--libcxx/include/__cxx03/forward_list6
-rw-r--r--libcxx/include/__cxx03/fstream6
-rw-r--r--libcxx/include/__cxx03/functional6
-rw-r--r--libcxx/include/__cxx03/future6
-rw-r--r--libcxx/include/__cxx03/initializer_list6
-rw-r--r--libcxx/include/__cxx03/inttypes.h6
-rw-r--r--libcxx/include/__cxx03/iomanip6
-rw-r--r--libcxx/include/__cxx03/ios6
-rw-r--r--libcxx/include/__cxx03/iosfwd6
-rw-r--r--libcxx/include/__cxx03/iostream6
-rw-r--r--libcxx/include/__cxx03/istream6
-rw-r--r--libcxx/include/__cxx03/iterator6
-rw-r--r--libcxx/include/__cxx03/latch6
-rw-r--r--libcxx/include/__cxx03/limits6
-rw-r--r--libcxx/include/__cxx03/list6
-rw-r--r--libcxx/include/__cxx03/locale8
-rw-r--r--libcxx/include/__cxx03/locale.h6
-rw-r--r--libcxx/include/__cxx03/map6
-rw-r--r--libcxx/include/__cxx03/math.h8
-rw-r--r--libcxx/include/__cxx03/mdspan6
-rw-r--r--libcxx/include/__cxx03/memory6
-rw-r--r--libcxx/include/__cxx03/memory_resource6
-rw-r--r--libcxx/include/__cxx03/module.modulemap1978
-rw-r--r--libcxx/include/__cxx03/mutex6
-rw-r--r--libcxx/include/__cxx03/new6
-rw-r--r--libcxx/include/__cxx03/numbers6
-rw-r--r--libcxx/include/__cxx03/numeric6
-rw-r--r--libcxx/include/__cxx03/optional6
-rw-r--r--libcxx/include/__cxx03/ostream6
-rw-r--r--libcxx/include/__cxx03/print6
-rw-r--r--libcxx/include/__cxx03/queue6
-rw-r--r--libcxx/include/__cxx03/random6
-rw-r--r--libcxx/include/__cxx03/ranges6
-rw-r--r--libcxx/include/__cxx03/ratio6
-rw-r--r--libcxx/include/__cxx03/regex6
-rw-r--r--libcxx/include/__cxx03/scoped_allocator6
-rw-r--r--libcxx/include/__cxx03/semaphore6
-rw-r--r--libcxx/include/__cxx03/set6
-rw-r--r--libcxx/include/__cxx03/shared_mutex6
-rw-r--r--libcxx/include/__cxx03/source_location6
-rw-r--r--libcxx/include/__cxx03/span6
-rw-r--r--libcxx/include/__cxx03/sstream6
-rw-r--r--libcxx/include/__cxx03/stack6
-rw-r--r--libcxx/include/__cxx03/stdatomic.h6
-rw-r--r--libcxx/include/__cxx03/stdbool.h6
-rw-r--r--libcxx/include/__cxx03/stddef.h6
-rw-r--r--libcxx/include/__cxx03/stdexcept6
-rw-r--r--libcxx/include/__cxx03/stdint.h6
-rw-r--r--libcxx/include/__cxx03/stdio.h6
-rw-r--r--libcxx/include/__cxx03/stdlib.h6
-rw-r--r--libcxx/include/__cxx03/stop_token6
-rw-r--r--libcxx/include/__cxx03/streambuf6
-rw-r--r--libcxx/include/__cxx03/string6
-rw-r--r--libcxx/include/__cxx03/string.h6
-rw-r--r--libcxx/include/__cxx03/string_view6
-rw-r--r--libcxx/include/__cxx03/strstream6
-rw-r--r--libcxx/include/__cxx03/syncstream6
-rw-r--r--libcxx/include/__cxx03/system_error6
-rw-r--r--libcxx/include/__cxx03/tgmath.h6
-rw-r--r--libcxx/include/__cxx03/thread6
-rw-r--r--libcxx/include/__cxx03/tuple6
-rw-r--r--libcxx/include/__cxx03/type_traits6
-rw-r--r--libcxx/include/__cxx03/typeindex6
-rw-r--r--libcxx/include/__cxx03/typeinfo6
-rw-r--r--libcxx/include/__cxx03/uchar.h6
-rw-r--r--libcxx/include/__cxx03/unordered_map6
-rw-r--r--libcxx/include/__cxx03/unordered_set6
-rw-r--r--libcxx/include/__cxx03/utility6
-rw-r--r--libcxx/include/__cxx03/valarray6
-rw-r--r--libcxx/include/__cxx03/variant6
-rw-r--r--libcxx/include/__cxx03/vector6
-rw-r--r--libcxx/include/__cxx03/version6
-rw-r--r--libcxx/include/__cxx03/wchar.h6
-rw-r--r--libcxx/include/__cxx03/wctype.h6
-rw-r--r--libcxx/include/__exception/exception_ptr.h1
-rw-r--r--libcxx/include/__flat_map/flat_map.h128
-rw-r--r--libcxx/include/__flat_map/key_value_iterator.h177
-rw-r--r--libcxx/include/__functional/function.h7
-rw-r--r--libcxx/include/__fwd/memory.h3
-rw-r--r--libcxx/include/__fwd/memory_resource.h4
-rw-r--r--libcxx/include/__hash_table6
-rw-r--r--libcxx/include/__locale_dir/locale_base_api.h12
-rw-r--r--libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h16
-rw-r--r--libcxx/include/__locale_dir/locale_base_api/win32.h235
-rw-r--r--libcxx/include/__locale_dir/locale_guard.h78
-rw-r--r--libcxx/include/__locale_dir/support/bsd_like.h2
-rw-r--r--libcxx/include/__locale_dir/support/windows.h328
-rw-r--r--libcxx/include/__memory/allocator.h4
-rw-r--r--libcxx/include/__memory/allocator_arg_t.h8
-rw-r--r--libcxx/include/__memory/allocator_destructor.h6
-rw-r--r--libcxx/include/__memory/allocator_traits.h36
-rw-r--r--libcxx/include/__memory/builtin_new_allocator.h3
-rw-r--r--libcxx/include/__memory/compressed_pair.h15
-rw-r--r--libcxx/include/__memory/construct_at.h2
-rw-r--r--libcxx/include/__memory/pointer_traits.h18
-rw-r--r--libcxx/include/__memory/ranges_construct_at.h1
-rw-r--r--libcxx/include/__memory/ranges_uninitialized_algorithms.h1
-rw-r--r--libcxx/include/__memory/raw_storage_iterator.h1
-rw-r--r--libcxx/include/__memory/shared_ptr.h2
-rw-r--r--libcxx/include/__memory/uninitialized_algorithms.h2
-rw-r--r--libcxx/include/__memory/unique_ptr.h34
-rw-r--r--libcxx/include/__memory/unique_temporary_buffer.h3
-rw-r--r--libcxx/include/__memory_resource/monotonic_buffer_resource.h5
-rw-r--r--libcxx/include/__memory_resource/polymorphic_allocator.h3
-rw-r--r--libcxx/include/__new/align_val_t.h30
-rw-r--r--libcxx/include/__new/allocate.h101
-rw-r--r--libcxx/include/__new/destroying_delete_t.h30
-rw-r--r--libcxx/include/__new/exceptions.h74
-rw-r--r--libcxx/include/__new/global_new_delete.h89
-rw-r--r--libcxx/include/__new/interference_size.h34
-rw-r--r--libcxx/include/__new/launder.h36
-rw-r--r--libcxx/include/__new/new_handler.h29
-rw-r--r--libcxx/include/__new/nothrow_t.h30
-rw-r--r--libcxx/include/__new/placement_new_delete.h34
-rw-r--r--libcxx/include/__numeric/gcd_lcm.h23
-rw-r--r--libcxx/include/__ostream/basic_ostream.h4
-rw-r--r--libcxx/include/__pstl/backends/libdispatch.h2
-rw-r--r--libcxx/include/__pstl/cpu_algos/transform_reduce.h1
-rw-r--r--libcxx/include/__pstl/handle_exception.h2
-rw-r--r--libcxx/include/__ranges/join_view.h4
-rw-r--r--libcxx/include/__split_buffer6
-rw-r--r--libcxx/include/__support/xlocale/__nop_locale_mgmt.h2
-rw-r--r--libcxx/include/__tree2
-rw-r--r--libcxx/include/__tuple/make_tuple_types.h4
-rw-r--r--libcxx/include/__tuple/sfinae_helpers.h2
-rw-r--r--libcxx/include/__tuple/tuple_element.h8
-rw-r--r--libcxx/include/__type_traits/add_cv_quals.h6
-rw-r--r--libcxx/include/__type_traits/add_lvalue_reference.h4
-rw-r--r--libcxx/include/__type_traits/add_pointer.h4
-rw-r--r--libcxx/include/__type_traits/add_rvalue_reference.h4
-rw-r--r--libcxx/include/__type_traits/aligned_storage.h37
-rw-r--r--libcxx/include/__type_traits/common_type.h2
-rw-r--r--libcxx/include/__type_traits/decay.h11
-rw-r--r--libcxx/include/__type_traits/detected_or.h6
-rw-r--r--libcxx/include/__type_traits/make_signed.h22
-rw-r--r--libcxx/include/__type_traits/make_unsigned.h22
-rw-r--r--libcxx/include/__type_traits/remove_pointer.h10
-rw-r--r--libcxx/include/__type_traits/type_list.h28
-rw-r--r--libcxx/include/__type_traits/unwrap_ref.h4
-rw-r--r--libcxx/include/__utility/exception_guard.h10
-rw-r--r--libcxx/include/__utility/forward_like.h17
-rw-r--r--libcxx/include/__utility/move.h2
-rw-r--r--libcxx/include/__utility/no_destroy.h2
-rw-r--r--libcxx/include/__utility/small_buffer.h4
-rw-r--r--libcxx/include/__vector/vector_bool.h13
-rw-r--r--libcxx/include/algorithm450
-rw-r--r--libcxx/include/any136
-rw-r--r--libcxx/include/array185
-rw-r--r--libcxx/include/atomic77
-rw-r--r--libcxx/include/barrier72
-rw-r--r--libcxx/include/bit68
-rw-r--r--libcxx/include/bitset116
-rw-r--r--libcxx/include/cassert22
-rw-r--r--libcxx/include/ccomplex18
-rw-r--r--libcxx/include/cctype102
-rw-r--r--libcxx/include/cerrno18
-rw-r--r--libcxx/include/cfenv19
-rw-r--r--libcxx/include/cfloat18
-rw-r--r--libcxx/include/charconv69
-rw-r--r--libcxx/include/chrono144
-rw-r--r--libcxx/include/cinttypes21
-rw-r--r--libcxx/include/ciso64616
-rw-r--r--libcxx/include/climits15
-rw-r--r--libcxx/include/clocale19
-rw-r--r--libcxx/include/cmath62
-rw-r--r--libcxx/include/codecvt64
-rw-r--r--libcxx/include/compare62
-rw-r--r--libcxx/include/complex88
-rw-r--r--libcxx/include/complex.h26
-rw-r--r--libcxx/include/concepts78
-rw-r--r--libcxx/include/condition_variable82
-rw-r--r--libcxx/include/coroutine40
-rw-r--r--libcxx/include/csetjmp23
-rw-r--r--libcxx/include/csignal23
-rw-r--r--libcxx/include/cstdalign36
-rw-r--r--libcxx/include/cstdarg23
-rw-r--r--libcxx/include/cstdbool22
-rw-r--r--libcxx/include/cstddef34
-rw-r--r--libcxx/include/cstdint19
-rw-r--r--libcxx/include/cstdio25
-rw-r--r--libcxx/include/cstdlib33
-rw-r--r--libcxx/include/cstring23
-rw-r--r--libcxx/include/ctgmath21
-rw-r--r--libcxx/include/ctime33
-rw-r--r--libcxx/include/ctype.h60
-rw-r--r--libcxx/include/cuchar29
-rw-r--r--libcxx/include/cwchar58
-rw-r--r--libcxx/include/cwctype25
-rw-r--r--libcxx/include/deque352
-rw-r--r--libcxx/include/errno.h540
-rw-r--r--libcxx/include/exception39
-rw-r--r--libcxx/include/execution40
-rw-r--r--libcxx/include/expected32
-rw-r--r--libcxx/include/experimental/iterator44
-rw-r--r--libcxx/include/experimental/memory56
-rw-r--r--libcxx/include/experimental/propagate_const74
-rw-r--r--libcxx/include/experimental/simd30
-rw-r--r--libcxx/include/experimental/type_traits26
-rw-r--r--libcxx/include/experimental/utility20
-rw-r--r--libcxx/include/ext/hash_map48
-rw-r--r--libcxx/include/ext/hash_set42
-rw-r--r--libcxx/include/fenv.h88
-rw-r--r--libcxx/include/filesystem76
-rw-r--r--libcxx/include/flat_map28
-rw-r--r--libcxx/include/float.h34
-rw-r--r--libcxx/include/format132
-rw-r--r--libcxx/include/forward_list286
-rw-r--r--libcxx/include/fstream280
-rw-r--r--libcxx/include/functional138
-rw-r--r--libcxx/include/future240
-rw-r--r--libcxx/include/initializer_list26
-rw-r--r--libcxx/include/inttypes.h34
-rw-r--r--libcxx/include/iomanip92
-rw-r--r--libcxx/include/ios124
-rw-r--r--libcxx/include/iosfwd55
-rw-r--r--libcxx/include/iostream27
-rw-r--r--libcxx/include/istream257
-rw-r--r--libcxx/include/iterator140
-rw-r--r--libcxx/include/latch44
-rw-r--r--libcxx/include/limits58
-rw-r--r--libcxx/include/list330
-rw-r--r--libcxx/include/locale310
-rw-r--r--libcxx/include/map348
-rw-r--r--libcxx/include/math.h168
-rw-r--r--libcxx/include/mdspan38
-rw-r--r--libcxx/include/memory108
-rw-r--r--libcxx/include/memory_resource52
-rw-r--r--libcxx/include/module.modulemap35
-rw-r--r--libcxx/include/mutex92
-rw-r--r--libcxx/include/new303
-rw-r--r--libcxx/include/numbers30
-rw-r--r--libcxx/include/numeric98
-rw-r--r--libcxx/include/optional199
-rw-r--r--libcxx/include/ostream62
-rw-r--r--libcxx/include/print131
-rw-r--r--libcxx/include/queue172
-rw-r--r--libcxx/include/random118
-rw-r--r--libcxx/include/ranges128
-rw-r--r--libcxx/include/ratio58
-rw-r--r--libcxx/include/regex312
-rw-r--r--libcxx/include/scoped_allocator88
-rw-r--r--libcxx/include/semaphore60
-rw-r--r--libcxx/include/set292
-rw-r--r--libcxx/include/shared_mutex60
-rw-r--r--libcxx/include/source_location21
-rw-r--r--libcxx/include/span175
-rw-r--r--libcxx/include/sstream196
-rw-r--r--libcxx/include/stack92
-rw-r--r--libcxx/include/stdatomic.h44
-rw-r--r--libcxx/include/stdbool.h38
-rw-r--r--libcxx/include/stddef.h22
-rw-r--r--libcxx/include/stdexcept123
-rw-r--r--libcxx/include/stdio.h41
-rw-r--r--libcxx/include/stdlib.h75
-rw-r--r--libcxx/include/stop_token36
-rw-r--r--libcxx/include/streambuf52
-rw-r--r--libcxx/include/string570
-rw-r--r--libcxx/include/string.h29
-rw-r--r--libcxx/include/string_view228
-rw-r--r--libcxx/include/strstream54
-rw-r--r--libcxx/include/syncstream92
-rw-r--r--libcxx/include/system_error42
-rw-r--r--libcxx/include/tgmath.h26
-rw-r--r--libcxx/include/thread56
-rw-r--r--libcxx/include/tuple232
-rw-r--r--libcxx/include/type_traits210
-rw-r--r--libcxx/include/typeindex40
-rw-r--r--libcxx/include/typeinfo118
-rw-r--r--libcxx/include/uchar.h30
-rw-r--r--libcxx/include/unordered_map346
-rw-r--r--libcxx/include/unordered_set282
-rw-r--r--libcxx/include/utility106
-rw-r--r--libcxx/include/valarray219
-rw-r--r--libcxx/include/variant399
-rw-r--r--libcxx/include/vector104
-rw-r--r--libcxx/include/version13
-rw-r--r--libcxx/include/wchar.h61
-rw-r--r--libcxx/include/wctype.h60
1254 files changed, 13965 insertions, 12956 deletions
diff --git a/libcxx/include/CMakeLists.txt b/libcxx/include/CMakeLists.txt
index 2bb6d263340d..0b484ebe5e87 100644
--- a/libcxx/include/CMakeLists.txt
+++ b/libcxx/include/CMakeLists.txt
@@ -212,11 +212,13 @@ set(files
__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/support.h
+ __atomic/support/c11.h
+ __atomic/support/gcc.h
__atomic/to_gcc_order.h
__bit/bit_cast.h
__bit/bit_ceil.h
@@ -358,6 +360,7 @@ set(files
__filesystem/space_info.h
__filesystem/u8path.h
__flat_map/flat_map.h
+ __flat_map/key_value_iterator.h
__flat_map/sorted_unique.h
__format/buffer.h
__format/concepts.h
@@ -500,12 +503,11 @@ set(files
__locale_dir/locale_base_api/ibm.h
__locale_dir/locale_base_api/musl.h
__locale_dir/locale_base_api/openbsd.h
- __locale_dir/locale_base_api/win32.h
- __locale_dir/locale_guard.h
__locale_dir/pad_and_output.h
__locale_dir/support/apple.h
__locale_dir/support/bsd_like.h
__locale_dir/support/freebsd.h
+ __locale_dir/support/windows.h
__math/abs.h
__math/copysign.h
__math/error_functions.h
@@ -578,6 +580,16 @@ set(files
__mutex/once_flag.h
__mutex/tag_types.h
__mutex/unique_lock.h
+ __new/align_val_t.h
+ __new/allocate.h
+ __new/destroying_delete_t.h
+ __new/exceptions.h
+ __new/global_new_delete.h
+ __new/interference_size.h
+ __new/launder.h
+ __new/new_handler.h
+ __new/nothrow_t.h
+ __new/placement_new_delete.h
__node_handle
__numeric/accumulate.h
__numeric/adjacent_difference.h
@@ -1042,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/__algorithm/adjacent_find.h b/libcxx/include/__algorithm/adjacent_find.h
index 76728900bd4d..2508250d8796 100644
--- a/libcxx/include/__algorithm/adjacent_find.h
+++ b/libcxx/include/__algorithm/adjacent_find.h
@@ -11,10 +11,8 @@
#define _LIBCPP___ALGORITHM_ADJACENT_FIND_H
#include <__algorithm/comp.h>
-#include <__algorithm/iterator_operations.h>
#include <__config>
#include <__functional/identity.h>
-#include <__iterator/iterator_traits.h>
#include <__type_traits/invoke.h>
#include <__utility/move.h>
diff --git a/libcxx/include/__algorithm/binary_search.h b/libcxx/include/__algorithm/binary_search.h
index 79a5ec089f5f..4940059f285c 100644
--- a/libcxx/include/__algorithm/binary_search.h
+++ b/libcxx/include/__algorithm/binary_search.h
@@ -13,7 +13,6 @@
#include <__algorithm/comp_ref_type.h>
#include <__algorithm/lower_bound.h>
#include <__config>
-#include <__iterator/iterator_traits.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__algorithm/equal.h b/libcxx/include/__algorithm/equal.h
index cd8b0673e7a4..a276bb9954c9 100644
--- a/libcxx/include/__algorithm/equal.h
+++ b/libcxx/include/__algorithm/equal.h
@@ -20,7 +20,6 @@
#include <__type_traits/desugars_to.h>
#include <__type_traits/enable_if.h>
#include <__type_traits/invoke.h>
-#include <__type_traits/is_constant_evaluated.h>
#include <__type_traits/is_equality_comparable.h>
#include <__type_traits/is_volatile.h>
#include <__utility/move.h>
diff --git a/libcxx/include/__algorithm/equal_range.h b/libcxx/include/__algorithm/equal_range.h
index 4e74ad20aa41..ff6f4f2225c7 100644
--- a/libcxx/include/__algorithm/equal_range.h
+++ b/libcxx/include/__algorithm/equal_range.h
@@ -17,10 +17,6 @@
#include <__algorithm/upper_bound.h>
#include <__config>
#include <__functional/identity.h>
-#include <__iterator/advance.h>
-#include <__iterator/distance.h>
-#include <__iterator/iterator_traits.h>
-#include <__iterator/next.h>
#include <__type_traits/invoke.h>
#include <__type_traits/is_callable.h>
#include <__type_traits/is_constructible.h>
diff --git a/libcxx/include/__algorithm/fill_n.h b/libcxx/include/__algorithm/fill_n.h
index f29633f88087..5069a72783f3 100644
--- a/libcxx/include/__algorithm/fill_n.h
+++ b/libcxx/include/__algorithm/fill_n.h
@@ -12,7 +12,6 @@
#include <__algorithm/min.h>
#include <__config>
#include <__fwd/bit_reference.h>
-#include <__iterator/iterator_traits.h>
#include <__memory/pointer_traits.h>
#include <__utility/convert_to_integral.h>
diff --git a/libcxx/include/__algorithm/find.h b/libcxx/include/__algorithm/find.h
index 14b8a7804887..a05d50718595 100644
--- a/libcxx/include/__algorithm/find.h
+++ b/libcxx/include/__algorithm/find.h
@@ -24,7 +24,6 @@
#include <__type_traits/invoke.h>
#include <__type_traits/is_equality_comparable.h>
#include <__type_traits/is_integral.h>
-#include <__type_traits/is_same.h>
#include <__type_traits/is_signed.h>
#include <__utility/move.h>
#include <limits>
diff --git a/libcxx/include/__algorithm/find_end.h b/libcxx/include/__algorithm/find_end.h
index fc876d872676..86b4a3e2e368 100644
--- a/libcxx/include/__algorithm/find_end.h
+++ b/libcxx/include/__algorithm/find_end.h
@@ -15,7 +15,6 @@
#include <__config>
#include <__functional/identity.h>
#include <__iterator/iterator_traits.h>
-#include <__iterator/next.h>
#include <__type_traits/invoke.h>
#include <__utility/pair.h>
diff --git a/libcxx/include/__algorithm/find_first_of.h b/libcxx/include/__algorithm/find_first_of.h
index 4a240f733179..45ec13315437 100644
--- a/libcxx/include/__algorithm/find_first_of.h
+++ b/libcxx/include/__algorithm/find_first_of.h
@@ -12,7 +12,6 @@
#include <__algorithm/comp.h>
#include <__config>
-#include <__iterator/iterator_traits.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__algorithm/for_each.h b/libcxx/include/__algorithm/for_each.h
index 259e527f87f9..e08f583504c0 100644
--- a/libcxx/include/__algorithm/for_each.h
+++ b/libcxx/include/__algorithm/for_each.h
@@ -14,7 +14,6 @@
#include <__config>
#include <__iterator/segmented_iterator.h>
#include <__ranges/movable_box.h>
-#include <__type_traits/enable_if.h>
#include <__utility/in_place.h>
#include <__utility/move.h>
diff --git a/libcxx/include/__algorithm/includes.h b/libcxx/include/__algorithm/includes.h
index a86102fc6d4a..bc6c6579693b 100644
--- a/libcxx/include/__algorithm/includes.h
+++ b/libcxx/include/__algorithm/includes.h
@@ -13,7 +13,6 @@
#include <__algorithm/comp_ref_type.h>
#include <__config>
#include <__functional/identity.h>
-#include <__iterator/iterator_traits.h>
#include <__type_traits/invoke.h>
#include <__type_traits/is_callable.h>
#include <__utility/move.h>
diff --git a/libcxx/include/__algorithm/inplace_merge.h b/libcxx/include/__algorithm/inplace_merge.h
index ad3fe6a7a505..69213cc1457b 100644
--- a/libcxx/include/__algorithm/inplace_merge.h
+++ b/libcxx/include/__algorithm/inplace_merge.h
@@ -20,8 +20,6 @@
#include <__config>
#include <__cstddef/ptrdiff_t.h>
#include <__functional/identity.h>
-#include <__iterator/advance.h>
-#include <__iterator/distance.h>
#include <__iterator/iterator_traits.h>
#include <__iterator/reverse_iterator.h>
#include <__memory/destruct_n.h>
@@ -29,7 +27,6 @@
#include <__memory/unique_temporary_buffer.h>
#include <__utility/move.h>
#include <__utility/pair.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__algorithm/is_heap.h b/libcxx/include/__algorithm/is_heap.h
index fa668c1d0433..dfe06200cedc 100644
--- a/libcxx/include/__algorithm/is_heap.h
+++ b/libcxx/include/__algorithm/is_heap.h
@@ -13,7 +13,6 @@
#include <__algorithm/comp_ref_type.h>
#include <__algorithm/is_heap_until.h>
#include <__config>
-#include <__iterator/iterator_traits.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__algorithm/is_permutation.h b/libcxx/include/__algorithm/is_permutation.h
index 8753e9fc13f2..1afb11596bc6 100644
--- a/libcxx/include/__algorithm/is_permutation.h
+++ b/libcxx/include/__algorithm/is_permutation.h
@@ -17,7 +17,6 @@
#include <__iterator/concepts.h>
#include <__iterator/distance.h>
#include <__iterator/iterator_traits.h>
-#include <__iterator/next.h>
#include <__type_traits/enable_if.h>
#include <__type_traits/invoke.h>
#include <__type_traits/is_callable.h>
diff --git a/libcxx/include/__algorithm/is_sorted.h b/libcxx/include/__algorithm/is_sorted.h
index ff61a7360418..196ae0beec01 100644
--- a/libcxx/include/__algorithm/is_sorted.h
+++ b/libcxx/include/__algorithm/is_sorted.h
@@ -13,7 +13,6 @@
#include <__algorithm/comp_ref_type.h>
#include <__algorithm/is_sorted_until.h>
#include <__config>
-#include <__iterator/iterator_traits.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__algorithm/is_sorted_until.h b/libcxx/include/__algorithm/is_sorted_until.h
index b64fb65e84e4..606641949db9 100644
--- a/libcxx/include/__algorithm/is_sorted_until.h
+++ b/libcxx/include/__algorithm/is_sorted_until.h
@@ -12,7 +12,6 @@
#include <__algorithm/comp.h>
#include <__algorithm/comp_ref_type.h>
#include <__config>
-#include <__iterator/iterator_traits.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__algorithm/lower_bound.h b/libcxx/include/__algorithm/lower_bound.h
index 2144ba962966..4fba6748e6d7 100644
--- a/libcxx/include/__algorithm/lower_bound.h
+++ b/libcxx/include/__algorithm/lower_bound.h
@@ -19,7 +19,6 @@
#include <__iterator/iterator_traits.h>
#include <__type_traits/invoke.h>
#include <__type_traits/is_callable.h>
-#include <__type_traits/remove_reference.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__algorithm/make_projected.h b/libcxx/include/__algorithm/make_projected.h
index 22cceb4cb2fb..4b54c504413e 100644
--- a/libcxx/include/__algorithm/make_projected.h
+++ b/libcxx/include/__algorithm/make_projected.h
@@ -9,16 +9,13 @@
#ifndef _LIBCPP___ALGORITHM_MAKE_PROJECTED_H
#define _LIBCPP___ALGORITHM_MAKE_PROJECTED_H
-#include <__concepts/same_as.h>
#include <__config>
#include <__functional/identity.h>
#include <__functional/invoke.h>
#include <__type_traits/decay.h>
#include <__type_traits/enable_if.h>
-#include <__type_traits/integral_constant.h>
#include <__type_traits/invoke.h>
#include <__type_traits/is_member_pointer.h>
-#include <__type_traits/is_same.h>
#include <__utility/declval.h>
#include <__utility/forward.h>
diff --git a/libcxx/include/__algorithm/merge.h b/libcxx/include/__algorithm/merge.h
index bad663c4b9f1..ae859b7b63ff 100644
--- a/libcxx/include/__algorithm/merge.h
+++ b/libcxx/include/__algorithm/merge.h
@@ -13,7 +13,6 @@
#include <__algorithm/comp_ref_type.h>
#include <__algorithm/copy.h>
#include <__config>
-#include <__iterator/iterator_traits.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__algorithm/mismatch.h b/libcxx/include/__algorithm/mismatch.h
index 556bd4216307..f5855379f687 100644
--- a/libcxx/include/__algorithm/mismatch.h
+++ b/libcxx/include/__algorithm/mismatch.h
@@ -27,7 +27,6 @@
#include <__type_traits/is_integral.h>
#include <__utility/move.h>
#include <__utility/pair.h>
-#include <__utility/unreachable.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
@@ -79,7 +78,7 @@ __mismatch_vectorized(_Iter __first1, _Iter __last1, _Iter __first2) {
}
for (size_t __i = 0; __i != __unroll_count; ++__i) {
- if (auto __cmp_res = __lhs[__i] == __rhs[__i]; !std::__all_of(__cmp_res)) {
+ if (auto __cmp_res = std::__as_mask(__lhs[__i] == __rhs[__i]); !std::__all_of(__cmp_res)) {
auto __offset = __i * __vec_size + std::__find_first_not_set(__cmp_res);
return {__first1 + __offset, __first2 + __offset};
}
@@ -91,7 +90,7 @@ __mismatch_vectorized(_Iter __first1, _Iter __last1, _Iter __first2) {
// check the remaining 0-3 vectors
while (static_cast<size_t>(__last1 - __first1) >= __vec_size) {
- if (auto __cmp_res = std::__load_vector<__vec>(__first1) == std::__load_vector<__vec>(__first2);
+ if (auto __cmp_res = std::__as_mask(std::__load_vector<__vec>(__first1) == std::__load_vector<__vec>(__first2));
!std::__all_of(__cmp_res)) {
auto __offset = std::__find_first_not_set(__cmp_res);
return {__first1 + __offset, __first2 + __offset};
@@ -108,8 +107,8 @@ __mismatch_vectorized(_Iter __first1, _Iter __last1, _Iter __first2) {
if (static_cast<size_t>(__first1 - __orig_first1) >= __vec_size) {
__first1 = __last1 - __vec_size;
__first2 = __last2 - __vec_size;
- auto __offset =
- std::__find_first_not_set(std::__load_vector<__vec>(__first1) == std::__load_vector<__vec>(__first2));
+ auto __offset = std::__find_first_not_set(
+ std::__as_mask(std::__load_vector<__vec>(__first1) == std::__load_vector<__vec>(__first2)));
return {__first1 + __offset, __first2 + __offset};
} // else loop over the elements individually
}
diff --git a/libcxx/include/__algorithm/simd_utils.h b/libcxx/include/__algorithm/simd_utils.h
index 4e3e4f2b9404..3ca79247bbd0 100644
--- a/libcxx/include/__algorithm/simd_utils.h
+++ b/libcxx/include/__algorithm/simd_utils.h
@@ -116,42 +116,65 @@ template <class _VecT, class _Iter>
}(make_index_sequence<__simd_vector_size_v<_VecT>>{});
}
-template <class _Tp, size_t _Np>
-[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI bool __all_of(__simd_vector<_Tp, _Np> __vec) noexcept {
- return __builtin_reduce_and(__builtin_convertvector(__vec, __simd_vector<bool, _Np>));
+template <size_t _Np>
+[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI bool __all_of(__simd_vector<bool, _Np> __vec) noexcept {
+ return __builtin_reduce_and(__vec);
}
template <class _Tp, size_t _Np>
-[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI size_t __find_first_set(__simd_vector<_Tp, _Np> __vec) noexcept {
- using __mask_vec = __simd_vector<bool, _Np>;
+[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI auto __as_mask(__simd_vector<_Tp, _Np> __vec) noexcept {
+ static_assert(!is_same<_Tp, bool>::value, "vector type should not be a bool!");
+ return __builtin_convertvector(__vec, __simd_vector<bool, _Np>);
+}
- // This has MSan disabled du to https://github.com/llvm/llvm-project/issues/85876
- auto __impl = [&]<class _MaskT>(_MaskT) _LIBCPP_NO_SANITIZE("memory") noexcept {
-# if defined(_LIBCPP_BIG_ENDIAN)
- return std::min<size_t>(
- _Np, std::__countl_zero(__builtin_bit_cast(_MaskT, __builtin_convertvector(__vec, __mask_vec))));
-# else
- return std::min<size_t>(
- _Np, std::__countr_zero(__builtin_bit_cast(_MaskT, __builtin_convertvector(__vec, __mask_vec))));
-# endif
- };
-
- if constexpr (sizeof(__mask_vec) == sizeof(uint8_t)) {
- return __impl(uint8_t{});
- } else if constexpr (sizeof(__mask_vec) == sizeof(uint16_t)) {
- return __impl(uint16_t{});
- } else if constexpr (sizeof(__mask_vec) == sizeof(uint32_t)) {
- return __impl(uint32_t{});
- } else if constexpr (sizeof(__mask_vec) == sizeof(uint64_t)) {
- return __impl(uint64_t{});
+// This uses __builtin_convertvector around the __builtin_shufflevector to work around #107981.
+template <size_t _Np>
+[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI __simd_vector<bool, 8>
+__extend_vector(__simd_vector<bool, _Np> __vec) noexcept {
+ using _VecT = __simd_vector<bool, _Np>;
+ if constexpr (_Np == 4) {
+ return __builtin_convertvector(
+ __builtin_shufflevector(__vec, _VecT{}, 0, 1, 2, 3, 4, 5, 6, 7), __simd_vector<bool, 8>);
+ } else if constexpr (_Np == 2) {
+ return std::__extend_vector(
+ __builtin_convertvector(__builtin_shufflevector(__vec, _VecT{}, 0, 1, 2, 3), __simd_vector<bool, 4>));
+ } else if constexpr (_Np == 1) {
+ return std::__extend_vector(
+ __builtin_convertvector(__builtin_shufflevector(__vec, _VecT{}, 0, 1), __simd_vector<bool, 2>));
} else {
- static_assert(sizeof(__mask_vec) == 0, "unexpected required size for mask integer type");
+ static_assert(sizeof(_VecT) == 0, "Unexpected vector size");
+ }
+}
+
+template <size_t _Np>
+[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI auto __to_int_mask(__simd_vector<bool, _Np> __vec) {
+ if constexpr (_Np < 8) {
+ return std::__bit_cast<uint8_t>(std::__extend_vector(__vec));
+ } else if constexpr (_Np == 8) {
+ return std::__bit_cast<uint8_t>(__vec);
+ } else if constexpr (_Np == 16) {
+ return std::__bit_cast<uint16_t>(__vec);
+ } else if constexpr (_Np == 32) {
+ return std::__bit_cast<uint32_t>(__vec);
+ } else if constexpr (_Np == 64) {
+ return std::__bit_cast<uint64_t>(__vec);
+ } else {
+ static_assert(sizeof(__simd_vector<bool, _Np>) == 0, "Unexpected vector size");
return 0;
}
}
-template <class _Tp, size_t _Np>
-[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI size_t __find_first_not_set(__simd_vector<_Tp, _Np> __vec) noexcept {
+template <size_t _Np>
+[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI size_t __find_first_set(__simd_vector<bool, _Np> __vec) noexcept {
+# if defined(_LIBCPP_BIG_ENDIAN)
+ return std::min<size_t>(_Np, std::__countl_zero(std::__to_int_mask(__vec)));
+# else
+ return std::min<size_t>(_Np, std::__countr_zero(std::__to_int_mask(__vec)));
+# endif
+}
+
+template <size_t _Np>
+[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI size_t __find_first_not_set(__simd_vector<bool, _Np> __vec) noexcept {
return std::__find_first_set(~__vec);
}
diff --git a/libcxx/include/__algorithm/stable_partition.h b/libcxx/include/__algorithm/stable_partition.h
index 0438f589a39d..2ba7239a3a03 100644
--- a/libcxx/include/__algorithm/stable_partition.h
+++ b/libcxx/include/__algorithm/stable_partition.h
@@ -22,7 +22,6 @@
#include <__type_traits/remove_cvref.h>
#include <__utility/move.h>
#include <__utility/pair.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__algorithm/stable_sort.h b/libcxx/include/__algorithm/stable_sort.h
index 43f591ac02b0..1111f5509bc3 100644
--- a/libcxx/include/__algorithm/stable_sort.h
+++ b/libcxx/include/__algorithm/stable_sort.h
@@ -24,7 +24,6 @@
#include <__type_traits/is_trivially_assignable.h>
#include <__utility/move.h>
#include <__utility/pair.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__atomic/atomic.h b/libcxx/include/__atomic/atomic.h
index d83719c8733d..8029b52770d2 100644
--- a/libcxx/include/__atomic/atomic.h
+++ b/libcxx/include/__atomic/atomic.h
@@ -11,9 +11,9 @@
#include <__atomic/atomic_sync.h>
#include <__atomic/check_memory_order.h>
-#include <__atomic/cxx_atomic_impl.h>
#include <__atomic/is_always_lock_free.h>
#include <__atomic/memory_order.h>
+#include <__atomic/support.h>
#include <__config>
#include <__cstddef/ptrdiff_t.h>
#include <__memory/addressof.h>
diff --git a/libcxx/include/__atomic/atomic_flag.h b/libcxx/include/__atomic/atomic_flag.h
index abebfc112cb8..5cc6fb0c55d0 100644
--- a/libcxx/include/__atomic/atomic_flag.h
+++ b/libcxx/include/__atomic/atomic_flag.h
@@ -11,8 +11,8 @@
#include <__atomic/atomic_sync.h>
#include <__atomic/contention_t.h>
-#include <__atomic/cxx_atomic_impl.h>
#include <__atomic/memory_order.h>
+#include <__atomic/support.h>
#include <__chrono/duration.h>
#include <__config>
#include <__memory/addressof.h>
diff --git a/libcxx/include/__atomic/atomic_sync.h b/libcxx/include/__atomic/atomic_sync.h
index a699b60d1318..153001e7b62e 100644
--- a/libcxx/include/__atomic/atomic_sync.h
+++ b/libcxx/include/__atomic/atomic_sync.h
@@ -10,7 +10,6 @@
#define _LIBCPP___ATOMIC_ATOMIC_SYNC_H
#include <__atomic/contention_t.h>
-#include <__atomic/cxx_atomic_impl.h>
#include <__atomic/memory_order.h>
#include <__atomic/to_gcc_order.h>
#include <__chrono/duration.h>
diff --git a/libcxx/include/__atomic/contention_t.h b/libcxx/include/__atomic/contention_t.h
index 65890f338ce9..6f2a073bc1a8 100644
--- a/libcxx/include/__atomic/contention_t.h
+++ b/libcxx/include/__atomic/contention_t.h
@@ -9,7 +9,7 @@
#ifndef _LIBCPP___ATOMIC_CONTENTION_T_H
#define _LIBCPP___ATOMIC_CONTENTION_T_H
-#include <__atomic/cxx_atomic_impl.h>
+#include <__atomic/support.h>
#include <__config>
#include <cstdint>
diff --git a/libcxx/include/__atomic/fence.h b/libcxx/include/__atomic/fence.h
index 8c27ea54d62d..0a63cedddb3f 100644
--- a/libcxx/include/__atomic/fence.h
+++ b/libcxx/include/__atomic/fence.h
@@ -9,8 +9,8 @@
#ifndef _LIBCPP___ATOMIC_FENCE_H
#define _LIBCPP___ATOMIC_FENCE_H
-#include <__atomic/cxx_atomic_impl.h>
#include <__atomic/memory_order.h>
+#include <__atomic/support.h>
#include <__config>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/__atomic/support.h b/libcxx/include/__atomic/support.h
new file mode 100644
index 000000000000..4b555ab483ca
--- /dev/null
+++ b/libcxx/include/__atomic/support.h
@@ -0,0 +1,124 @@
+//===----------------------------------------------------------------------===//
+//
+// 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___ATOMIC_SUPPORT_H
+#define _LIBCPP___ATOMIC_SUPPORT_H
+
+#include <__config>
+#include <__type_traits/is_trivially_copyable.h>
+
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+#endif
+
+//
+// This file implements base support for atomics on the platform.
+//
+// The following operations and types must be implemented (where _Atmc
+// is __cxx_atomic_base_impl for readability):
+//
+// clang-format off
+//
+// template <class _Tp>
+// struct __cxx_atomic_base_impl;
+//
+// #define __cxx_atomic_is_lock_free(__size)
+//
+// void __cxx_atomic_thread_fence(memory_order __order) noexcept;
+// void __cxx_atomic_signal_fence(memory_order __order) noexcept;
+//
+// template <class _Tp>
+// void __cxx_atomic_init(_Atmc<_Tp> volatile* __a, _Tp __val) noexcept;
+// template <class _Tp>
+// void __cxx_atomic_init(_Atmc<_Tp>* __a, _Tp __val) noexcept;
+//
+// template <class _Tp>
+// void __cxx_atomic_store(_Atmc<_Tp> volatile* __a, _Tp __val, memory_order __order) noexcept;
+// template <class _Tp>
+// void __cxx_atomic_store(_Atmc<_Tp>* __a, _Tp __val, memory_order __order) noexcept;
+//
+// template <class _Tp>
+// _Tp __cxx_atomic_load(_Atmc<_Tp> const volatile* __a, memory_order __order) noexcept;
+// template <class _Tp>
+// _Tp __cxx_atomic_load(_Atmc<_Tp> const* __a, memory_order __order) noexcept;
+//
+// template <class _Tp>
+// void __cxx_atomic_load_inplace(_Atmc<_Tp> const volatile* __a, _Tp* __dst, memory_order __order) noexcept;
+// template <class _Tp>
+// void __cxx_atomic_load_inplace(_Atmc<_Tp> const* __a, _Tp* __dst, memory_order __order) noexcept;
+//
+// template <class _Tp>
+// _Tp __cxx_atomic_exchange(_Atmc<_Tp> volatile* __a, _Tp __value, memory_order __order) noexcept;
+// template <class _Tp>
+// _Tp __cxx_atomic_exchange(_Atmc<_Tp>* __a, _Tp __value, memory_order __order) noexcept;
+//
+// template <class _Tp>
+// bool __cxx_atomic_compare_exchange_strong(_Atmc<_Tp> volatile* __a, _Tp* __expected, _Tp __value, memory_order __success, memory_order __failure) noexcept;
+// template <class _Tp>
+// bool __cxx_atomic_compare_exchange_strong(_Atmc<_Tp>* __a, _Tp* __expected, _Tp __value, memory_order __success, memory_order __failure) noexcept;
+//
+// template <class _Tp>
+// bool __cxx_atomic_compare_exchange_weak(_Atmc<_Tp> volatile* __a, _Tp* __expected, _Tp __value, memory_order __success, memory_order __failure) noexcept;
+// template <class _Tp>
+// bool __cxx_atomic_compare_exchange_weak(_Atmc<_Tp>* __a, _Tp* __expected, _Tp __value, memory_order __success, memory_order __failure) noexcept;
+//
+// template <class _Tp>
+// _Tp __cxx_atomic_fetch_add(_Atmc<_Tp> volatile* __a, _Tp __delta, memory_order __order) noexcept;
+// template <class _Tp>
+// _Tp __cxx_atomic_fetch_add(_Atmc<_Tp>* __a, _Tp __delta, memory_order __order) noexcept;
+//
+// template <class _Tp>
+// _Tp* __cxx_atomic_fetch_add(_Atmc<_Tp*> volatile* __a, ptrdiff_t __delta, memory_order __order) noexcept;
+// template <class _Tp>
+// _Tp* __cxx_atomic_fetch_add(_Atmc<_Tp*>* __a, ptrdiff_t __delta, memory_order __order) noexcept;
+//
+// template <class _Tp>
+// _Tp __cxx_atomic_fetch_sub(_Atmc<_Tp> volatile* __a, _Tp __delta, memory_order __order) noexcept;
+// template <class _Tp>
+// _Tp __cxx_atomic_fetch_sub(_Atmc<_Tp>* __a, _Tp __delta, memory_order __order) noexcept;
+// template <class _Tp>
+// _Tp* __cxx_atomic_fetch_sub(_Atmc<_Tp*> volatile* __a, ptrdiff_t __delta, memory_order __order) noexcept;
+// template <class _Tp>
+// _Tp* __cxx_atomic_fetch_sub(_Atmc<_Tp*>* __a, ptrdiff_t __delta, memory_order __order) noexcept;
+//
+// template <class _Tp>
+// _Tp __cxx_atomic_fetch_and(_Atmc<_Tp> volatile* __a, _Tp __pattern, memory_order __order) noexcept;
+// template <class _Tp>
+// _Tp __cxx_atomic_fetch_and(_Atmc<_Tp>* __a, _Tp __pattern, memory_order __order) noexcept;
+//
+// template <class _Tp>
+// _Tp __cxx_atomic_fetch_or(_Atmc<_Tp> volatile* __a, _Tp __pattern, memory_order __order) noexcept;
+// template <class _Tp>
+// _Tp __cxx_atomic_fetch_or(_Atmc<_Tp>* __a, _Tp __pattern, memory_order __order) noexcept;
+// template <class _Tp>
+// _Tp __cxx_atomic_fetch_xor(_Atmc<_Tp> volatile* __a, _Tp __pattern, memory_order __order) noexcept;
+// template <class _Tp>
+// _Tp __cxx_atomic_fetch_xor(_Atmc<_Tp>* __a, _Tp __pattern, memory_order __order) noexcept;
+//
+// clang-format on
+//
+
+#if _LIBCPP_HAS_GCC_ATOMIC_IMP
+# include <__atomic/support/gcc.h>
+#elif _LIBCPP_HAS_C_ATOMIC_IMP
+# include <__atomic/support/c11.h>
+#endif
+
+_LIBCPP_BEGIN_NAMESPACE_STD
+
+template <typename _Tp, typename _Base = __cxx_atomic_base_impl<_Tp> >
+struct __cxx_atomic_impl : public _Base {
+ static_assert(is_trivially_copyable<_Tp>::value, "std::atomic<T> requires that 'T' be a trivially copyable type");
+
+ _LIBCPP_HIDE_FROM_ABI __cxx_atomic_impl() _NOEXCEPT = default;
+ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR explicit __cxx_atomic_impl(_Tp __value) _NOEXCEPT : _Base(__value) {}
+};
+
+_LIBCPP_END_NAMESPACE_STD
+
+#endif // _LIBCPP___ATOMIC_SUPPORT_H
diff --git a/libcxx/include/__atomic/cxx_atomic_impl.h b/libcxx/include/__atomic/support/c11.h
index acffb0fa8f5d..177a075be407 100644
--- a/libcxx/include/__atomic/cxx_atomic_impl.h
+++ b/libcxx/include/__atomic/support/c11.h
@@ -6,276 +6,39 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ATOMIC_CXX_ATOMIC_IMPL_H
-#define _LIBCPP___ATOMIC_CXX_ATOMIC_IMPL_H
+#ifndef _LIBCPP___ATOMIC_SUPPORT_C11_H
+#define _LIBCPP___ATOMIC_SUPPORT_C11_H
#include <__atomic/memory_order.h>
-#include <__atomic/to_gcc_order.h>
#include <__config>
#include <__cstddef/ptrdiff_t.h>
#include <__memory/addressof.h>
-#include <__type_traits/enable_if.h>
-#include <__type_traits/is_assignable.h>
-#include <__type_traits/is_trivially_copyable.h>
#include <__type_traits/remove_const.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
#endif
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-#if _LIBCPP_HAS_GCC_ATOMIC_IMP
-
-// [atomics.types.generic]p1 guarantees _Tp is trivially copyable. Because
-// the default operator= in an object is not volatile, a byte-by-byte copy
-// is required.
-template <typename _Tp, typename _Tv, __enable_if_t<is_assignable<_Tp&, _Tv>::value, int> = 0>
-_LIBCPP_HIDE_FROM_ABI void __cxx_atomic_assign_volatile(_Tp& __a_value, _Tv const& __val) {
- __a_value = __val;
-}
-template <typename _Tp, typename _Tv, __enable_if_t<is_assignable<_Tp&, _Tv>::value, int> = 0>
-_LIBCPP_HIDE_FROM_ABI void __cxx_atomic_assign_volatile(_Tp volatile& __a_value, _Tv volatile const& __val) {
- volatile char* __to = reinterpret_cast<volatile char*>(std::addressof(__a_value));
- volatile char* __end = __to + sizeof(_Tp);
- volatile const char* __from = reinterpret_cast<volatile const char*>(std::addressof(__val));
- while (__to != __end)
- *__to++ = *__from++;
-}
-
-template <typename _Tp>
-struct __cxx_atomic_base_impl {
- _LIBCPP_HIDE_FROM_ABI
-# ifndef _LIBCPP_CXX03_LANG
- __cxx_atomic_base_impl() _NOEXCEPT = default;
-# else
- __cxx_atomic_base_impl() _NOEXCEPT : __a_value() {
- }
-# endif // _LIBCPP_CXX03_LANG
- _LIBCPP_CONSTEXPR explicit __cxx_atomic_base_impl(_Tp value) _NOEXCEPT : __a_value(value) {}
- _Tp __a_value;
-};
-
-template <typename _Tp>
-_LIBCPP_HIDE_FROM_ABI void __cxx_atomic_init(volatile __cxx_atomic_base_impl<_Tp>* __a, _Tp __val) {
- __cxx_atomic_assign_volatile(__a->__a_value, __val);
-}
-
-template <typename _Tp>
-_LIBCPP_HIDE_FROM_ABI void __cxx_atomic_init(__cxx_atomic_base_impl<_Tp>* __a, _Tp __val) {
- __a->__a_value = __val;
-}
-
-_LIBCPP_HIDE_FROM_ABI inline void __cxx_atomic_thread_fence(memory_order __order) {
- __atomic_thread_fence(__to_gcc_order(__order));
-}
-
-_LIBCPP_HIDE_FROM_ABI inline void __cxx_atomic_signal_fence(memory_order __order) {
- __atomic_signal_fence(__to_gcc_order(__order));
-}
-
-template <typename _Tp>
-_LIBCPP_HIDE_FROM_ABI void
-__cxx_atomic_store(volatile __cxx_atomic_base_impl<_Tp>* __a, _Tp __val, memory_order __order) {
- __atomic_store(std::addressof(__a->__a_value), std::addressof(__val), __to_gcc_order(__order));
-}
-
-template <typename _Tp>
-_LIBCPP_HIDE_FROM_ABI void __cxx_atomic_store(__cxx_atomic_base_impl<_Tp>* __a, _Tp __val, memory_order __order) {
- __atomic_store(std::addressof(__a->__a_value), std::addressof(__val), __to_gcc_order(__order));
-}
-
-template <typename _Tp>
-_LIBCPP_HIDE_FROM_ABI _Tp __cxx_atomic_load(const volatile __cxx_atomic_base_impl<_Tp>* __a, memory_order __order) {
- _Tp __ret;
- __atomic_load(std::addressof(__a->__a_value), std::addressof(__ret), __to_gcc_order(__order));
- return __ret;
-}
-
-template <typename _Tp>
-_LIBCPP_HIDE_FROM_ABI void
-__cxx_atomic_load_inplace(const volatile __cxx_atomic_base_impl<_Tp>* __a, _Tp* __dst, memory_order __order) {
- __atomic_load(std::addressof(__a->__a_value), __dst, __to_gcc_order(__order));
-}
-
-template <typename _Tp>
-_LIBCPP_HIDE_FROM_ABI void
-__cxx_atomic_load_inplace(const __cxx_atomic_base_impl<_Tp>* __a, _Tp* __dst, memory_order __order) {
- __atomic_load(std::addressof(__a->__a_value), __dst, __to_gcc_order(__order));
-}
-
-template <typename _Tp>
-_LIBCPP_HIDE_FROM_ABI _Tp __cxx_atomic_load(const __cxx_atomic_base_impl<_Tp>* __a, memory_order __order) {
- _Tp __ret;
- __atomic_load(std::addressof(__a->__a_value), std::addressof(__ret), __to_gcc_order(__order));
- return __ret;
-}
-
-template <typename _Tp>
-_LIBCPP_HIDE_FROM_ABI _Tp
-__cxx_atomic_exchange(volatile __cxx_atomic_base_impl<_Tp>* __a, _Tp __value, memory_order __order) {
- _Tp __ret;
- __atomic_exchange(
- std::addressof(__a->__a_value), std::addressof(__value), std::addressof(__ret), __to_gcc_order(__order));
- return __ret;
-}
-
-template <typename _Tp>
-_LIBCPP_HIDE_FROM_ABI _Tp __cxx_atomic_exchange(__cxx_atomic_base_impl<_Tp>* __a, _Tp __value, memory_order __order) {
- _Tp __ret;
- __atomic_exchange(
- std::addressof(__a->__a_value), std::addressof(__value), std::addressof(__ret), __to_gcc_order(__order));
- return __ret;
-}
-
-template <typename _Tp>
-_LIBCPP_HIDE_FROM_ABI bool __cxx_atomic_compare_exchange_strong(
- volatile __cxx_atomic_base_impl<_Tp>* __a,
- _Tp* __expected,
- _Tp __value,
- memory_order __success,
- memory_order __failure) {
- return __atomic_compare_exchange(
- std::addressof(__a->__a_value),
- __expected,
- std::addressof(__value),
- false,
- __to_gcc_order(__success),
- __to_gcc_failure_order(__failure));
-}
-
-template <typename _Tp>
-_LIBCPP_HIDE_FROM_ABI bool __cxx_atomic_compare_exchange_strong(
- __cxx_atomic_base_impl<_Tp>* __a, _Tp* __expected, _Tp __value, memory_order __success, memory_order __failure) {
- return __atomic_compare_exchange(
- std::addressof(__a->__a_value),
- __expected,
- std::addressof(__value),
- false,
- __to_gcc_order(__success),
- __to_gcc_failure_order(__failure));
-}
-
-template <typename _Tp>
-_LIBCPP_HIDE_FROM_ABI bool __cxx_atomic_compare_exchange_weak(
- volatile __cxx_atomic_base_impl<_Tp>* __a,
- _Tp* __expected,
- _Tp __value,
- memory_order __success,
- memory_order __failure) {
- return __atomic_compare_exchange(
- std::addressof(__a->__a_value),
- __expected,
- std::addressof(__value),
- true,
- __to_gcc_order(__success),
- __to_gcc_failure_order(__failure));
-}
-
-template <typename _Tp>
-_LIBCPP_HIDE_FROM_ABI bool __cxx_atomic_compare_exchange_weak(
- __cxx_atomic_base_impl<_Tp>* __a, _Tp* __expected, _Tp __value, memory_order __success, memory_order __failure) {
- return __atomic_compare_exchange(
- std::addressof(__a->__a_value),
- __expected,
- std::addressof(__value),
- true,
- __to_gcc_order(__success),
- __to_gcc_failure_order(__failure));
-}
-
-template <typename _Tp>
-struct __skip_amt {
- enum { value = 1 };
-};
-
-template <typename _Tp>
-struct __skip_amt<_Tp*> {
- enum { value = sizeof(_Tp) };
-};
-
-// FIXME: Haven't figured out what the spec says about using arrays with
-// atomic_fetch_add. Force a failure rather than creating bad behavior.
-template <typename _Tp>
-struct __skip_amt<_Tp[]> {};
-template <typename _Tp, int n>
-struct __skip_amt<_Tp[n]> {};
-
-template <typename _Tp, typename _Td>
-_LIBCPP_HIDE_FROM_ABI _Tp
-__cxx_atomic_fetch_add(volatile __cxx_atomic_base_impl<_Tp>* __a, _Td __delta, memory_order __order) {
- return __atomic_fetch_add(std::addressof(__a->__a_value), __delta * __skip_amt<_Tp>::value, __to_gcc_order(__order));
-}
-
-template <typename _Tp, typename _Td>
-_LIBCPP_HIDE_FROM_ABI _Tp __cxx_atomic_fetch_add(__cxx_atomic_base_impl<_Tp>* __a, _Td __delta, memory_order __order) {
- return __atomic_fetch_add(std::addressof(__a->__a_value), __delta * __skip_amt<_Tp>::value, __to_gcc_order(__order));
-}
-
-template <typename _Tp, typename _Td>
-_LIBCPP_HIDE_FROM_ABI _Tp
-__cxx_atomic_fetch_sub(volatile __cxx_atomic_base_impl<_Tp>* __a, _Td __delta, memory_order __order) {
- return __atomic_fetch_sub(std::addressof(__a->__a_value), __delta * __skip_amt<_Tp>::value, __to_gcc_order(__order));
-}
-
-template <typename _Tp, typename _Td>
-_LIBCPP_HIDE_FROM_ABI _Tp __cxx_atomic_fetch_sub(__cxx_atomic_base_impl<_Tp>* __a, _Td __delta, memory_order __order) {
- return __atomic_fetch_sub(std::addressof(__a->__a_value), __delta * __skip_amt<_Tp>::value, __to_gcc_order(__order));
-}
-
-template <typename _Tp>
-_LIBCPP_HIDE_FROM_ABI _Tp
-__cxx_atomic_fetch_and(volatile __cxx_atomic_base_impl<_Tp>* __a, _Tp __pattern, memory_order __order) {
- return __atomic_fetch_and(std::addressof(__a->__a_value), __pattern, __to_gcc_order(__order));
-}
-
-template <typename _Tp>
-_LIBCPP_HIDE_FROM_ABI _Tp
-__cxx_atomic_fetch_and(__cxx_atomic_base_impl<_Tp>* __a, _Tp __pattern, memory_order __order) {
- return __atomic_fetch_and(std::addressof(__a->__a_value), __pattern, __to_gcc_order(__order));
-}
-
-template <typename _Tp>
-_LIBCPP_HIDE_FROM_ABI _Tp
-__cxx_atomic_fetch_or(volatile __cxx_atomic_base_impl<_Tp>* __a, _Tp __pattern, memory_order __order) {
- return __atomic_fetch_or(std::addressof(__a->__a_value), __pattern, __to_gcc_order(__order));
-}
-
-template <typename _Tp>
-_LIBCPP_HIDE_FROM_ABI _Tp __cxx_atomic_fetch_or(__cxx_atomic_base_impl<_Tp>* __a, _Tp __pattern, memory_order __order) {
- return __atomic_fetch_or(std::addressof(__a->__a_value), __pattern, __to_gcc_order(__order));
-}
-
-template <typename _Tp>
-_LIBCPP_HIDE_FROM_ABI _Tp
-__cxx_atomic_fetch_xor(volatile __cxx_atomic_base_impl<_Tp>* __a, _Tp __pattern, memory_order __order) {
- return __atomic_fetch_xor(std::addressof(__a->__a_value), __pattern, __to_gcc_order(__order));
-}
-
-template <typename _Tp>
-_LIBCPP_HIDE_FROM_ABI _Tp
-__cxx_atomic_fetch_xor(__cxx_atomic_base_impl<_Tp>* __a, _Tp __pattern, memory_order __order) {
- return __atomic_fetch_xor(std::addressof(__a->__a_value), __pattern, __to_gcc_order(__order));
-}
-
-# define __cxx_atomic_is_lock_free(__s) __atomic_is_lock_free(__s, 0)
+//
+// This file implements support for C11-style atomics
+//
-#elif _LIBCPP_HAS_C_ATOMIC_IMP
+_LIBCPP_BEGIN_NAMESPACE_STD
template <typename _Tp>
struct __cxx_atomic_base_impl {
_LIBCPP_HIDE_FROM_ABI
-# ifndef _LIBCPP_CXX03_LANG
+#ifndef _LIBCPP_CXX03_LANG
__cxx_atomic_base_impl() _NOEXCEPT = default;
-# else
+#else
__cxx_atomic_base_impl() _NOEXCEPT : __a_value() {
}
-# endif // _LIBCPP_CXX03_LANG
+#endif // _LIBCPP_CXX03_LANG
_LIBCPP_CONSTEXPR explicit __cxx_atomic_base_impl(_Tp __value) _NOEXCEPT : __a_value(__value) {}
_LIBCPP_DISABLE_EXTENSION_WARNING _Atomic(_Tp) __a_value;
};
-# define __cxx_atomic_is_lock_free(__s) __c11_atomic_is_lock_free(__s)
+#define __cxx_atomic_is_lock_free(__s) __c11_atomic_is_lock_free(__s)
_LIBCPP_HIDE_FROM_ABI inline void __cxx_atomic_thread_fence(memory_order __order) _NOEXCEPT {
__c11_atomic_thread_fence(static_cast<__memory_order_underlying_t>(__order));
@@ -496,16 +259,6 @@ __cxx_atomic_fetch_xor(__cxx_atomic_base_impl<_Tp>* __a, _Tp __pattern, memory_o
std::addressof(__a->__a_value), __pattern, static_cast<__memory_order_underlying_t>(__order));
}
-#endif // _LIBCPP_HAS_GCC_ATOMIC_IMP, _LIBCPP_HAS_C_ATOMIC_IMP
-
-template <typename _Tp, typename _Base = __cxx_atomic_base_impl<_Tp> >
-struct __cxx_atomic_impl : public _Base {
- static_assert(is_trivially_copyable<_Tp>::value, "std::atomic<T> requires that 'T' be a trivially copyable type");
-
- _LIBCPP_HIDE_FROM_ABI __cxx_atomic_impl() _NOEXCEPT = default;
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR explicit __cxx_atomic_impl(_Tp __value) _NOEXCEPT : _Base(__value) {}
-};
-
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ATOMIC_CXX_ATOMIC_IMPL_H
+#endif // _LIBCPP___ATOMIC_SUPPORT_C11_H
diff --git a/libcxx/include/__atomic/support/gcc.h b/libcxx/include/__atomic/support/gcc.h
new file mode 100644
index 000000000000..73c1b1c8070a
--- /dev/null
+++ b/libcxx/include/__atomic/support/gcc.h
@@ -0,0 +1,265 @@
+//===----------------------------------------------------------------------===//
+//
+// 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___ATOMIC_SUPPORT_GCC_H
+#define _LIBCPP___ATOMIC_SUPPORT_GCC_H
+
+#include <__atomic/memory_order.h>
+#include <__atomic/to_gcc_order.h>
+#include <__config>
+#include <__memory/addressof.h>
+#include <__type_traits/enable_if.h>
+#include <__type_traits/is_assignable.h>
+#include <__type_traits/remove_const.h>
+
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+#endif
+
+//
+// This file implements support for GCC-style atomics
+//
+
+_LIBCPP_BEGIN_NAMESPACE_STD
+
+// [atomics.types.generic]p1 guarantees _Tp is trivially copyable. Because
+// the default operator= in an object is not volatile, a byte-by-byte copy
+// is required.
+template <typename _Tp, typename _Tv, __enable_if_t<is_assignable<_Tp&, _Tv>::value, int> = 0>
+_LIBCPP_HIDE_FROM_ABI void __cxx_atomic_assign_volatile(_Tp& __a_value, _Tv const& __val) {
+ __a_value = __val;
+}
+template <typename _Tp, typename _Tv, __enable_if_t<is_assignable<_Tp&, _Tv>::value, int> = 0>
+_LIBCPP_HIDE_FROM_ABI void __cxx_atomic_assign_volatile(_Tp volatile& __a_value, _Tv volatile const& __val) {
+ volatile char* __to = reinterpret_cast<volatile char*>(std::addressof(__a_value));
+ volatile char* __end = __to + sizeof(_Tp);
+ volatile const char* __from = reinterpret_cast<volatile const char*>(std::addressof(__val));
+ while (__to != __end)
+ *__to++ = *__from++;
+}
+
+template <typename _Tp>
+struct __cxx_atomic_base_impl {
+ _LIBCPP_HIDE_FROM_ABI
+#ifndef _LIBCPP_CXX03_LANG
+ __cxx_atomic_base_impl() _NOEXCEPT = default;
+#else
+ __cxx_atomic_base_impl() _NOEXCEPT : __a_value() {
+ }
+#endif // _LIBCPP_CXX03_LANG
+ _LIBCPP_CONSTEXPR explicit __cxx_atomic_base_impl(_Tp value) _NOEXCEPT : __a_value(value) {}
+ _Tp __a_value;
+};
+
+template <typename _Tp>
+_LIBCPP_HIDE_FROM_ABI void __cxx_atomic_init(volatile __cxx_atomic_base_impl<_Tp>* __a, _Tp __val) {
+ __cxx_atomic_assign_volatile(__a->__a_value, __val);
+}
+
+template <typename _Tp>
+_LIBCPP_HIDE_FROM_ABI void __cxx_atomic_init(__cxx_atomic_base_impl<_Tp>* __a, _Tp __val) {
+ __a->__a_value = __val;
+}
+
+_LIBCPP_HIDE_FROM_ABI inline void __cxx_atomic_thread_fence(memory_order __order) {
+ __atomic_thread_fence(__to_gcc_order(__order));
+}
+
+_LIBCPP_HIDE_FROM_ABI inline void __cxx_atomic_signal_fence(memory_order __order) {
+ __atomic_signal_fence(__to_gcc_order(__order));
+}
+
+template <typename _Tp>
+_LIBCPP_HIDE_FROM_ABI void
+__cxx_atomic_store(volatile __cxx_atomic_base_impl<_Tp>* __a, _Tp __val, memory_order __order) {
+ __atomic_store(std::addressof(__a->__a_value), std::addressof(__val), __to_gcc_order(__order));
+}
+
+template <typename _Tp>
+_LIBCPP_HIDE_FROM_ABI void __cxx_atomic_store(__cxx_atomic_base_impl<_Tp>* __a, _Tp __val, memory_order __order) {
+ __atomic_store(std::addressof(__a->__a_value), std::addressof(__val), __to_gcc_order(__order));
+}
+
+template <typename _Tp>
+_LIBCPP_HIDE_FROM_ABI _Tp __cxx_atomic_load(const volatile __cxx_atomic_base_impl<_Tp>* __a, memory_order __order) {
+ _Tp __ret;
+ __atomic_load(std::addressof(__a->__a_value), std::addressof(__ret), __to_gcc_order(__order));
+ return __ret;
+}
+
+template <typename _Tp>
+_LIBCPP_HIDE_FROM_ABI void
+__cxx_atomic_load_inplace(const volatile __cxx_atomic_base_impl<_Tp>* __a, _Tp* __dst, memory_order __order) {
+ __atomic_load(std::addressof(__a->__a_value), __dst, __to_gcc_order(__order));
+}
+
+template <typename _Tp>
+_LIBCPP_HIDE_FROM_ABI void
+__cxx_atomic_load_inplace(const __cxx_atomic_base_impl<_Tp>* __a, _Tp* __dst, memory_order __order) {
+ __atomic_load(std::addressof(__a->__a_value), __dst, __to_gcc_order(__order));
+}
+
+template <typename _Tp>
+_LIBCPP_HIDE_FROM_ABI _Tp __cxx_atomic_load(const __cxx_atomic_base_impl<_Tp>* __a, memory_order __order) {
+ _Tp __ret;
+ __atomic_load(std::addressof(__a->__a_value), std::addressof(__ret), __to_gcc_order(__order));
+ return __ret;
+}
+
+template <typename _Tp>
+_LIBCPP_HIDE_FROM_ABI _Tp
+__cxx_atomic_exchange(volatile __cxx_atomic_base_impl<_Tp>* __a, _Tp __value, memory_order __order) {
+ _Tp __ret;
+ __atomic_exchange(
+ std::addressof(__a->__a_value), std::addressof(__value), std::addressof(__ret), __to_gcc_order(__order));
+ return __ret;
+}
+
+template <typename _Tp>
+_LIBCPP_HIDE_FROM_ABI _Tp __cxx_atomic_exchange(__cxx_atomic_base_impl<_Tp>* __a, _Tp __value, memory_order __order) {
+ _Tp __ret;
+ __atomic_exchange(
+ std::addressof(__a->__a_value), std::addressof(__value), std::addressof(__ret), __to_gcc_order(__order));
+ return __ret;
+}
+
+template <typename _Tp>
+_LIBCPP_HIDE_FROM_ABI bool __cxx_atomic_compare_exchange_strong(
+ volatile __cxx_atomic_base_impl<_Tp>* __a,
+ _Tp* __expected,
+ _Tp __value,
+ memory_order __success,
+ memory_order __failure) {
+ return __atomic_compare_exchange(
+ std::addressof(__a->__a_value),
+ __expected,
+ std::addressof(__value),
+ false,
+ __to_gcc_order(__success),
+ __to_gcc_failure_order(__failure));
+}
+
+template <typename _Tp>
+_LIBCPP_HIDE_FROM_ABI bool __cxx_atomic_compare_exchange_strong(
+ __cxx_atomic_base_impl<_Tp>* __a, _Tp* __expected, _Tp __value, memory_order __success, memory_order __failure) {
+ return __atomic_compare_exchange(
+ std::addressof(__a->__a_value),
+ __expected,
+ std::addressof(__value),
+ false,
+ __to_gcc_order(__success),
+ __to_gcc_failure_order(__failure));
+}
+
+template <typename _Tp>
+_LIBCPP_HIDE_FROM_ABI bool __cxx_atomic_compare_exchange_weak(
+ volatile __cxx_atomic_base_impl<_Tp>* __a,
+ _Tp* __expected,
+ _Tp __value,
+ memory_order __success,
+ memory_order __failure) {
+ return __atomic_compare_exchange(
+ std::addressof(__a->__a_value),
+ __expected,
+ std::addressof(__value),
+ true,
+ __to_gcc_order(__success),
+ __to_gcc_failure_order(__failure));
+}
+
+template <typename _Tp>
+_LIBCPP_HIDE_FROM_ABI bool __cxx_atomic_compare_exchange_weak(
+ __cxx_atomic_base_impl<_Tp>* __a, _Tp* __expected, _Tp __value, memory_order __success, memory_order __failure) {
+ return __atomic_compare_exchange(
+ std::addressof(__a->__a_value),
+ __expected,
+ std::addressof(__value),
+ true,
+ __to_gcc_order(__success),
+ __to_gcc_failure_order(__failure));
+}
+
+template <typename _Tp>
+struct __skip_amt {
+ enum { value = 1 };
+};
+
+template <typename _Tp>
+struct __skip_amt<_Tp*> {
+ enum { value = sizeof(_Tp) };
+};
+
+// FIXME: Haven't figured out what the spec says about using arrays with
+// atomic_fetch_add. Force a failure rather than creating bad behavior.
+template <typename _Tp>
+struct __skip_amt<_Tp[]> {};
+template <typename _Tp, int n>
+struct __skip_amt<_Tp[n]> {};
+
+template <typename _Tp, typename _Td>
+_LIBCPP_HIDE_FROM_ABI _Tp
+__cxx_atomic_fetch_add(volatile __cxx_atomic_base_impl<_Tp>* __a, _Td __delta, memory_order __order) {
+ return __atomic_fetch_add(std::addressof(__a->__a_value), __delta * __skip_amt<_Tp>::value, __to_gcc_order(__order));
+}
+
+template <typename _Tp, typename _Td>
+_LIBCPP_HIDE_FROM_ABI _Tp __cxx_atomic_fetch_add(__cxx_atomic_base_impl<_Tp>* __a, _Td __delta, memory_order __order) {
+ return __atomic_fetch_add(std::addressof(__a->__a_value), __delta * __skip_amt<_Tp>::value, __to_gcc_order(__order));
+}
+
+template <typename _Tp, typename _Td>
+_LIBCPP_HIDE_FROM_ABI _Tp
+__cxx_atomic_fetch_sub(volatile __cxx_atomic_base_impl<_Tp>* __a, _Td __delta, memory_order __order) {
+ return __atomic_fetch_sub(std::addressof(__a->__a_value), __delta * __skip_amt<_Tp>::value, __to_gcc_order(__order));
+}
+
+template <typename _Tp, typename _Td>
+_LIBCPP_HIDE_FROM_ABI _Tp __cxx_atomic_fetch_sub(__cxx_atomic_base_impl<_Tp>* __a, _Td __delta, memory_order __order) {
+ return __atomic_fetch_sub(std::addressof(__a->__a_value), __delta * __skip_amt<_Tp>::value, __to_gcc_order(__order));
+}
+
+template <typename _Tp>
+_LIBCPP_HIDE_FROM_ABI _Tp
+__cxx_atomic_fetch_and(volatile __cxx_atomic_base_impl<_Tp>* __a, _Tp __pattern, memory_order __order) {
+ return __atomic_fetch_and(std::addressof(__a->__a_value), __pattern, __to_gcc_order(__order));
+}
+
+template <typename _Tp>
+_LIBCPP_HIDE_FROM_ABI _Tp
+__cxx_atomic_fetch_and(__cxx_atomic_base_impl<_Tp>* __a, _Tp __pattern, memory_order __order) {
+ return __atomic_fetch_and(std::addressof(__a->__a_value), __pattern, __to_gcc_order(__order));
+}
+
+template <typename _Tp>
+_LIBCPP_HIDE_FROM_ABI _Tp
+__cxx_atomic_fetch_or(volatile __cxx_atomic_base_impl<_Tp>* __a, _Tp __pattern, memory_order __order) {
+ return __atomic_fetch_or(std::addressof(__a->__a_value), __pattern, __to_gcc_order(__order));
+}
+
+template <typename _Tp>
+_LIBCPP_HIDE_FROM_ABI _Tp __cxx_atomic_fetch_or(__cxx_atomic_base_impl<_Tp>* __a, _Tp __pattern, memory_order __order) {
+ return __atomic_fetch_or(std::addressof(__a->__a_value), __pattern, __to_gcc_order(__order));
+}
+
+template <typename _Tp>
+_LIBCPP_HIDE_FROM_ABI _Tp
+__cxx_atomic_fetch_xor(volatile __cxx_atomic_base_impl<_Tp>* __a, _Tp __pattern, memory_order __order) {
+ return __atomic_fetch_xor(std::addressof(__a->__a_value), __pattern, __to_gcc_order(__order));
+}
+
+template <typename _Tp>
+_LIBCPP_HIDE_FROM_ABI _Tp
+__cxx_atomic_fetch_xor(__cxx_atomic_base_impl<_Tp>* __a, _Tp __pattern, memory_order __order) {
+ return __atomic_fetch_xor(std::addressof(__a->__a_value), __pattern, __to_gcc_order(__order));
+}
+
+#define __cxx_atomic_is_lock_free(__s) __atomic_is_lock_free(__s, 0)
+
+_LIBCPP_END_NAMESPACE_STD
+
+#endif // _LIBCPP___ATOMIC_SUPPORT_GCC_H
diff --git a/libcxx/include/__bit_reference b/libcxx/include/__bit_reference
index 22637d439741..9fa24c98d493 100644
--- a/libcxx/include/__bit_reference
+++ b/libcxx/include/__bit_reference
@@ -11,20 +11,18 @@
#define _LIBCPP___BIT_REFERENCE
#include <__algorithm/copy_n.h>
-#include <__algorithm/fill_n.h>
#include <__algorithm/min.h>
#include <__bit/countr.h>
-#include <__bit/invert_if.h>
-#include <__bit/popcount.h>
#include <__compare/ordering.h>
#include <__config>
+#include <__cstddef/size_t.h>
#include <__fwd/bit_reference.h>
#include <__iterator/iterator_traits.h>
#include <__memory/construct_at.h>
#include <__memory/pointer_traits.h>
#include <__type_traits/conditional.h>
+#include <__type_traits/is_constant_evaluated.h>
#include <__utility/swap.h>
-#include <cstring>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__config b/libcxx/include/__config
index fe01b58b8e62..ace6e1cd73e3 100644
--- a/libcxx/include/__config
+++ b/libcxx/include/__config
@@ -1170,11 +1170,7 @@ typedef __char32_t char32_t;
# define _LIBCPP_NOESCAPE
# endif
-# if __has_attribute(__nodebug__)
-# define _LIBCPP_NODEBUG __attribute__((__nodebug__))
-# else
-# define _LIBCPP_NODEBUG
-# endif
+# define _LIBCPP_NODEBUG [[__gnu__::__nodebug__]]
# if __has_attribute(__standalone_debug__)
# define _LIBCPP_STANDALONE_DEBUG __attribute__((__standalone_debug__))
diff --git a/libcxx/include/__cxx03/CMakeLists.txt b/libcxx/include/__cxx03/CMakeLists.txt
deleted file mode 100644
index b61442da89d4..000000000000
--- a/libcxx/include/__cxx03/CMakeLists.txt
+++ /dev/null
@@ -1,1092 +0,0 @@
-set(files
- __algorithm/adjacent_find.h
- __algorithm/all_of.h
- __algorithm/any_of.h
- __algorithm/binary_search.h
- __algorithm/clamp.h
- __algorithm/comp.h
- __algorithm/comp_ref_type.h
- __algorithm/copy.h
- __algorithm/copy_backward.h
- __algorithm/copy_if.h
- __algorithm/copy_move_common.h
- __algorithm/copy_n.h
- __algorithm/count.h
- __algorithm/count_if.h
- __algorithm/equal.h
- __algorithm/equal_range.h
- __algorithm/fill.h
- __algorithm/fill_n.h
- __algorithm/find.h
- __algorithm/find_end.h
- __algorithm/find_first_of.h
- __algorithm/find_if.h
- __algorithm/find_if_not.h
- __algorithm/find_segment_if.h
- __algorithm/fold.h
- __algorithm/for_each.h
- __algorithm/for_each_n.h
- __algorithm/for_each_segment.h
- __algorithm/generate.h
- __algorithm/generate_n.h
- __algorithm/half_positive.h
- __algorithm/in_found_result.h
- __algorithm/in_fun_result.h
- __algorithm/in_in_out_result.h
- __algorithm/in_in_result.h
- __algorithm/in_out_out_result.h
- __algorithm/in_out_result.h
- __algorithm/includes.h
- __algorithm/inplace_merge.h
- __algorithm/is_heap.h
- __algorithm/is_heap_until.h
- __algorithm/is_partitioned.h
- __algorithm/is_permutation.h
- __algorithm/is_sorted.h
- __algorithm/is_sorted_until.h
- __algorithm/iter_swap.h
- __algorithm/iterator_operations.h
- __algorithm/lexicographical_compare.h
- __algorithm/lexicographical_compare_three_way.h
- __algorithm/lower_bound.h
- __algorithm/make_heap.h
- __algorithm/make_projected.h
- __algorithm/max.h
- __algorithm/max_element.h
- __algorithm/merge.h
- __algorithm/min.h
- __algorithm/min_element.h
- __algorithm/min_max_result.h
- __algorithm/minmax.h
- __algorithm/minmax_element.h
- __algorithm/mismatch.h
- __algorithm/move.h
- __algorithm/move_backward.h
- __algorithm/next_permutation.h
- __algorithm/none_of.h
- __algorithm/nth_element.h
- __algorithm/partial_sort.h
- __algorithm/partial_sort_copy.h
- __algorithm/partition.h
- __algorithm/partition_copy.h
- __algorithm/partition_point.h
- __algorithm/pop_heap.h
- __algorithm/prev_permutation.h
- __algorithm/pstl.h
- __algorithm/push_heap.h
- __algorithm/ranges_adjacent_find.h
- __algorithm/ranges_all_of.h
- __algorithm/ranges_any_of.h
- __algorithm/ranges_binary_search.h
- __algorithm/ranges_clamp.h
- __algorithm/ranges_contains.h
- __algorithm/ranges_contains_subrange.h
- __algorithm/ranges_copy.h
- __algorithm/ranges_copy_backward.h
- __algorithm/ranges_copy_if.h
- __algorithm/ranges_copy_n.h
- __algorithm/ranges_count.h
- __algorithm/ranges_count_if.h
- __algorithm/ranges_ends_with.h
- __algorithm/ranges_equal.h
- __algorithm/ranges_equal_range.h
- __algorithm/ranges_fill.h
- __algorithm/ranges_fill_n.h
- __algorithm/ranges_find.h
- __algorithm/ranges_find_end.h
- __algorithm/ranges_find_first_of.h
- __algorithm/ranges_find_if.h
- __algorithm/ranges_find_if_not.h
- __algorithm/ranges_find_last.h
- __algorithm/ranges_for_each.h
- __algorithm/ranges_for_each_n.h
- __algorithm/ranges_generate.h
- __algorithm/ranges_generate_n.h
- __algorithm/ranges_includes.h
- __algorithm/ranges_inplace_merge.h
- __algorithm/ranges_is_heap.h
- __algorithm/ranges_is_heap_until.h
- __algorithm/ranges_is_partitioned.h
- __algorithm/ranges_is_permutation.h
- __algorithm/ranges_is_sorted.h
- __algorithm/ranges_is_sorted_until.h
- __algorithm/ranges_iterator_concept.h
- __algorithm/ranges_lexicographical_compare.h
- __algorithm/ranges_lower_bound.h
- __algorithm/ranges_make_heap.h
- __algorithm/ranges_max.h
- __algorithm/ranges_max_element.h
- __algorithm/ranges_merge.h
- __algorithm/ranges_min.h
- __algorithm/ranges_min_element.h
- __algorithm/ranges_minmax.h
- __algorithm/ranges_minmax_element.h
- __algorithm/ranges_mismatch.h
- __algorithm/ranges_move.h
- __algorithm/ranges_move_backward.h
- __algorithm/ranges_next_permutation.h
- __algorithm/ranges_none_of.h
- __algorithm/ranges_nth_element.h
- __algorithm/ranges_partial_sort.h
- __algorithm/ranges_partial_sort_copy.h
- __algorithm/ranges_partition.h
- __algorithm/ranges_partition_copy.h
- __algorithm/ranges_partition_point.h
- __algorithm/ranges_pop_heap.h
- __algorithm/ranges_prev_permutation.h
- __algorithm/ranges_push_heap.h
- __algorithm/ranges_remove.h
- __algorithm/ranges_remove_copy.h
- __algorithm/ranges_remove_copy_if.h
- __algorithm/ranges_remove_if.h
- __algorithm/ranges_replace.h
- __algorithm/ranges_replace_copy.h
- __algorithm/ranges_replace_copy_if.h
- __algorithm/ranges_replace_if.h
- __algorithm/ranges_reverse.h
- __algorithm/ranges_reverse_copy.h
- __algorithm/ranges_rotate.h
- __algorithm/ranges_rotate_copy.h
- __algorithm/ranges_sample.h
- __algorithm/ranges_search.h
- __algorithm/ranges_search_n.h
- __algorithm/ranges_set_difference.h
- __algorithm/ranges_set_intersection.h
- __algorithm/ranges_set_symmetric_difference.h
- __algorithm/ranges_set_union.h
- __algorithm/ranges_shuffle.h
- __algorithm/ranges_sort.h
- __algorithm/ranges_sort_heap.h
- __algorithm/ranges_stable_partition.h
- __algorithm/ranges_stable_sort.h
- __algorithm/ranges_starts_with.h
- __algorithm/ranges_swap_ranges.h
- __algorithm/ranges_transform.h
- __algorithm/ranges_unique.h
- __algorithm/ranges_unique_copy.h
- __algorithm/ranges_upper_bound.h
- __algorithm/remove.h
- __algorithm/remove_copy.h
- __algorithm/remove_copy_if.h
- __algorithm/remove_if.h
- __algorithm/replace.h
- __algorithm/replace_copy.h
- __algorithm/replace_copy_if.h
- __algorithm/replace_if.h
- __algorithm/reverse.h
- __algorithm/reverse_copy.h
- __algorithm/rotate.h
- __algorithm/rotate_copy.h
- __algorithm/sample.h
- __algorithm/search.h
- __algorithm/search_n.h
- __algorithm/set_difference.h
- __algorithm/set_intersection.h
- __algorithm/set_symmetric_difference.h
- __algorithm/set_union.h
- __algorithm/shift_left.h
- __algorithm/shift_right.h
- __algorithm/shuffle.h
- __algorithm/sift_down.h
- __algorithm/simd_utils.h
- __algorithm/sort.h
- __algorithm/sort_heap.h
- __algorithm/stable_partition.h
- __algorithm/stable_sort.h
- __algorithm/swap_ranges.h
- __algorithm/three_way_comp_ref_type.h
- __algorithm/transform.h
- __algorithm/uniform_random_bit_generator_adaptor.h
- __algorithm/unique.h
- __algorithm/unique_copy.h
- __algorithm/unwrap_iter.h
- __algorithm/unwrap_range.h
- __algorithm/upper_bound.h
- __assert
- __atomic/aliases.h
- __atomic/atomic.h
- __atomic/atomic_base.h
- __atomic/atomic_flag.h
- __atomic/atomic_init.h
- __atomic/atomic_lock_free.h
- __atomic/atomic_ref.h
- __atomic/atomic_sync.h
- __atomic/check_memory_order.h
- __atomic/contention_t.h
- __atomic/cxx_atomic_impl.h
- __atomic/fence.h
- __atomic/is_always_lock_free.h
- __atomic/kill_dependency.h
- __atomic/memory_order.h
- __atomic/to_gcc_order.h
- __bit/bit_cast.h
- __bit/bit_ceil.h
- __bit/bit_floor.h
- __bit/bit_log2.h
- __bit/bit_width.h
- __bit/blsr.h
- __bit/byteswap.h
- __bit/countl.h
- __bit/countr.h
- __bit/endian.h
- __bit/has_single_bit.h
- __bit/invert_if.h
- __bit/popcount.h
- __bit/rotate.h
- __bit_reference
- __charconv/chars_format.h
- __charconv/from_chars_integral.h
- __charconv/from_chars_result.h
- __charconv/tables.h
- __charconv/to_chars.h
- __charconv/to_chars_base_10.h
- __charconv/to_chars_floating_point.h
- __charconv/to_chars_integral.h
- __charconv/to_chars_result.h
- __charconv/traits.h
- __chrono/calendar.h
- __chrono/concepts.h
- __chrono/convert_to_timespec.h
- __chrono/convert_to_tm.h
- __chrono/day.h
- __chrono/duration.h
- __chrono/exception.h
- __chrono/file_clock.h
- __chrono/formatter.h
- __chrono/hh_mm_ss.h
- __chrono/high_resolution_clock.h
- __chrono/leap_second.h
- __chrono/literals.h
- __chrono/local_info.h
- __chrono/month.h
- __chrono/month_weekday.h
- __chrono/monthday.h
- __chrono/ostream.h
- __chrono/parser_std_format_spec.h
- __chrono/statically_widen.h
- __chrono/steady_clock.h
- __chrono/sys_info.h
- __chrono/system_clock.h
- __chrono/time_point.h
- __chrono/time_zone.h
- __chrono/time_zone_link.h
- __chrono/tzdb.h
- __chrono/tzdb_list.h
- __chrono/weekday.h
- __chrono/year.h
- __chrono/year_month.h
- __chrono/year_month_day.h
- __chrono/year_month_weekday.h
- __chrono/zoned_time.h
- __compare/common_comparison_category.h
- __compare/compare_partial_order_fallback.h
- __compare/compare_strong_order_fallback.h
- __compare/compare_three_way.h
- __compare/compare_three_way_result.h
- __compare/compare_weak_order_fallback.h
- __compare/is_eq.h
- __compare/ordering.h
- __compare/partial_order.h
- __compare/strong_order.h
- __compare/synth_three_way.h
- __compare/three_way_comparable.h
- __compare/weak_order.h
- __concepts/arithmetic.h
- __concepts/assignable.h
- __concepts/boolean_testable.h
- __concepts/class_or_enum.h
- __concepts/common_reference_with.h
- __concepts/common_with.h
- __concepts/constructible.h
- __concepts/convertible_to.h
- __concepts/copyable.h
- __concepts/derived_from.h
- __concepts/destructible.h
- __concepts/different_from.h
- __concepts/equality_comparable.h
- __concepts/invocable.h
- __concepts/movable.h
- __concepts/predicate.h
- __concepts/regular.h
- __concepts/relation.h
- __concepts/same_as.h
- __concepts/semiregular.h
- __concepts/swappable.h
- __concepts/totally_ordered.h
- __condition_variable/condition_variable.h
- __config
- __configuration/abi.h
- __configuration/availability.h
- __configuration/compiler.h
- __configuration/language.h
- __configuration/platform.h
- __coroutine/coroutine_handle.h
- __coroutine/coroutine_traits.h
- __coroutine/noop_coroutine_handle.h
- __coroutine/trivial_awaitables.h
- __debug_utils/randomize_range.h
- __debug_utils/sanitizers.h
- __debug_utils/strict_weak_ordering_check.h
- __exception/exception.h
- __exception/exception_ptr.h
- __exception/nested_exception.h
- __exception/operations.h
- __exception/terminate.h
- __expected/bad_expected_access.h
- __expected/expected.h
- __expected/unexpect.h
- __expected/unexpected.h
- __filesystem/copy_options.h
- __filesystem/directory_entry.h
- __filesystem/directory_iterator.h
- __filesystem/directory_options.h
- __filesystem/file_status.h
- __filesystem/file_time_type.h
- __filesystem/file_type.h
- __filesystem/filesystem_error.h
- __filesystem/operations.h
- __filesystem/path.h
- __filesystem/path_iterator.h
- __filesystem/perm_options.h
- __filesystem/perms.h
- __filesystem/recursive_directory_iterator.h
- __filesystem/space_info.h
- __filesystem/u8path.h
- __format/buffer.h
- __format/concepts.h
- __format/container_adaptor.h
- __format/enable_insertable.h
- __format/escaped_output_table.h
- __format/extended_grapheme_cluster_table.h
- __format/format_arg.h
- __format/format_arg_store.h
- __format/format_args.h
- __format/format_context.h
- __format/format_error.h
- __format/format_functions.h
- __format/format_parse_context.h
- __format/format_string.h
- __format/format_to_n_result.h
- __format/formatter.h
- __format/formatter_bool.h
- __format/formatter_char.h
- __format/formatter_floating_point.h
- __format/formatter_integer.h
- __format/formatter_integral.h
- __format/formatter_output.h
- __format/formatter_pointer.h
- __format/formatter_string.h
- __format/formatter_tuple.h
- __format/indic_conjunct_break_table.h
- __format/parser_std_format_spec.h
- __format/range_default_formatter.h
- __format/range_formatter.h
- __format/unicode.h
- __format/width_estimation_table.h
- __format/write_escaped.h
- __functional/binary_function.h
- __functional/binary_negate.h
- __functional/bind.h
- __functional/bind_back.h
- __functional/bind_front.h
- __functional/binder1st.h
- __functional/binder2nd.h
- __functional/boyer_moore_searcher.h
- __functional/compose.h
- __functional/default_searcher.h
- __functional/function.h
- __functional/hash.h
- __functional/identity.h
- __functional/invoke.h
- __functional/is_transparent.h
- __functional/mem_fn.h
- __functional/mem_fun_ref.h
- __functional/not_fn.h
- __functional/operations.h
- __functional/perfect_forward.h
- __functional/pointer_to_binary_function.h
- __functional/pointer_to_unary_function.h
- __functional/ranges_operations.h
- __functional/reference_wrapper.h
- __functional/unary_function.h
- __functional/unary_negate.h
- __functional/weak_result_type.h
- __fwd/array.h
- __fwd/bit_reference.h
- __fwd/complex.h
- __fwd/deque.h
- __fwd/format.h
- __fwd/fstream.h
- __fwd/functional.h
- __fwd/ios.h
- __fwd/istream.h
- __fwd/mdspan.h
- __fwd/memory.h
- __fwd/memory_resource.h
- __fwd/ostream.h
- __fwd/pair.h
- __fwd/queue.h
- __fwd/span.h
- __fwd/sstream.h
- __fwd/stack.h
- __fwd/streambuf.h
- __fwd/string.h
- __fwd/string_view.h
- __fwd/subrange.h
- __fwd/tuple.h
- __fwd/vector.h
- __hash_table
- __ios/fpos.h
- __iterator/access.h
- __iterator/advance.h
- __iterator/aliasing_iterator.h
- __iterator/back_insert_iterator.h
- __iterator/bounded_iter.h
- __iterator/common_iterator.h
- __iterator/concepts.h
- __iterator/counted_iterator.h
- __iterator/cpp17_iterator_concepts.h
- __iterator/data.h
- __iterator/default_sentinel.h
- __iterator/distance.h
- __iterator/empty.h
- __iterator/erase_if_container.h
- __iterator/front_insert_iterator.h
- __iterator/incrementable_traits.h
- __iterator/indirectly_comparable.h
- __iterator/insert_iterator.h
- __iterator/istream_iterator.h
- __iterator/istreambuf_iterator.h
- __iterator/iter_move.h
- __iterator/iter_swap.h
- __iterator/iterator.h
- __iterator/iterator_traits.h
- __iterator/iterator_with_data.h
- __iterator/mergeable.h
- __iterator/move_iterator.h
- __iterator/move_sentinel.h
- __iterator/next.h
- __iterator/ostream_iterator.h
- __iterator/ostreambuf_iterator.h
- __iterator/permutable.h
- __iterator/prev.h
- __iterator/projected.h
- __iterator/ranges_iterator_traits.h
- __iterator/readable_traits.h
- __iterator/reverse_access.h
- __iterator/reverse_iterator.h
- __iterator/segmented_iterator.h
- __iterator/size.h
- __iterator/sortable.h
- __iterator/unreachable_sentinel.h
- __iterator/wrap_iter.h
- __locale
- __locale_dir/locale_base_api.h
- __locale_dir/locale_base_api/android.h
- __locale_dir/locale_base_api/bsd_locale_defaults.h
- __locale_dir/locale_base_api/bsd_locale_fallbacks.h
- __locale_dir/locale_base_api/fuchsia.h
- __locale_dir/locale_base_api/ibm.h
- __locale_dir/locale_base_api/locale_guard.h
- __locale_dir/locale_base_api/musl.h
- __locale_dir/locale_base_api/newlib.h
- __locale_dir/locale_base_api/openbsd.h
- __locale_dir/locale_base_api/win32.h
- __math/abs.h
- __math/copysign.h
- __math/error_functions.h
- __math/exponential_functions.h
- __math/fdim.h
- __math/fma.h
- __math/gamma.h
- __math/hyperbolic_functions.h
- __math/hypot.h
- __math/inverse_hyperbolic_functions.h
- __math/inverse_trigonometric_functions.h
- __math/logarithms.h
- __math/min_max.h
- __math/modulo.h
- __math/remainder.h
- __math/roots.h
- __math/rounding_functions.h
- __math/special_functions.h
- __math/traits.h
- __math/trigonometric_functions.h
- __mbstate_t.h
- __mdspan/default_accessor.h
- __mdspan/extents.h
- __mdspan/layout_left.h
- __mdspan/layout_right.h
- __mdspan/layout_stride.h
- __mdspan/mdspan.h
- __memory/addressof.h
- __memory/align.h
- __memory/aligned_alloc.h
- __memory/allocate_at_least.h
- __memory/allocation_guard.h
- __memory/allocator.h
- __memory/allocator_arg_t.h
- __memory/allocator_destructor.h
- __memory/allocator_traits.h
- __memory/assume_aligned.h
- __memory/auto_ptr.h
- __memory/builtin_new_allocator.h
- __memory/compressed_pair.h
- __memory/concepts.h
- __memory/construct_at.h
- __memory/destruct_n.h
- __memory/inout_ptr.h
- __memory/out_ptr.h
- __memory/pointer_traits.h
- __memory/ranges_construct_at.h
- __memory/ranges_uninitialized_algorithms.h
- __memory/raw_storage_iterator.h
- __memory/shared_ptr.h
- __memory/swap_allocator.h
- __memory/temp_value.h
- __memory/temporary_buffer.h
- __memory/uninitialized_algorithms.h
- __memory/unique_ptr.h
- __memory/uses_allocator.h
- __memory/uses_allocator_construction.h
- __memory/voidify.h
- __memory_resource/memory_resource.h
- __memory_resource/monotonic_buffer_resource.h
- __memory_resource/polymorphic_allocator.h
- __memory_resource/pool_options.h
- __memory_resource/synchronized_pool_resource.h
- __memory_resource/unsynchronized_pool_resource.h
- __mutex/lock_guard.h
- __mutex/mutex.h
- __mutex/once_flag.h
- __mutex/tag_types.h
- __mutex/unique_lock.h
- __node_handle
- __numeric/accumulate.h
- __numeric/adjacent_difference.h
- __numeric/exclusive_scan.h
- __numeric/gcd_lcm.h
- __numeric/inclusive_scan.h
- __numeric/inner_product.h
- __numeric/iota.h
- __numeric/midpoint.h
- __numeric/partial_sum.h
- __numeric/pstl.h
- __numeric/reduce.h
- __numeric/saturation_arithmetic.h
- __numeric/transform_exclusive_scan.h
- __numeric/transform_inclusive_scan.h
- __numeric/transform_reduce.h
- __ostream/basic_ostream.h
- __ostream/print.h
- __pstl/backend.h
- __pstl/backend_fwd.h
- __pstl/backends/default.h
- __pstl/backends/libdispatch.h
- __pstl/backends/serial.h
- __pstl/backends/std_thread.h
- __pstl/cpu_algos/any_of.h
- __pstl/cpu_algos/cpu_traits.h
- __pstl/cpu_algos/fill.h
- __pstl/cpu_algos/find_if.h
- __pstl/cpu_algos/for_each.h
- __pstl/cpu_algos/merge.h
- __pstl/cpu_algos/stable_sort.h
- __pstl/cpu_algos/transform.h
- __pstl/cpu_algos/transform_reduce.h
- __pstl/dispatch.h
- __pstl/handle_exception.h
- __random/bernoulli_distribution.h
- __random/binomial_distribution.h
- __random/cauchy_distribution.h
- __random/chi_squared_distribution.h
- __random/clamp_to_integral.h
- __random/default_random_engine.h
- __random/discard_block_engine.h
- __random/discrete_distribution.h
- __random/exponential_distribution.h
- __random/extreme_value_distribution.h
- __random/fisher_f_distribution.h
- __random/gamma_distribution.h
- __random/generate_canonical.h
- __random/geometric_distribution.h
- __random/independent_bits_engine.h
- __random/is_seed_sequence.h
- __random/is_valid.h
- __random/knuth_b.h
- __random/linear_congruential_engine.h
- __random/log2.h
- __random/lognormal_distribution.h
- __random/mersenne_twister_engine.h
- __random/negative_binomial_distribution.h
- __random/normal_distribution.h
- __random/piecewise_constant_distribution.h
- __random/piecewise_linear_distribution.h
- __random/poisson_distribution.h
- __random/random_device.h
- __random/ranlux.h
- __random/seed_seq.h
- __random/shuffle_order_engine.h
- __random/student_t_distribution.h
- __random/subtract_with_carry_engine.h
- __random/uniform_int_distribution.h
- __random/uniform_random_bit_generator.h
- __random/uniform_real_distribution.h
- __random/weibull_distribution.h
- __ranges/access.h
- __ranges/all.h
- __ranges/as_rvalue_view.h
- __ranges/chunk_by_view.h
- __ranges/common_view.h
- __ranges/concepts.h
- __ranges/container_compatible_range.h
- __ranges/counted.h
- __ranges/dangling.h
- __ranges/data.h
- __ranges/drop_view.h
- __ranges/drop_while_view.h
- __ranges/elements_view.h
- __ranges/empty.h
- __ranges/empty_view.h
- __ranges/enable_borrowed_range.h
- __ranges/enable_view.h
- __ranges/filter_view.h
- __ranges/from_range.h
- __ranges/iota_view.h
- __ranges/istream_view.h
- __ranges/join_view.h
- __ranges/lazy_split_view.h
- __ranges/movable_box.h
- __ranges/non_propagating_cache.h
- __ranges/owning_view.h
- __ranges/range_adaptor.h
- __ranges/rbegin.h
- __ranges/ref_view.h
- __ranges/rend.h
- __ranges/repeat_view.h
- __ranges/reverse_view.h
- __ranges/single_view.h
- __ranges/size.h
- __ranges/split_view.h
- __ranges/subrange.h
- __ranges/take_view.h
- __ranges/take_while_view.h
- __ranges/to.h
- __ranges/transform_view.h
- __ranges/view_interface.h
- __ranges/views.h
- __ranges/zip_view.h
- __split_buffer
- __std_clang_module
- __std_mbstate_t.h
- __stop_token/atomic_unique_lock.h
- __stop_token/intrusive_list_view.h
- __stop_token/intrusive_shared_ptr.h
- __stop_token/stop_callback.h
- __stop_token/stop_source.h
- __stop_token/stop_state.h
- __stop_token/stop_token.h
- __string/char_traits.h
- __string/constexpr_c_functions.h
- __string/extern_template_lists.h
- __support/ibm/gettod_zos.h
- __support/ibm/locale_mgmt_zos.h
- __support/ibm/nanosleep.h
- __support/xlocale/__nop_locale_mgmt.h
- __support/xlocale/__posix_l_fallback.h
- __support/xlocale/__strtonum_fallback.h
- __system_error/errc.h
- __system_error/error_category.h
- __system_error/error_code.h
- __system_error/error_condition.h
- __system_error/system_error.h
- __thread/formatter.h
- __thread/id.h
- __thread/jthread.h
- __thread/poll_with_backoff.h
- __thread/support.h
- __thread/support/c11.h
- __thread/support/external.h
- __thread/support/pthread.h
- __thread/support/windows.h
- __thread/this_thread.h
- __thread/thread.h
- __thread/timed_backoff_policy.h
- __tree
- __tuple/find_index.h
- __tuple/ignore.h
- __tuple/make_tuple_types.h
- __tuple/sfinae_helpers.h
- __tuple/tuple_element.h
- __tuple/tuple_indices.h
- __tuple/tuple_like.h
- __tuple/tuple_like_ext.h
- __tuple/tuple_like_no_subrange.h
- __tuple/tuple_size.h
- __tuple/tuple_types.h
- __type_traits/add_const.h
- __type_traits/add_cv.h
- __type_traits/add_lvalue_reference.h
- __type_traits/add_pointer.h
- __type_traits/add_rvalue_reference.h
- __type_traits/add_volatile.h
- __type_traits/aligned_storage.h
- __type_traits/aligned_union.h
- __type_traits/alignment_of.h
- __type_traits/can_extract_key.h
- __type_traits/common_reference.h
- __type_traits/common_type.h
- __type_traits/conditional.h
- __type_traits/conjunction.h
- __type_traits/copy_cv.h
- __type_traits/copy_cvref.h
- __type_traits/datasizeof.h
- __type_traits/decay.h
- __type_traits/dependent_type.h
- __type_traits/desugars_to.h
- __type_traits/disjunction.h
- __type_traits/enable_if.h
- __type_traits/extent.h
- __type_traits/has_unique_object_representation.h
- __type_traits/has_virtual_destructor.h
- __type_traits/integral_constant.h
- __type_traits/invoke.h
- __type_traits/is_abstract.h
- __type_traits/is_aggregate.h
- __type_traits/is_allocator.h
- __type_traits/is_always_bitcastable.h
- __type_traits/is_arithmetic.h
- __type_traits/is_array.h
- __type_traits/is_assignable.h
- __type_traits/is_base_of.h
- __type_traits/is_bounded_array.h
- __type_traits/is_callable.h
- __type_traits/is_char_like_type.h
- __type_traits/is_class.h
- __type_traits/is_compound.h
- __type_traits/is_const.h
- __type_traits/is_constant_evaluated.h
- __type_traits/is_constructible.h
- __type_traits/is_convertible.h
- __type_traits/is_core_convertible.h
- __type_traits/is_destructible.h
- __type_traits/is_empty.h
- __type_traits/is_enum.h
- __type_traits/is_equality_comparable.h
- __type_traits/is_execution_policy.h
- __type_traits/is_final.h
- __type_traits/is_floating_point.h
- __type_traits/is_function.h
- __type_traits/is_fundamental.h
- __type_traits/is_implicitly_default_constructible.h
- __type_traits/is_integral.h
- __type_traits/is_literal_type.h
- __type_traits/is_member_pointer.h
- __type_traits/is_nothrow_assignable.h
- __type_traits/is_nothrow_constructible.h
- __type_traits/is_nothrow_convertible.h
- __type_traits/is_nothrow_destructible.h
- __type_traits/is_null_pointer.h
- __type_traits/is_object.h
- __type_traits/is_pod.h
- __type_traits/is_pointer.h
- __type_traits/is_polymorphic.h
- __type_traits/is_primary_template.h
- __type_traits/is_reference.h
- __type_traits/is_reference_wrapper.h
- __type_traits/is_referenceable.h
- __type_traits/is_same.h
- __type_traits/is_scalar.h
- __type_traits/is_signed.h
- __type_traits/is_signed_integer.h
- __type_traits/is_specialization.h
- __type_traits/is_standard_layout.h
- __type_traits/is_swappable.h
- __type_traits/is_trivial.h
- __type_traits/is_trivially_assignable.h
- __type_traits/is_trivially_constructible.h
- __type_traits/is_trivially_copyable.h
- __type_traits/is_trivially_destructible.h
- __type_traits/is_trivially_lexicographically_comparable.h
- __type_traits/is_trivially_relocatable.h
- __type_traits/is_unbounded_array.h
- __type_traits/is_union.h
- __type_traits/is_unsigned.h
- __type_traits/is_unsigned_integer.h
- __type_traits/is_valid_expansion.h
- __type_traits/is_void.h
- __type_traits/is_volatile.h
- __type_traits/lazy.h
- __type_traits/make_32_64_or_128_bit.h
- __type_traits/make_const_lvalue_ref.h
- __type_traits/make_signed.h
- __type_traits/make_unsigned.h
- __type_traits/maybe_const.h
- __type_traits/nat.h
- __type_traits/negation.h
- __type_traits/noexcept_move_assign_container.h
- __type_traits/promote.h
- __type_traits/rank.h
- __type_traits/remove_all_extents.h
- __type_traits/remove_const.h
- __type_traits/remove_const_ref.h
- __type_traits/remove_cv.h
- __type_traits/remove_cvref.h
- __type_traits/remove_extent.h
- __type_traits/remove_pointer.h
- __type_traits/remove_reference.h
- __type_traits/remove_volatile.h
- __type_traits/result_of.h
- __type_traits/strip_signature.h
- __type_traits/type_identity.h
- __type_traits/type_list.h
- __type_traits/underlying_type.h
- __type_traits/unwrap_ref.h
- __type_traits/void_t.h
- __undef_macros
- __utility/as_const.h
- __utility/as_lvalue.h
- __utility/auto_cast.h
- __utility/cmp.h
- __utility/convert_to_integral.h
- __utility/declval.h
- __utility/empty.h
- __utility/exception_guard.h
- __utility/exchange.h
- __utility/forward.h
- __utility/forward_like.h
- __utility/in_place.h
- __utility/integer_sequence.h
- __utility/is_pointer_in_range.h
- __utility/is_valid_range.h
- __utility/move.h
- __utility/no_destroy.h
- __utility/pair.h
- __utility/piecewise_construct.h
- __utility/priority_tag.h
- __utility/private_constructor_tag.h
- __utility/rel_ops.h
- __utility/small_buffer.h
- __utility/swap.h
- __utility/to_underlying.h
- __utility/unreachable.h
- __variant/monostate.h
- __verbose_abort
- algorithm
- any
- array
- atomic
- barrier
- bit
- bitset
- cassert
- ccomplex
- cctype
- cerrno
- cfenv
- cfloat
- charconv
- chrono
- cinttypes
- ciso646
- climits
- clocale
- cmath
- codecvt
- compare
- complex
- complex.h
- concepts
- condition_variable
- coroutine
- csetjmp
- csignal
- cstdarg
- cstdbool
- cstddef
- cstdint
- cstdio
- cstdlib
- cstring
- ctgmath
- ctime
- ctype.h
- cuchar
- cwchar
- cwctype
- deque
- errno.h
- exception
- execution
- expected
- experimental/__config
- experimental/__simd/aligned_tag.h
- experimental/__simd/declaration.h
- experimental/__simd/reference.h
- experimental/__simd/scalar.h
- experimental/__simd/simd.h
- experimental/__simd/simd_mask.h
- experimental/__simd/traits.h
- experimental/__simd/utility.h
- experimental/__simd/vec_ext.h
- experimental/iterator
- experimental/memory
- experimental/propagate_const
- experimental/simd
- experimental/type_traits
- experimental/utility
- ext/__hash
- ext/hash_map
- ext/hash_set
- fenv.h
- filesystem
- float.h
- format
- forward_list
- fstream
- functional
- future
- initializer_list
- inttypes.h
- iomanip
- ios
- iosfwd
- iostream
- istream
- iterator
- latch
- limits
- list
- locale
- locale.h
- map
- math.h
- mdspan
- memory
- memory_resource
- module.modulemap
- mutex
- new
- numbers
- numeric
- optional
- ostream
- print
- queue
- random
- ranges
- ratio
- regex
- scoped_allocator
- semaphore
- set
- shared_mutex
- source_location
- span
- sstream
- stack
- stdatomic.h
- stdbool.h
- stddef.h
- stdexcept
- stdint.h
- stdio.h
- stdlib.h
- stop_token
- streambuf
- string
- string.h
- string_view
- strstream
- syncstream
- system_error
- tgmath.h
- thread
- tuple
- type_traits
- typeindex
- typeinfo
- uchar.h
- unordered_map
- unordered_set
- utility
- valarray
- variant
- vector
- version
- wchar.h
- wctype.h
- )
-
-configure_file("__config_site.in" "${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site" @ONLY)
-configure_file("${LIBCXX_ASSERTION_HANDLER_FILE}" "${LIBCXX_GENERATED_INCLUDE_DIR}/__assertion_handler" COPYONLY)
-
-set(_all_includes "${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site"
- "${LIBCXX_GENERATED_INCLUDE_DIR}/__assertion_handler")
-foreach(f ${files})
- set(src "${CMAKE_CURRENT_SOURCE_DIR}/${f}")
- set(dst "${LIBCXX_GENERATED_INCLUDE_DIR}/${f}")
- add_custom_command(OUTPUT ${dst}
- DEPENDS ${src}
- COMMAND ${CMAKE_COMMAND} -E copy_if_different ${src} ${dst}
- COMMENT "Copying CXX header ${f}")
- list(APPEND _all_includes "${dst}")
-endforeach()
-
-# Generate the IWYU mapping. This depends on all header files but it's also considered as an
-# "include" for dependency tracking.
-add_custom_command(OUTPUT "${LIBCXX_GENERATED_INCLUDE_DIR}/libcxx.imp"
- COMMAND "${Python3_EXECUTABLE}" "${LIBCXX_SOURCE_DIR}/utils/generate_iwyu_mapping.py" "-o" "${LIBCXX_GENERATED_INCLUDE_DIR}/libcxx.imp"
- DEPENDS "${LIBCXX_SOURCE_DIR}/utils/libcxx/header_information.py"
- COMMENT "Generate the mapping file for include-what-you-use"
-)
-list(APPEND _all_includes "${LIBCXX_GENERATED_INCLUDE_DIR}/libcxx.imp")
-
-add_custom_target(generate-cxx-headers ALL DEPENDS ${_all_includes})
-
-add_library(cxx-headers INTERFACE)
-target_link_libraries(cxx-headers INTERFACE libcxx-libc-headers libcxx-abi-headers)
-add_dependencies(cxx-headers generate-cxx-headers)
-# It's important that the arch directory be included first so that its header files
-# which interpose on the default include dir be included instead of the default ones.
-target_include_directories(cxx-headers INTERFACE ${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}
- ${LIBCXX_GENERATED_INCLUDE_DIR})
-
-if (LIBCXX_INSTALL_HEADERS)
- foreach(file ${files})
- get_filename_component(dir ${file} DIRECTORY)
- install(FILES ${file}
- DESTINATION "${LIBCXX_INSTALL_INCLUDE_DIR}/${dir}"
- COMPONENT cxx-headers
- PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
- )
- endforeach()
-
- # Install the generated __config_site file to the per-target include dir.
- install(FILES "${LIBCXX_GENERATED_INCLUDE_TARGET_DIR}/__config_site"
- DESTINATION "${LIBCXX_INSTALL_INCLUDE_TARGET_DIR}"
- PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
- COMPONENT cxx-headers)
-
- # Install the generated __assertion_handler file to the generic include dir.
- install(FILES "${LIBCXX_GENERATED_INCLUDE_DIR}/__assertion_handler"
- DESTINATION "${LIBCXX_INSTALL_INCLUDE_DIR}"
- PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
- COMPONENT cxx-headers)
-
- # Install the generated IWYU file to the generic include dir.
- install(FILES "${LIBCXX_GENERATED_INCLUDE_DIR}/libcxx.imp"
- DESTINATION "${LIBCXX_INSTALL_INCLUDE_DIR}"
- PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
- COMPONENT cxx-headers)
-
- if (NOT CMAKE_CONFIGURATION_TYPES)
- add_custom_target(install-cxx-headers
- DEPENDS cxx-headers
- COMMAND "${CMAKE_COMMAND}"
- -DCMAKE_INSTALL_COMPONENT=cxx-headers
- -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
- # Stripping is a no-op for headers
- add_custom_target(install-cxx-headers-stripped DEPENDS install-cxx-headers)
- endif()
-endif()
diff --git a/libcxx/include/__cxx03/__algorithm/adjacent_find.h b/libcxx/include/__cxx03/__algorithm/adjacent_find.h
index 88036db84de8..6add0f3fe2b5 100644
--- a/libcxx/include/__cxx03/__algorithm/adjacent_find.h
+++ b/libcxx/include/__cxx03/__algorithm/adjacent_find.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_ADJACENT_FIND_H
-#define _LIBCPP___ALGORITHM_ADJACENT_FIND_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_ADJACENT_FIND_H
+#define _LIBCPP___CXX03___ALGORITHM_ADJACENT_FIND_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/iterator_operations.h>
@@ -55,4 +55,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_ADJACENT_FIND_H
+#endif // _LIBCPP___CXX03___ALGORITHM_ADJACENT_FIND_H
diff --git a/libcxx/include/__cxx03/__algorithm/all_of.h b/libcxx/include/__cxx03/__algorithm/all_of.h
index b32d97241506..fe46ee5fca43 100644
--- a/libcxx/include/__cxx03/__algorithm/all_of.h
+++ b/libcxx/include/__cxx03/__algorithm/all_of.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_ALL_OF_H
-#define _LIBCPP___ALGORITHM_ALL_OF_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_ALL_OF_H
+#define _LIBCPP___CXX03___ALGORITHM_ALL_OF_H
#include <__cxx03/__config>
@@ -29,4 +29,4 @@ all_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_ALL_OF_H
+#endif // _LIBCPP___CXX03___ALGORITHM_ALL_OF_H
diff --git a/libcxx/include/__cxx03/__algorithm/any_of.h b/libcxx/include/__cxx03/__algorithm/any_of.h
index bd7de96fbef4..26bf3996e8a6 100644
--- a/libcxx/include/__cxx03/__algorithm/any_of.h
+++ b/libcxx/include/__cxx03/__algorithm/any_of.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_ANY_OF_H
-#define _LIBCPP___ALGORITHM_ANY_OF_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_ANY_OF_H
+#define _LIBCPP___CXX03___ALGORITHM_ANY_OF_H
#include <__cxx03/__config>
@@ -29,4 +29,4 @@ any_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_ANY_OF_H
+#endif // _LIBCPP___CXX03___ALGORITHM_ANY_OF_H
diff --git a/libcxx/include/__cxx03/__algorithm/binary_search.h b/libcxx/include/__cxx03/__algorithm/binary_search.h
index a93c62b32d74..a72da8e39663 100644
--- a/libcxx/include/__cxx03/__algorithm/binary_search.h
+++ b/libcxx/include/__cxx03/__algorithm/binary_search.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_BINARY_SEARCH_H
-#define _LIBCPP___ALGORITHM_BINARY_SEARCH_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_BINARY_SEARCH_H
+#define _LIBCPP___CXX03___ALGORITHM_BINARY_SEARCH_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -36,4 +36,4 @@ binary_search(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __va
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_BINARY_SEARCH_H
+#endif // _LIBCPP___CXX03___ALGORITHM_BINARY_SEARCH_H
diff --git a/libcxx/include/__cxx03/__algorithm/clamp.h b/libcxx/include/__cxx03/__algorithm/clamp.h
index e5e4dbf774dc..0e4bb0eb6b95 100644
--- a/libcxx/include/__cxx03/__algorithm/clamp.h
+++ b/libcxx/include/__cxx03/__algorithm/clamp.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_CLAMP_H
-#define _LIBCPP___ALGORITHM_CLAMP_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_CLAMP_H
+#define _LIBCPP___CXX03___ALGORITHM_CLAMP_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__assert>
@@ -41,4 +41,4 @@ clamp(_LIBCPP_LIFETIMEBOUND const _Tp& __v,
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_CLAMP_H
+#endif // _LIBCPP___CXX03___ALGORITHM_CLAMP_H
diff --git a/libcxx/include/__cxx03/__algorithm/comp.h b/libcxx/include/__cxx03/__algorithm/comp.h
index f01e395dc21e..0c638b4e4a65 100644
--- a/libcxx/include/__cxx03/__algorithm/comp.h
+++ b/libcxx/include/__cxx03/__algorithm/comp.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_COMP_H
-#define _LIBCPP___ALGORITHM_COMP_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_COMP_H
+#define _LIBCPP___CXX03___ALGORITHM_COMP_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/desugars_to.h>
@@ -46,4 +46,4 @@ inline const bool __desugars_to_v<__less_tag, __less<>, _Tp, _Tp> = true;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_COMP_H
+#endif // _LIBCPP___CXX03___ALGORITHM_COMP_H
diff --git a/libcxx/include/__cxx03/__algorithm/comp_ref_type.h b/libcxx/include/__cxx03/__algorithm/comp_ref_type.h
index 413bf30c6a64..ab793da0ad29 100644
--- a/libcxx/include/__cxx03/__algorithm/comp_ref_type.h
+++ b/libcxx/include/__cxx03/__algorithm/comp_ref_type.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_COMP_REF_TYPE_H
-#define _LIBCPP___ALGORITHM_COMP_REF_TYPE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_COMP_REF_TYPE_H
+#define _LIBCPP___CXX03___ALGORITHM_COMP_REF_TYPE_H
#include <__cxx03/__assert>
#include <__cxx03/__config>
@@ -64,4 +64,4 @@ using __comp_ref_type = _Comp&;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_COMP_REF_TYPE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_COMP_REF_TYPE_H
diff --git a/libcxx/include/__cxx03/__algorithm/copy.h b/libcxx/include/__cxx03/__algorithm/copy.h
index 6de8df3f980f..2aa0ab78b785 100644
--- a/libcxx/include/__cxx03/__algorithm/copy.h
+++ b/libcxx/include/__cxx03/__algorithm/copy.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_COPY_H
-#define _LIBCPP___ALGORITHM_COPY_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_COPY_H
+#define _LIBCPP___CXX03___ALGORITHM_COPY_H
#include <__cxx03/__algorithm/copy_move_common.h>
#include <__cxx03/__algorithm/for_each_segment.h>
@@ -120,4 +120,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_COPY_H
+#endif // _LIBCPP___CXX03___ALGORITHM_COPY_H
diff --git a/libcxx/include/__cxx03/__algorithm/copy_backward.h b/libcxx/include/__cxx03/__algorithm/copy_backward.h
index dd7ff8ada528..9262d13d6c17 100644
--- a/libcxx/include/__cxx03/__algorithm/copy_backward.h
+++ b/libcxx/include/__cxx03/__algorithm/copy_backward.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_COPY_BACKWARD_H
-#define _LIBCPP___ALGORITHM_COPY_BACKWARD_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_COPY_BACKWARD_H
+#define _LIBCPP___CXX03___ALGORITHM_COPY_BACKWARD_H
#include <__cxx03/__algorithm/copy_move_common.h>
#include <__cxx03/__algorithm/iterator_operations.h>
@@ -134,4 +134,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_COPY_BACKWARD_H
+#endif // _LIBCPP___CXX03___ALGORITHM_COPY_BACKWARD_H
diff --git a/libcxx/include/__cxx03/__algorithm/copy_if.h b/libcxx/include/__cxx03/__algorithm/copy_if.h
index 345b12878d33..2db0c26fb86b 100644
--- a/libcxx/include/__cxx03/__algorithm/copy_if.h
+++ b/libcxx/include/__cxx03/__algorithm/copy_if.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_COPY_IF_H
-#define _LIBCPP___ALGORITHM_COPY_IF_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_COPY_IF_H
+#define _LIBCPP___CXX03___ALGORITHM_COPY_IF_H
#include <__cxx03/__config>
@@ -31,4 +31,4 @@ copy_if(_InputIterator __first, _InputIterator __last, _OutputIterator __result,
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_COPY_IF_H
+#endif // _LIBCPP___CXX03___ALGORITHM_COPY_IF_H
diff --git a/libcxx/include/__cxx03/__algorithm/copy_move_common.h b/libcxx/include/__cxx03/__algorithm/copy_move_common.h
index c59830702517..637b5a01daa7 100644
--- a/libcxx/include/__cxx03/__algorithm/copy_move_common.h
+++ b/libcxx/include/__cxx03/__algorithm/copy_move_common.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_COPY_MOVE_COMMON_H
-#define _LIBCPP___ALGORITHM_COPY_MOVE_COMMON_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_COPY_MOVE_COMMON_H
+#define _LIBCPP___CXX03___ALGORITHM_COPY_MOVE_COMMON_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__algorithm/unwrap_iter.h>
@@ -111,4 +111,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_COPY_MOVE_COMMON_H
+#endif // _LIBCPP___CXX03___ALGORITHM_COPY_MOVE_COMMON_H
diff --git a/libcxx/include/__cxx03/__algorithm/copy_n.h b/libcxx/include/__cxx03/__algorithm/copy_n.h
index 14f140294433..aedb232b1bd5 100644
--- a/libcxx/include/__cxx03/__algorithm/copy_n.h
+++ b/libcxx/include/__cxx03/__algorithm/copy_n.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_COPY_N_H
-#define _LIBCPP___ALGORITHM_COPY_N_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_COPY_N_H
+#define _LIBCPP___CXX03___ALGORITHM_COPY_N_H
#include <__cxx03/__algorithm/copy.h>
#include <__cxx03/__config>
@@ -57,4 +57,4 @@ copy_n(_InputIterator __first, _Size __orig_n, _OutputIterator __result) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_COPY_N_H
+#endif // _LIBCPP___CXX03___ALGORITHM_COPY_N_H
diff --git a/libcxx/include/__cxx03/__algorithm/count.h b/libcxx/include/__cxx03/__algorithm/count.h
index b7024dc8c631..7c1fc3e57989 100644
--- a/libcxx/include/__cxx03/__algorithm/count.h
+++ b/libcxx/include/__cxx03/__algorithm/count.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_COUNT_H
-#define _LIBCPP___ALGORITHM_COUNT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_COUNT_H
+#define _LIBCPP___CXX03___ALGORITHM_COUNT_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__algorithm/min.h>
@@ -89,4 +89,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_COUNT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_COUNT_H
diff --git a/libcxx/include/__cxx03/__algorithm/count_if.h b/libcxx/include/__cxx03/__algorithm/count_if.h
index eeb42052b08a..d333e8618917 100644
--- a/libcxx/include/__cxx03/__algorithm/count_if.h
+++ b/libcxx/include/__cxx03/__algorithm/count_if.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_COUNT_IF_H
-#define _LIBCPP___ALGORITHM_COUNT_IF_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_COUNT_IF_H
+#define _LIBCPP___CXX03___ALGORITHM_COUNT_IF_H
#include <__cxx03/__config>
#include <__cxx03/__iterator/iterator_traits.h>
@@ -32,4 +32,4 @@ count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_COUNT_IF_H
+#endif // _LIBCPP___CXX03___ALGORITHM_COUNT_IF_H
diff --git a/libcxx/include/__cxx03/__algorithm/equal.h b/libcxx/include/__cxx03/__algorithm/equal.h
index a4d0a999b181..4e478932981e 100644
--- a/libcxx/include/__cxx03/__algorithm/equal.h
+++ b/libcxx/include/__cxx03/__algorithm/equal.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_EQUAL_H
-#define _LIBCPP___ALGORITHM_EQUAL_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_EQUAL_H
+#define _LIBCPP___CXX03___ALGORITHM_EQUAL_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/unwrap_iter.h>
@@ -130,4 +130,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_EQUAL_H
+#endif // _LIBCPP___CXX03___ALGORITHM_EQUAL_H
diff --git a/libcxx/include/__cxx03/__algorithm/equal_range.h b/libcxx/include/__cxx03/__algorithm/equal_range.h
index 9abda2bd2e36..4b3126a2840c 100644
--- a/libcxx/include/__cxx03/__algorithm/equal_range.h
+++ b/libcxx/include/__cxx03/__algorithm/equal_range.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_EQUAL_RANGE_H
-#define _LIBCPP___ALGORITHM_EQUAL_RANGE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_EQUAL_RANGE_H
+#define _LIBCPP___CXX03___ALGORITHM_EQUAL_RANGE_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -82,4 +82,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_EQUAL_RANGE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_EQUAL_RANGE_H
diff --git a/libcxx/include/__cxx03/__algorithm/fill.h b/libcxx/include/__cxx03/__algorithm/fill.h
index 5da0f4457daa..4aaf2744e8a5 100644
--- a/libcxx/include/__cxx03/__algorithm/fill.h
+++ b/libcxx/include/__cxx03/__algorithm/fill.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_FILL_H
-#define _LIBCPP___ALGORITHM_FILL_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_FILL_H
+#define _LIBCPP___CXX03___ALGORITHM_FILL_H
#include <__cxx03/__algorithm/fill_n.h>
#include <__cxx03/__config>
@@ -42,4 +42,4 @@ fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_FILL_H
+#endif // _LIBCPP___CXX03___ALGORITHM_FILL_H
diff --git a/libcxx/include/__cxx03/__algorithm/fill_n.h b/libcxx/include/__cxx03/__algorithm/fill_n.h
index fd548f27056a..99b712c7b036 100644
--- a/libcxx/include/__cxx03/__algorithm/fill_n.h
+++ b/libcxx/include/__cxx03/__algorithm/fill_n.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_FILL_N_H
-#define _LIBCPP___ALGORITHM_FILL_N_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_FILL_N_H
+#define _LIBCPP___CXX03___ALGORITHM_FILL_N_H
#include <__cxx03/__algorithm/min.h>
#include <__cxx03/__config>
@@ -95,4 +95,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_FILL_N_H
+#endif // _LIBCPP___CXX03___ALGORITHM_FILL_N_H
diff --git a/libcxx/include/__cxx03/__algorithm/find.h b/libcxx/include/__cxx03/__algorithm/find.h
index 7a48a449c897..ff5ac9b8b1bd 100644
--- a/libcxx/include/__cxx03/__algorithm/find.h
+++ b/libcxx/include/__cxx03/__algorithm/find.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_FIND_H
-#define _LIBCPP___ALGORITHM_FIND_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_FIND_H
+#define _LIBCPP___CXX03___ALGORITHM_FIND_H
#include <__cxx03/__algorithm/find_segment_if.h>
#include <__cxx03/__algorithm/min.h>
@@ -178,4 +178,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_FIND_H
+#endif // _LIBCPP___CXX03___ALGORITHM_FIND_H
diff --git a/libcxx/include/__cxx03/__algorithm/find_end.h b/libcxx/include/__cxx03/__algorithm/find_end.h
index 34a45e2c66fa..3fa046bd0df3 100644
--- a/libcxx/include/__cxx03/__algorithm/find_end.h
+++ b/libcxx/include/__cxx03/__algorithm/find_end.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_FIND_END_OF_H
-#define _LIBCPP___ALGORITHM_FIND_END_OF_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_FIND_END_OF_H
+#define _LIBCPP___CXX03___ALGORITHM_FIND_END_OF_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/iterator_operations.h>
@@ -222,4 +222,4 @@ find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1, _ForwardIterator
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_FIND_END_OF_H
+#endif // _LIBCPP___CXX03___ALGORITHM_FIND_END_OF_H
diff --git a/libcxx/include/__cxx03/__algorithm/find_first_of.h b/libcxx/include/__cxx03/__algorithm/find_first_of.h
index 05eb85fd663d..b1b3e5f3be01 100644
--- a/libcxx/include/__cxx03/__algorithm/find_first_of.h
+++ b/libcxx/include/__cxx03/__algorithm/find_first_of.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_FIND_FIRST_OF_H
-#define _LIBCPP___ALGORITHM_FIND_FIRST_OF_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_FIND_FIRST_OF_H
+#define _LIBCPP___CXX03___ALGORITHM_FIND_FIRST_OF_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__config>
@@ -52,4 +52,4 @@ _LIBCPP_NODISCARD inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _Fo
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_FIND_FIRST_OF_H
+#endif // _LIBCPP___CXX03___ALGORITHM_FIND_FIRST_OF_H
diff --git a/libcxx/include/__cxx03/__algorithm/find_if.h b/libcxx/include/__cxx03/__algorithm/find_if.h
index b0150e539f9a..ca4139c86787 100644
--- a/libcxx/include/__cxx03/__algorithm/find_if.h
+++ b/libcxx/include/__cxx03/__algorithm/find_if.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_FIND_IF_H
-#define _LIBCPP___ALGORITHM_FIND_IF_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_FIND_IF_H
+#define _LIBCPP___CXX03___ALGORITHM_FIND_IF_H
#include <__cxx03/__config>
@@ -29,4 +29,4 @@ find_if(_InputIterator __first, _InputIterator __last, _Predicate __pred) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_FIND_IF_H
+#endif // _LIBCPP___CXX03___ALGORITHM_FIND_IF_H
diff --git a/libcxx/include/__cxx03/__algorithm/find_if_not.h b/libcxx/include/__cxx03/__algorithm/find_if_not.h
index 67d9a7deb2ed..a662dfbddfbb 100644
--- a/libcxx/include/__cxx03/__algorithm/find_if_not.h
+++ b/libcxx/include/__cxx03/__algorithm/find_if_not.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_FIND_IF_NOT_H
-#define _LIBCPP___ALGORITHM_FIND_IF_NOT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_FIND_IF_NOT_H
+#define _LIBCPP___CXX03___ALGORITHM_FIND_IF_NOT_H
#include <__cxx03/__config>
@@ -29,4 +29,4 @@ find_if_not(_InputIterator __first, _InputIterator __last, _Predicate __pred) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_FIND_IF_NOT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_FIND_IF_NOT_H
diff --git a/libcxx/include/__cxx03/__algorithm/find_segment_if.h b/libcxx/include/__cxx03/__algorithm/find_segment_if.h
index a6c016234418..3475e9e8bdac 100644
--- a/libcxx/include/__cxx03/__algorithm/find_segment_if.h
+++ b/libcxx/include/__cxx03/__algorithm/find_segment_if.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_FIND_SEGMENT_IF_H
-#define _LIBCPP___ALGORITHM_FIND_SEGMENT_IF_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_FIND_SEGMENT_IF_H
+#define _LIBCPP___CXX03___ALGORITHM_FIND_SEGMENT_IF_H
#include <__cxx03/__config>
#include <__cxx03/__iterator/segmented_iterator.h>
@@ -59,4 +59,4 @@ __find_segment_if(_SegmentedIterator __first, _SegmentedIterator __last, _Pred _
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_FIND_SEGMENT_IF_H
+#endif // _LIBCPP___CXX03___ALGORITHM_FIND_SEGMENT_IF_H
diff --git a/libcxx/include/__cxx03/__algorithm/fold.h b/libcxx/include/__cxx03/__algorithm/fold.h
index 7e9c745bbbdb..5ec0d747c009 100644
--- a/libcxx/include/__cxx03/__algorithm/fold.h
+++ b/libcxx/include/__cxx03/__algorithm/fold.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_FOLD_H
-#define _LIBCPP___ALGORITHM_FOLD_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_FOLD_H
+#define _LIBCPP___CXX03___ALGORITHM_FOLD_H
#include <__cxx03/__concepts/assignable.h>
#include <__cxx03/__concepts/convertible_to.h>
@@ -125,4 +125,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_FOLD_H
+#endif // _LIBCPP___CXX03___ALGORITHM_FOLD_H
diff --git a/libcxx/include/__cxx03/__algorithm/for_each.h b/libcxx/include/__cxx03/__algorithm/for_each.h
index d2b19310c60f..a6faf805fe9c 100644
--- a/libcxx/include/__cxx03/__algorithm/for_each.h
+++ b/libcxx/include/__cxx03/__algorithm/for_each.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_FOR_EACH_H
-#define _LIBCPP___ALGORITHM_FOR_EACH_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_FOR_EACH_H
+#define _LIBCPP___CXX03___ALGORITHM_FOR_EACH_H
#include <__cxx03/__algorithm/for_each_segment.h>
#include <__cxx03/__config>
@@ -54,4 +54,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_FOR_EACH_H
+#endif // _LIBCPP___CXX03___ALGORITHM_FOR_EACH_H
diff --git a/libcxx/include/__cxx03/__algorithm/for_each_n.h b/libcxx/include/__cxx03/__algorithm/for_each_n.h
index 7b8c40eacf96..486a5266ad01 100644
--- a/libcxx/include/__cxx03/__algorithm/for_each_n.h
+++ b/libcxx/include/__cxx03/__algorithm/for_each_n.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_FOR_EACH_N_H
-#define _LIBCPP___ALGORITHM_FOR_EACH_N_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_FOR_EACH_N_H
+#define _LIBCPP___CXX03___ALGORITHM_FOR_EACH_N_H
#include <__cxx03/__config>
#include <__cxx03/__utility/convert_to_integral.h>
@@ -38,4 +38,4 @@ for_each_n(_InputIterator __first, _Size __orig_n, _Function __f) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_FOR_EACH_N_H
+#endif // _LIBCPP___CXX03___ALGORITHM_FOR_EACH_N_H
diff --git a/libcxx/include/__cxx03/__algorithm/for_each_segment.h b/libcxx/include/__cxx03/__algorithm/for_each_segment.h
index 50c4b28deba0..02b4a1799d6a 100644
--- a/libcxx/include/__cxx03/__algorithm/for_each_segment.h
+++ b/libcxx/include/__cxx03/__algorithm/for_each_segment.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_FOR_EACH_SEGMENT_H
-#define _LIBCPP___ALGORITHM_FOR_EACH_SEGMENT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_FOR_EACH_SEGMENT_H
+#define _LIBCPP___CXX03___ALGORITHM_FOR_EACH_SEGMENT_H
#include <__cxx03/__config>
#include <__cxx03/__iterator/segmented_iterator.h>
@@ -50,4 +50,4 @@ __for_each_segment(_SegmentedIterator __first, _SegmentedIterator __last, _Funct
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_FOR_EACH_SEGMENT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_FOR_EACH_SEGMENT_H
diff --git a/libcxx/include/__cxx03/__algorithm/generate.h b/libcxx/include/__cxx03/__algorithm/generate.h
index 14da75cd44ce..fa1929b639ad 100644
--- a/libcxx/include/__cxx03/__algorithm/generate.h
+++ b/libcxx/include/__cxx03/__algorithm/generate.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_GENERATE_H
-#define _LIBCPP___ALGORITHM_GENERATE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_GENERATE_H
+#define _LIBCPP___CXX03___ALGORITHM_GENERATE_H
#include <__cxx03/__config>
@@ -26,4 +26,4 @@ generate(_ForwardIterator __first, _ForwardIterator __last, _Generator __gen) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_GENERATE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_GENERATE_H
diff --git a/libcxx/include/__cxx03/__algorithm/generate_n.h b/libcxx/include/__cxx03/__algorithm/generate_n.h
index 32cc86911815..5a421131070e 100644
--- a/libcxx/include/__cxx03/__algorithm/generate_n.h
+++ b/libcxx/include/__cxx03/__algorithm/generate_n.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_GENERATE_N_H
-#define _LIBCPP___ALGORITHM_GENERATE_N_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_GENERATE_N_H
+#define _LIBCPP___CXX03___ALGORITHM_GENERATE_N_H
#include <__cxx03/__config>
#include <__cxx03/__utility/convert_to_integral.h>
@@ -30,4 +30,4 @@ generate_n(_OutputIterator __first, _Size __orig_n, _Generator __gen) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_GENERATE_N_H
+#endif // _LIBCPP___CXX03___ALGORITHM_GENERATE_N_H
diff --git a/libcxx/include/__cxx03/__algorithm/half_positive.h b/libcxx/include/__cxx03/__algorithm/half_positive.h
index 4378964d9d83..a436a6086b5e 100644
--- a/libcxx/include/__cxx03/__algorithm/half_positive.h
+++ b/libcxx/include/__cxx03/__algorithm/half_positive.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_HALF_POSITIVE_H
-#define _LIBCPP___ALGORITHM_HALF_POSITIVE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_HALF_POSITIVE_H
+#define _LIBCPP___CXX03___ALGORITHM_HALF_POSITIVE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -34,4 +34,4 @@ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR _Tp __half_positive(_Tp __value) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_HALF_POSITIVE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_HALF_POSITIVE_H
diff --git a/libcxx/include/__cxx03/__algorithm/in_found_result.h b/libcxx/include/__cxx03/__algorithm/in_found_result.h
index 0f4895dab437..234e17cbd019 100644
--- a/libcxx/include/__cxx03/__algorithm/in_found_result.h
+++ b/libcxx/include/__cxx03/__algorithm/in_found_result.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_IN_FOUND_RESULT_H
-#define _LIBCPP___ALGORITHM_IN_FOUND_RESULT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_IN_FOUND_RESULT_H
+#define _LIBCPP___CXX03___ALGORITHM_IN_FOUND_RESULT_H
#include <__cxx03/__concepts/convertible_to.h>
#include <__cxx03/__config>
@@ -51,4 +51,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_IN_FOUND_RESULT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_IN_FOUND_RESULT_H
diff --git a/libcxx/include/__cxx03/__algorithm/in_fun_result.h b/libcxx/include/__cxx03/__algorithm/in_fun_result.h
index 998d4599ceac..402fbecc3df0 100644
--- a/libcxx/include/__cxx03/__algorithm/in_fun_result.h
+++ b/libcxx/include/__cxx03/__algorithm/in_fun_result.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_IN_FUN_RESULT_H
-#define _LIBCPP___ALGORITHM_IN_FUN_RESULT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_IN_FUN_RESULT_H
+#define _LIBCPP___CXX03___ALGORITHM_IN_FUN_RESULT_H
#include <__cxx03/__concepts/convertible_to.h>
#include <__cxx03/__config>
@@ -51,4 +51,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_IN_FUN_RESULT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_IN_FUN_RESULT_H
diff --git a/libcxx/include/__cxx03/__algorithm/in_in_out_result.h b/libcxx/include/__cxx03/__algorithm/in_in_out_result.h
index bb3a7e5466de..cb14a7e654fa 100644
--- a/libcxx/include/__cxx03/__algorithm/in_in_out_result.h
+++ b/libcxx/include/__cxx03/__algorithm/in_in_out_result.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_IN_IN_OUT_RESULT_H
-#define _LIBCPP___ALGORITHM_IN_IN_OUT_RESULT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_IN_IN_OUT_RESULT_H
+#define _LIBCPP___CXX03___ALGORITHM_IN_IN_OUT_RESULT_H
#include <__cxx03/__concepts/convertible_to.h>
#include <__cxx03/__config>
@@ -56,4 +56,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_IN_IN_OUT_RESULT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_IN_IN_OUT_RESULT_H
diff --git a/libcxx/include/__cxx03/__algorithm/in_in_result.h b/libcxx/include/__cxx03/__algorithm/in_in_result.h
index 12f1b572c587..3ef349f87ff6 100644
--- a/libcxx/include/__cxx03/__algorithm/in_in_result.h
+++ b/libcxx/include/__cxx03/__algorithm/in_in_result.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_IN_IN_RESULT_H
-#define _LIBCPP___ALGORITHM_IN_IN_RESULT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_IN_IN_RESULT_H
+#define _LIBCPP___CXX03___ALGORITHM_IN_IN_RESULT_H
#include <__cxx03/__concepts/convertible_to.h>
#include <__cxx03/__config>
@@ -53,4 +53,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_IN_IN_RESULT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_IN_IN_RESULT_H
diff --git a/libcxx/include/__cxx03/__algorithm/in_out_out_result.h b/libcxx/include/__cxx03/__algorithm/in_out_out_result.h
index c7d18535d101..de67ac89fefe 100644
--- a/libcxx/include/__cxx03/__algorithm/in_out_out_result.h
+++ b/libcxx/include/__cxx03/__algorithm/in_out_out_result.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_IN_OUT_OUT_RESULT_H
-#define _LIBCPP___ALGORITHM_IN_OUT_OUT_RESULT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_IN_OUT_OUT_RESULT_H
+#define _LIBCPP___CXX03___ALGORITHM_IN_OUT_OUT_RESULT_H
#include <__cxx03/__concepts/convertible_to.h>
#include <__cxx03/__config>
@@ -54,4 +54,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_IN_OUT_OUT_RESULT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_IN_OUT_OUT_RESULT_H
diff --git a/libcxx/include/__cxx03/__algorithm/in_out_result.h b/libcxx/include/__cxx03/__algorithm/in_out_result.h
index 66bd1a166698..e80f5fd7ba77 100644
--- a/libcxx/include/__cxx03/__algorithm/in_out_result.h
+++ b/libcxx/include/__cxx03/__algorithm/in_out_result.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_IN_OUT_RESULT_H
-#define _LIBCPP___ALGORITHM_IN_OUT_RESULT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_IN_OUT_RESULT_H
+#define _LIBCPP___CXX03___ALGORITHM_IN_OUT_RESULT_H
#include <__cxx03/__concepts/convertible_to.h>
#include <__cxx03/__config>
@@ -53,4 +53,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_IN_OUT_RESULT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_IN_OUT_RESULT_H
diff --git a/libcxx/include/__cxx03/__algorithm/includes.h b/libcxx/include/__cxx03/__algorithm/includes.h
index 6d3eb44bb8c4..24b46d1f10cb 100644
--- a/libcxx/include/__cxx03/__algorithm/includes.h
+++ b/libcxx/include/__cxx03/__algorithm/includes.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_INCLUDES_H
-#define _LIBCPP___ALGORITHM_INCLUDES_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_INCLUDES_H
+#define _LIBCPP___CXX03___ALGORITHM_INCLUDES_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -76,4 +76,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_INCLUDES_H
+#endif // _LIBCPP___CXX03___ALGORITHM_INCLUDES_H
diff --git a/libcxx/include/__cxx03/__algorithm/inplace_merge.h b/libcxx/include/__cxx03/__algorithm/inplace_merge.h
index 3816ba5793c0..187969dcc402 100644
--- a/libcxx/include/__cxx03/__algorithm/inplace_merge.h
+++ b/libcxx/include/__cxx03/__algorithm/inplace_merge.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_INPLACE_MERGE_H
-#define _LIBCPP___ALGORITHM_INPLACE_MERGE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_INPLACE_MERGE_H
+#define _LIBCPP___CXX03___ALGORITHM_INPLACE_MERGE_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -237,4 +237,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_INPLACE_MERGE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_INPLACE_MERGE_H
diff --git a/libcxx/include/__cxx03/__algorithm/is_heap.h b/libcxx/include/__cxx03/__algorithm/is_heap.h
index dde4bfb6ff2d..c19adb84ba57 100644
--- a/libcxx/include/__cxx03/__algorithm/is_heap.h
+++ b/libcxx/include/__cxx03/__algorithm/is_heap.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_IS_HEAP_H
-#define _LIBCPP___ALGORITHM_IS_HEAP_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_IS_HEAP_H
+#define _LIBCPP___CXX03___ALGORITHM_IS_HEAP_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -35,4 +35,4 @@ is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_IS_HEAP_H
+#endif // _LIBCPP___CXX03___ALGORITHM_IS_HEAP_H
diff --git a/libcxx/include/__cxx03/__algorithm/is_heap_until.h b/libcxx/include/__cxx03/__algorithm/is_heap_until.h
index d46dd343115c..e3a6d9769fcc 100644
--- a/libcxx/include/__cxx03/__algorithm/is_heap_until.h
+++ b/libcxx/include/__cxx03/__algorithm/is_heap_until.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_IS_HEAP_UNTIL_H
-#define _LIBCPP___ALGORITHM_IS_HEAP_UNTIL_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_IS_HEAP_UNTIL_H
+#define _LIBCPP___CXX03___ALGORITHM_IS_HEAP_UNTIL_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -59,4 +59,4 @@ is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_IS_HEAP_UNTIL_H
+#endif // _LIBCPP___CXX03___ALGORITHM_IS_HEAP_UNTIL_H
diff --git a/libcxx/include/__cxx03/__algorithm/is_partitioned.h b/libcxx/include/__cxx03/__algorithm/is_partitioned.h
index 8bd202f3e242..a7dff7bf4254 100644
--- a/libcxx/include/__cxx03/__algorithm/is_partitioned.h
+++ b/libcxx/include/__cxx03/__algorithm/is_partitioned.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_IS_PARTITIONED_H
-#define _LIBCPP___ALGORITHM_IS_PARTITIONED_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_IS_PARTITIONED_H
+#define _LIBCPP___CXX03___ALGORITHM_IS_PARTITIONED_H
#include <__cxx03/__config>
@@ -34,4 +34,4 @@ is_partitioned(_InputIterator __first, _InputIterator __last, _Predicate __pred)
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_IS_PARTITIONED_H
+#endif // _LIBCPP___CXX03___ALGORITHM_IS_PARTITIONED_H
diff --git a/libcxx/include/__cxx03/__algorithm/is_permutation.h b/libcxx/include/__cxx03/__algorithm/is_permutation.h
index 0274ba98fcd1..fd29e82656a3 100644
--- a/libcxx/include/__cxx03/__algorithm/is_permutation.h
+++ b/libcxx/include/__cxx03/__algorithm/is_permutation.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_IS_PERMUTATION_H
-#define _LIBCPP___ALGORITHM_IS_PERMUTATION_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_IS_PERMUTATION_H
+#define _LIBCPP___CXX03___ALGORITHM_IS_PERMUTATION_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/iterator_operations.h>
@@ -305,4 +305,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_IS_PERMUTATION_H
+#endif // _LIBCPP___CXX03___ALGORITHM_IS_PERMUTATION_H
diff --git a/libcxx/include/__cxx03/__algorithm/is_sorted.h b/libcxx/include/__cxx03/__algorithm/is_sorted.h
index 0a003a86b991..1318f5baf839 100644
--- a/libcxx/include/__cxx03/__algorithm/is_sorted.h
+++ b/libcxx/include/__cxx03/__algorithm/is_sorted.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_IS_SORTED_H
-#define _LIBCPP___ALGORITHM_IS_SORTED_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_IS_SORTED_H
+#define _LIBCPP___CXX03___ALGORITHM_IS_SORTED_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -35,4 +35,4 @@ is_sorted(_ForwardIterator __first, _ForwardIterator __last) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_IS_SORTED_H
+#endif // _LIBCPP___CXX03___ALGORITHM_IS_SORTED_H
diff --git a/libcxx/include/__cxx03/__algorithm/is_sorted_until.h b/libcxx/include/__cxx03/__algorithm/is_sorted_until.h
index eb90e5dd88e6..f97fb7c2e53e 100644
--- a/libcxx/include/__cxx03/__algorithm/is_sorted_until.h
+++ b/libcxx/include/__cxx03/__algorithm/is_sorted_until.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_IS_SORTED_UNTIL_H
-#define _LIBCPP___ALGORITHM_IS_SORTED_UNTIL_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_IS_SORTED_UNTIL_H
+#define _LIBCPP___CXX03___ALGORITHM_IS_SORTED_UNTIL_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -48,4 +48,4 @@ is_sorted_until(_ForwardIterator __first, _ForwardIterator __last) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_IS_SORTED_UNTIL_H
+#endif // _LIBCPP___CXX03___ALGORITHM_IS_SORTED_UNTIL_H
diff --git a/libcxx/include/__cxx03/__algorithm/iter_swap.h b/libcxx/include/__cxx03/__algorithm/iter_swap.h
index 837a603d23e3..4fcbcdcf1e05 100644
--- a/libcxx/include/__cxx03/__algorithm/iter_swap.h
+++ b/libcxx/include/__cxx03/__algorithm/iter_swap.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_ITER_SWAP_H
-#define _LIBCPP___ALGORITHM_ITER_SWAP_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_ITER_SWAP_H
+#define _LIBCPP___CXX03___ALGORITHM_ITER_SWAP_H
#include <__cxx03/__config>
#include <__cxx03/__utility/declval.h>
@@ -28,4 +28,4 @@ inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void iter_swap(_Forwa
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_ITER_SWAP_H
+#endif // _LIBCPP___CXX03___ALGORITHM_ITER_SWAP_H
diff --git a/libcxx/include/__cxx03/__algorithm/iterator_operations.h b/libcxx/include/__cxx03/__algorithm/iterator_operations.h
index b4f1f9e3ffca..24973b66e4f9 100644
--- a/libcxx/include/__cxx03/__algorithm/iterator_operations.h
+++ b/libcxx/include/__cxx03/__algorithm/iterator_operations.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_ITERATOR_OPERATIONS_H
-#define _LIBCPP___ALGORITHM_ITERATOR_OPERATIONS_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_ITERATOR_OPERATIONS_H
+#define _LIBCPP___CXX03___ALGORITHM_ITERATOR_OPERATIONS_H
#include <__cxx03/__algorithm/iter_swap.h>
#include <__cxx03/__algorithm/ranges_iterator_concept.h>
@@ -220,4 +220,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_ITERATOR_OPERATIONS_H
+#endif // _LIBCPP___CXX03___ALGORITHM_ITERATOR_OPERATIONS_H
diff --git a/libcxx/include/__cxx03/__algorithm/lexicographical_compare.h b/libcxx/include/__cxx03/__algorithm/lexicographical_compare.h
index e3d93be6177e..b019e4b5021b 100644
--- a/libcxx/include/__cxx03/__algorithm/lexicographical_compare.h
+++ b/libcxx/include/__cxx03/__algorithm/lexicographical_compare.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_LEXICOGRAPHICAL_COMPARE_H
-#define _LIBCPP___ALGORITHM_LEXICOGRAPHICAL_COMPARE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_LEXICOGRAPHICAL_COMPARE_H
+#define _LIBCPP___CXX03___ALGORITHM_LEXICOGRAPHICAL_COMPARE_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -54,4 +54,4 @@ _LIBCPP_NODISCARD inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 boo
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_LEXICOGRAPHICAL_COMPARE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_LEXICOGRAPHICAL_COMPARE_H
diff --git a/libcxx/include/__cxx03/__algorithm/lexicographical_compare_three_way.h b/libcxx/include/__cxx03/__algorithm/lexicographical_compare_three_way.h
index bea67a793765..2fc53636abbd 100644
--- a/libcxx/include/__cxx03/__algorithm/lexicographical_compare_three_way.h
+++ b/libcxx/include/__cxx03/__algorithm/lexicographical_compare_three_way.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_LEXICOGRAPHICAL_COMPARE_THREE_WAY_H
-#define _LIBCPP___ALGORITHM_LEXICOGRAPHICAL_COMPARE_THREE_WAY_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_LEXICOGRAPHICAL_COMPARE_THREE_WAY_H
+#define _LIBCPP___CXX03___ALGORITHM_LEXICOGRAPHICAL_COMPARE_THREE_WAY_H
#include <__cxx03/__algorithm/min.h>
#include <__cxx03/__algorithm/three_way_comp_ref_type.h>
@@ -122,4 +122,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_LEXICOGRAPHICAL_COMPARE_THREE_WAY_H
+#endif // _LIBCPP___CXX03___ALGORITHM_LEXICOGRAPHICAL_COMPARE_THREE_WAY_H
diff --git a/libcxx/include/__cxx03/__algorithm/lower_bound.h b/libcxx/include/__cxx03/__algorithm/lower_bound.h
index 844674cb7860..810792bfe8fe 100644
--- a/libcxx/include/__cxx03/__algorithm/lower_bound.h
+++ b/libcxx/include/__cxx03/__algorithm/lower_bound.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_LOWER_BOUND_H
-#define _LIBCPP___ALGORITHM_LOWER_BOUND_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_LOWER_BOUND_H
+#define _LIBCPP___CXX03___ALGORITHM_LOWER_BOUND_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/half_positive.h>
@@ -106,4 +106,4 @@ lower_bound(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __valu
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_LOWER_BOUND_H
+#endif // _LIBCPP___CXX03___ALGORITHM_LOWER_BOUND_H
diff --git a/libcxx/include/__cxx03/__algorithm/make_heap.h b/libcxx/include/__cxx03/__algorithm/make_heap.h
index 5239a99083f5..35a7f7bf9779 100644
--- a/libcxx/include/__cxx03/__algorithm/make_heap.h
+++ b/libcxx/include/__cxx03/__algorithm/make_heap.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_MAKE_HEAP_H
-#define _LIBCPP___ALGORITHM_MAKE_HEAP_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_MAKE_HEAP_H
+#define _LIBCPP___CXX03___ALGORITHM_MAKE_HEAP_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -57,4 +57,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_MAKE_HEAP_H
+#endif // _LIBCPP___CXX03___ALGORITHM_MAKE_HEAP_H
diff --git a/libcxx/include/__cxx03/__algorithm/make_projected.h b/libcxx/include/__cxx03/__algorithm/make_projected.h
index 8368e269385f..ac17c2bba7ba 100644
--- a/libcxx/include/__cxx03/__algorithm/make_projected.h
+++ b/libcxx/include/__cxx03/__algorithm/make_projected.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_MAKE_PROJECTED_H
-#define _LIBCPP___ALGORITHM_MAKE_PROJECTED_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_MAKE_PROJECTED_H
+#define _LIBCPP___CXX03___ALGORITHM_MAKE_PROJECTED_H
#include <__cxx03/__concepts/same_as.h>
#include <__cxx03/__config>
@@ -103,4 +103,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___ALGORITHM_MAKE_PROJECTED_H
+#endif // _LIBCPP___CXX03___ALGORITHM_MAKE_PROJECTED_H
diff --git a/libcxx/include/__cxx03/__algorithm/max.h b/libcxx/include/__cxx03/__algorithm/max.h
index 983e81cd24bc..7726d1682715 100644
--- a/libcxx/include/__cxx03/__algorithm/max.h
+++ b/libcxx/include/__cxx03/__algorithm/max.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_MAX_H
-#define _LIBCPP___ALGORITHM_MAX_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_MAX_H
+#define _LIBCPP___CXX03___ALGORITHM_MAX_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -55,4 +55,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_MAX_H
+#endif // _LIBCPP___CXX03___ALGORITHM_MAX_H
diff --git a/libcxx/include/__cxx03/__algorithm/max_element.h b/libcxx/include/__cxx03/__algorithm/max_element.h
index 686c116ab010..20a22e74c8be 100644
--- a/libcxx/include/__cxx03/__algorithm/max_element.h
+++ b/libcxx/include/__cxx03/__algorithm/max_element.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_MAX_ELEMENT_H
-#define _LIBCPP___ALGORITHM_MAX_ELEMENT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_MAX_ELEMENT_H
+#define _LIBCPP___CXX03___ALGORITHM_MAX_ELEMENT_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -48,4 +48,4 @@ max_element(_ForwardIterator __first, _ForwardIterator __last) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_MAX_ELEMENT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_MAX_ELEMENT_H
diff --git a/libcxx/include/__cxx03/__algorithm/merge.h b/libcxx/include/__cxx03/__algorithm/merge.h
index 41b0c9263e2f..90b986f747a3 100644
--- a/libcxx/include/__cxx03/__algorithm/merge.h
+++ b/libcxx/include/__cxx03/__algorithm/merge.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_MERGE_H
-#define _LIBCPP___ALGORITHM_MERGE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_MERGE_H
+#define _LIBCPP___CXX03___ALGORITHM_MERGE_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -66,4 +66,4 @@ merge(_InputIterator1 __first1,
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_MERGE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_MERGE_H
diff --git a/libcxx/include/__cxx03/__algorithm/min.h b/libcxx/include/__cxx03/__algorithm/min.h
index 836f8f002874..d4801ab3330d 100644
--- a/libcxx/include/__cxx03/__algorithm/min.h
+++ b/libcxx/include/__cxx03/__algorithm/min.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_MIN_H
-#define _LIBCPP___ALGORITHM_MIN_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_MIN_H
+#define _LIBCPP___CXX03___ALGORITHM_MIN_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -55,4 +55,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_MIN_H
+#endif // _LIBCPP___CXX03___ALGORITHM_MIN_H
diff --git a/libcxx/include/__cxx03/__algorithm/min_element.h b/libcxx/include/__cxx03/__algorithm/min_element.h
index d625ab0886cf..aa4f6013e875 100644
--- a/libcxx/include/__cxx03/__algorithm/min_element.h
+++ b/libcxx/include/__cxx03/__algorithm/min_element.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_MIN_ELEMENT_H
-#define _LIBCPP___ALGORITHM_MIN_ELEMENT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_MIN_ELEMENT_H
+#define _LIBCPP___CXX03___ALGORITHM_MIN_ELEMENT_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -68,4 +68,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_MIN_ELEMENT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_MIN_ELEMENT_H
diff --git a/libcxx/include/__cxx03/__algorithm/min_max_result.h b/libcxx/include/__cxx03/__algorithm/min_max_result.h
index 2b56f88f1f9f..2098aada70a5 100644
--- a/libcxx/include/__cxx03/__algorithm/min_max_result.h
+++ b/libcxx/include/__cxx03/__algorithm/min_max_result.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_MIN_MAX_RESULT_H
-#define _LIBCPP___ALGORITHM_MIN_MAX_RESULT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_MIN_MAX_RESULT_H
+#define _LIBCPP___CXX03___ALGORITHM_MIN_MAX_RESULT_H
#include <__cxx03/__concepts/convertible_to.h>
#include <__cxx03/__config>
@@ -53,4 +53,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_MIN_MAX_RESULT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_MIN_MAX_RESULT_H
diff --git a/libcxx/include/__cxx03/__algorithm/minmax.h b/libcxx/include/__cxx03/__algorithm/minmax.h
index a36970a0565f..e09a5b04104a 100644
--- a/libcxx/include/__cxx03/__algorithm/minmax.h
+++ b/libcxx/include/__cxx03/__algorithm/minmax.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_MINMAX_H
-#define _LIBCPP___ALGORITHM_MINMAX_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_MINMAX_H
+#define _LIBCPP___CXX03___ALGORITHM_MINMAX_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/minmax_element.h>
@@ -56,4 +56,4 @@ minmax(initializer_list<_Tp> __t) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_MINMAX_H
+#endif // _LIBCPP___CXX03___ALGORITHM_MINMAX_H
diff --git a/libcxx/include/__cxx03/__algorithm/minmax_element.h b/libcxx/include/__cxx03/__algorithm/minmax_element.h
index 629878409235..673c22020ef3 100644
--- a/libcxx/include/__cxx03/__algorithm/minmax_element.h
+++ b/libcxx/include/__cxx03/__algorithm/minmax_element.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_MINMAX_ELEMENT_H
-#define _LIBCPP___ALGORITHM_MINMAX_ELEMENT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_MINMAX_ELEMENT_H
+#define _LIBCPP___CXX03___ALGORITHM_MINMAX_ELEMENT_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__config>
@@ -97,4 +97,4 @@ minmax_element(_ForwardIterator __first, _ForwardIterator __last) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_MINMAX_ELEMENT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_MINMAX_ELEMENT_H
diff --git a/libcxx/include/__cxx03/__algorithm/mismatch.h b/libcxx/include/__cxx03/__algorithm/mismatch.h
index 1eb9717c9ae6..163bc8fb165c 100644
--- a/libcxx/include/__cxx03/__algorithm/mismatch.h
+++ b/libcxx/include/__cxx03/__algorithm/mismatch.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_MISMATCH_H
-#define _LIBCPP___ALGORITHM_MISMATCH_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_MISMATCH_H
+#define _LIBCPP___CXX03___ALGORITHM_MISMATCH_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/min.h>
@@ -214,4 +214,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_MISMATCH_H
+#endif // _LIBCPP___CXX03___ALGORITHM_MISMATCH_H
diff --git a/libcxx/include/__cxx03/__algorithm/move.h b/libcxx/include/__cxx03/__algorithm/move.h
index 11366afe99ff..cb158e15f19f 100644
--- a/libcxx/include/__cxx03/__algorithm/move.h
+++ b/libcxx/include/__cxx03/__algorithm/move.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_MOVE_H
-#define _LIBCPP___ALGORITHM_MOVE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_MOVE_H
+#define _LIBCPP___CXX03___ALGORITHM_MOVE_H
#include <__cxx03/__algorithm/copy_move_common.h>
#include <__cxx03/__algorithm/for_each_segment.h>
@@ -124,4 +124,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_MOVE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_MOVE_H
diff --git a/libcxx/include/__cxx03/__algorithm/move_backward.h b/libcxx/include/__cxx03/__algorithm/move_backward.h
index 9d3e87bb9667..d4da82382a4c 100644
--- a/libcxx/include/__cxx03/__algorithm/move_backward.h
+++ b/libcxx/include/__cxx03/__algorithm/move_backward.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_MOVE_BACKWARD_H
-#define _LIBCPP___ALGORITHM_MOVE_BACKWARD_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_MOVE_BACKWARD_H
+#define _LIBCPP___CXX03___ALGORITHM_MOVE_BACKWARD_H
#include <__cxx03/__algorithm/copy_move_common.h>
#include <__cxx03/__algorithm/iterator_operations.h>
@@ -134,4 +134,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_MOVE_BACKWARD_H
+#endif // _LIBCPP___CXX03___ALGORITHM_MOVE_BACKWARD_H
diff --git a/libcxx/include/__cxx03/__algorithm/next_permutation.h b/libcxx/include/__cxx03/__algorithm/next_permutation.h
index 02aa9113d183..7d6b2ddad505 100644
--- a/libcxx/include/__cxx03/__algorithm/next_permutation.h
+++ b/libcxx/include/__cxx03/__algorithm/next_permutation.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_NEXT_PERMUTATION_H
-#define _LIBCPP___ALGORITHM_NEXT_PERMUTATION_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_NEXT_PERMUTATION_H
+#define _LIBCPP___CXX03___ALGORITHM_NEXT_PERMUTATION_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -72,4 +72,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_NEXT_PERMUTATION_H
+#endif // _LIBCPP___CXX03___ALGORITHM_NEXT_PERMUTATION_H
diff --git a/libcxx/include/__cxx03/__algorithm/none_of.h b/libcxx/include/__cxx03/__algorithm/none_of.h
index e5d095da2348..91162ec24ab1 100644
--- a/libcxx/include/__cxx03/__algorithm/none_of.h
+++ b/libcxx/include/__cxx03/__algorithm/none_of.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_NONE_OF_H
-#define _LIBCPP___ALGORITHM_NONE_OF_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_NONE_OF_H
+#define _LIBCPP___CXX03___ALGORITHM_NONE_OF_H
#include <__cxx03/__config>
@@ -29,4 +29,4 @@ none_of(_InputIterator __first, _InputIterator __last, _Predicate __pred) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_NONE_OF_H
+#endif // _LIBCPP___CXX03___ALGORITHM_NONE_OF_H
diff --git a/libcxx/include/__cxx03/__algorithm/nth_element.h b/libcxx/include/__cxx03/__algorithm/nth_element.h
index f840864c531c..232966e0d267 100644
--- a/libcxx/include/__cxx03/__algorithm/nth_element.h
+++ b/libcxx/include/__cxx03/__algorithm/nth_element.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_NTH_ELEMENT_H
-#define _LIBCPP___ALGORITHM_NTH_ELEMENT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_NTH_ELEMENT_H
+#define _LIBCPP___CXX03___ALGORITHM_NTH_ELEMENT_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -258,4 +258,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_NTH_ELEMENT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_NTH_ELEMENT_H
diff --git a/libcxx/include/__cxx03/__algorithm/partial_sort.h b/libcxx/include/__cxx03/__algorithm/partial_sort.h
index 6984b1c91f20..04597fc32b9a 100644
--- a/libcxx/include/__cxx03/__algorithm/partial_sort.h
+++ b/libcxx/include/__cxx03/__algorithm/partial_sort.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_PARTIAL_SORT_H
-#define _LIBCPP___ALGORITHM_PARTIAL_SORT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_PARTIAL_SORT_H
+#define _LIBCPP___CXX03___ALGORITHM_PARTIAL_SORT_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -88,4 +88,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_PARTIAL_SORT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_PARTIAL_SORT_H
diff --git a/libcxx/include/__cxx03/__algorithm/partial_sort_copy.h b/libcxx/include/__cxx03/__algorithm/partial_sort_copy.h
index c8849b9f6175..d4b5fafba967 100644
--- a/libcxx/include/__cxx03/__algorithm/partial_sort_copy.h
+++ b/libcxx/include/__cxx03/__algorithm/partial_sort_copy.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_PARTIAL_SORT_COPY_H
-#define _LIBCPP___ALGORITHM_PARTIAL_SORT_COPY_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_PARTIAL_SORT_COPY_H
+#define _LIBCPP___CXX03___ALGORITHM_PARTIAL_SORT_COPY_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -103,4 +103,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_PARTIAL_SORT_COPY_H
+#endif // _LIBCPP___CXX03___ALGORITHM_PARTIAL_SORT_COPY_H
diff --git a/libcxx/include/__cxx03/__algorithm/partition.h b/libcxx/include/__cxx03/__algorithm/partition.h
index 5f26384b7c8e..d39dbbbd0b18 100644
--- a/libcxx/include/__cxx03/__algorithm/partition.h
+++ b/libcxx/include/__cxx03/__algorithm/partition.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_PARTITION_H
-#define _LIBCPP___ALGORITHM_PARTITION_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_PARTITION_H
+#define _LIBCPP___CXX03___ALGORITHM_PARTITION_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__config>
@@ -87,4 +87,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_PARTITION_H
+#endif // _LIBCPP___CXX03___ALGORITHM_PARTITION_H
diff --git a/libcxx/include/__cxx03/__algorithm/partition_copy.h b/libcxx/include/__cxx03/__algorithm/partition_copy.h
index 916a1c301d6d..18d82cfa2032 100644
--- a/libcxx/include/__cxx03/__algorithm/partition_copy.h
+++ b/libcxx/include/__cxx03/__algorithm/partition_copy.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_PARTITION_COPY_H
-#define _LIBCPP___ALGORITHM_PARTITION_COPY_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_PARTITION_COPY_H
+#define _LIBCPP___CXX03___ALGORITHM_PARTITION_COPY_H
#include <__cxx03/__config>
#include <__cxx03/__iterator/iterator_traits.h>
@@ -40,4 +40,4 @@ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 pair<_OutputIterator1, _Outp
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_PARTITION_COPY_H
+#endif // _LIBCPP___CXX03___ALGORITHM_PARTITION_COPY_H
diff --git a/libcxx/include/__cxx03/__algorithm/partition_point.h b/libcxx/include/__cxx03/__algorithm/partition_point.h
index c28ee8cae0e6..ccf203bbf245 100644
--- a/libcxx/include/__cxx03/__algorithm/partition_point.h
+++ b/libcxx/include/__cxx03/__algorithm/partition_point.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_PARTITION_POINT_H
-#define _LIBCPP___ALGORITHM_PARTITION_POINT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_PARTITION_POINT_H
+#define _LIBCPP___CXX03___ALGORITHM_PARTITION_POINT_H
#include <__cxx03/__algorithm/half_positive.h>
#include <__cxx03/__config>
@@ -41,4 +41,4 @@ partition_point(_ForwardIterator __first, _ForwardIterator __last, _Predicate __
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_PARTITION_POINT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_PARTITION_POINT_H
diff --git a/libcxx/include/__cxx03/__algorithm/pop_heap.h b/libcxx/include/__cxx03/__algorithm/pop_heap.h
index 800cabf94eaa..5d19e902ff13 100644
--- a/libcxx/include/__cxx03/__algorithm/pop_heap.h
+++ b/libcxx/include/__cxx03/__algorithm/pop_heap.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_POP_HEAP_H
-#define _LIBCPP___ALGORITHM_POP_HEAP_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_POP_HEAP_H
+#define _LIBCPP___CXX03___ALGORITHM_POP_HEAP_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -78,4 +78,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_POP_HEAP_H
+#endif // _LIBCPP___CXX03___ALGORITHM_POP_HEAP_H
diff --git a/libcxx/include/__cxx03/__algorithm/prev_permutation.h b/libcxx/include/__cxx03/__algorithm/prev_permutation.h
index 2569156eac64..b050d9cf337a 100644
--- a/libcxx/include/__cxx03/__algorithm/prev_permutation.h
+++ b/libcxx/include/__cxx03/__algorithm/prev_permutation.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_PREV_PERMUTATION_H
-#define _LIBCPP___ALGORITHM_PREV_PERMUTATION_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_PREV_PERMUTATION_H
+#define _LIBCPP___CXX03___ALGORITHM_PREV_PERMUTATION_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -72,4 +72,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_PREV_PERMUTATION_H
+#endif // _LIBCPP___CXX03___ALGORITHM_PREV_PERMUTATION_H
diff --git a/libcxx/include/__cxx03/__algorithm/pstl.h b/libcxx/include/__cxx03/__algorithm/pstl.h
index 8dea15e09cb4..4fc0d4799610 100644
--- a/libcxx/include/__cxx03/__algorithm/pstl.h
+++ b/libcxx/include/__cxx03/__algorithm/pstl.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_PSTL_H
-#define _LIBCPP___ALGORITHM_PSTL_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_PSTL_H
+#define _LIBCPP___CXX03___ALGORITHM_PSTL_H
#include <__cxx03/__config>
@@ -660,4 +660,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_PSTL_H
+#endif // _LIBCPP___CXX03___ALGORITHM_PSTL_H
diff --git a/libcxx/include/__cxx03/__algorithm/push_heap.h b/libcxx/include/__cxx03/__algorithm/push_heap.h
index de4dcc33fb1f..9ef44cdb3fee 100644
--- a/libcxx/include/__cxx03/__algorithm/push_heap.h
+++ b/libcxx/include/__cxx03/__algorithm/push_heap.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_PUSH_HEAP_H
-#define _LIBCPP___ALGORITHM_PUSH_HEAP_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_PUSH_HEAP_H
+#define _LIBCPP___CXX03___ALGORITHM_PUSH_HEAP_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -81,4 +81,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_PUSH_HEAP_H
+#endif // _LIBCPP___CXX03___ALGORITHM_PUSH_HEAP_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_adjacent_find.h b/libcxx/include/__cxx03/__algorithm/ranges_adjacent_find.h
index 26caf4fe40ae..e62db90f83c1 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_adjacent_find.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_adjacent_find.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_ADJACENT_FIND_H
-#define _LIBCPP___ALGORITHM_RANGES_ADJACENT_FIND_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_ADJACENT_FIND_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_ADJACENT_FIND_H
#include <__cxx03/__config>
#include <__cxx03/__functional/identity.h>
@@ -80,4 +80,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_ADJACENT_FIND_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_ADJACENT_FIND_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_all_of.h b/libcxx/include/__cxx03/__algorithm/ranges_all_of.h
index 7e92c37b8fd9..e03f48b23c22 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_all_of.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_all_of.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_ALL_OF_H
-#define _LIBCPP___ALGORITHM_RANGES_ALL_OF_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_ALL_OF_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_ALL_OF_H
#include <__cxx03/__config>
#include <__cxx03/__functional/identity.h>
@@ -71,4 +71,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_ALL_OF_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_ALL_OF_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_any_of.h b/libcxx/include/__cxx03/__algorithm/ranges_any_of.h
index d20177223fc6..23b21f9a8bf1 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_any_of.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_any_of.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_ANY_OF_H
-#define _LIBCPP___ALGORITHM_RANGES_ANY_OF_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_ANY_OF_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_ANY_OF_H
#include <__cxx03/__config>
#include <__cxx03/__functional/identity.h>
@@ -71,4 +71,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_ANY_OF_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_ANY_OF_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_binary_search.h b/libcxx/include/__cxx03/__algorithm/ranges_binary_search.h
index 675cc1ac8074..18ebf2b07bdb 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_binary_search.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_binary_search.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_BINARY_SEARCH_H
-#define _LIBCPP___ALGORITHM_RANGES_BINARY_SEARCH_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_BINARY_SEARCH_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_BINARY_SEARCH_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__algorithm/lower_bound.h>
@@ -70,4 +70,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_BINARY_SEARCH_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_BINARY_SEARCH_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_clamp.h b/libcxx/include/__cxx03/__algorithm/ranges_clamp.h
index 3f9f6b1f9944..da4dda06a225 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_clamp.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_clamp.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_CLAMP_H
-#define _LIBCPP___ALGORITHM_RANGES_CLAMP_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_CLAMP_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_CLAMP_H
#include <__cxx03/__assert>
#include <__cxx03/__config>
@@ -63,4 +63,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_CLAMP_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_CLAMP_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_contains.h b/libcxx/include/__cxx03/__algorithm/ranges_contains.h
index 312de975efa5..00b9d08c83c6 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_contains.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_contains.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_CONTAINS_H
-#define _LIBCPP___ALGORITHM_RANGES_CONTAINS_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_CONTAINS_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_CONTAINS_H
#include <__cxx03/__algorithm/ranges_find.h>
#include <__cxx03/__config>
@@ -63,4 +63,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_CONTAINS_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_CONTAINS_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_contains_subrange.h b/libcxx/include/__cxx03/__algorithm/ranges_contains_subrange.h
index d3302f1c915d..6ac67b43ca6c 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_contains_subrange.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_contains_subrange.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_CONTAINS_SUBRANGE_H
-#define _LIBCPP___ALGORITHM_RANGES_CONTAINS_SUBRANGE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_CONTAINS_SUBRANGE_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_CONTAINS_SUBRANGE_H
#include <__cxx03/__algorithm/ranges_search.h>
#include <__cxx03/__config>
@@ -94,4 +94,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_CONTAINS_SUBRANGE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_CONTAINS_SUBRANGE_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_copy.h b/libcxx/include/__cxx03/__algorithm/ranges_copy.h
index cf3f9974936a..e94a2089a692 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_copy.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_copy.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_COPY_H
-#define _LIBCPP___ALGORITHM_RANGES_COPY_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_COPY_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_COPY_H
#include <__cxx03/__algorithm/copy.h>
#include <__cxx03/__algorithm/in_out_result.h>
@@ -68,4 +68,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_COPY_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_COPY_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_copy_backward.h b/libcxx/include/__cxx03/__algorithm/ranges_copy_backward.h
index a6bb781397de..90928177491f 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_copy_backward.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_copy_backward.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_COPY_BACKWARD_H
-#define _LIBCPP___ALGORITHM_RANGES_COPY_BACKWARD_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_COPY_BACKWARD_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_COPY_BACKWARD_H
#include <__cxx03/__algorithm/copy_backward.h>
#include <__cxx03/__algorithm/in_out_result.h>
@@ -66,4 +66,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_COPY_BACKWARD_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_COPY_BACKWARD_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_copy_if.h b/libcxx/include/__cxx03/__algorithm/ranges_copy_if.h
index f0d3005a4982..814d408cb703 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_copy_if.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_copy_if.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_COPY_IF_H
-#define _LIBCPP___ALGORITHM_RANGES_COPY_IF_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_COPY_IF_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_COPY_IF_H
#include <__cxx03/__algorithm/in_out_result.h>
#include <__cxx03/__config>
@@ -84,4 +84,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_COPY_IF_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_COPY_IF_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_copy_n.h b/libcxx/include/__cxx03/__algorithm/ranges_copy_n.h
index 92f10e7466e5..67639e7c19af 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_copy_n.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_copy_n.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_COPY_N_H
-#define _LIBCPP___ALGORITHM_RANGES_COPY_N_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_COPY_N_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_COPY_N_H
#include <__cxx03/__algorithm/copy.h>
#include <__cxx03/__algorithm/in_out_result.h>
@@ -78,4 +78,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_COPY_N_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_COPY_N_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_count.h b/libcxx/include/__cxx03/__algorithm/ranges_count.h
index ae24b57c17d0..b8553badfce0 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_count.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_count.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_COUNT_H
-#define _LIBCPP___ALGORITHM_RANGES_COUNT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_COUNT_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_COUNT_H
#include <__cxx03/__algorithm/count.h>
#include <__cxx03/__algorithm/iterator_operations.h>
@@ -63,4 +63,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_COUNT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_COUNT_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_count_if.h b/libcxx/include/__cxx03/__algorithm/ranges_count_if.h
index ecadf6fac712..10850c857d6d 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_count_if.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_count_if.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_COUNT_IF_H
-#define _LIBCPP___ALGORITHM_RANGES_COUNT_IF_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_COUNT_IF_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_COUNT_IF_H
#include <__cxx03/__config>
#include <__cxx03/__functional/identity.h>
@@ -76,4 +76,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_COUNT_IF_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_COUNT_IF_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_ends_with.h b/libcxx/include/__cxx03/__algorithm/ranges_ends_with.h
index 85329f8f4e58..39dcb79559c2 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_ends_with.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_ends_with.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_ENDS_WITH_H
-#define _LIBCPP___ALGORITHM_RANGES_ENDS_WITH_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_ENDS_WITH_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_ENDS_WITH_H
#include <__cxx03/__algorithm/ranges_equal.h>
#include <__cxx03/__algorithm/ranges_starts_with.h>
@@ -198,4 +198,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_ENDS_WITH_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_ENDS_WITH_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_equal.h b/libcxx/include/__cxx03/__algorithm/ranges_equal.h
index b89235a29941..abc701a9f118 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_equal.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_equal.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_EQUAL_H
-#define _LIBCPP___ALGORITHM_RANGES_EQUAL_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_EQUAL_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_EQUAL_H
#include <__cxx03/__algorithm/equal.h>
#include <__cxx03/__algorithm/unwrap_range.h>
@@ -106,4 +106,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_EQUAL_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_EQUAL_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_equal_range.h b/libcxx/include/__cxx03/__algorithm/ranges_equal_range.h
index d6a38e5edd31..64e686704efd 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_equal_range.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_equal_range.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_EQUAL_RANGE_H
-#define _LIBCPP___ALGORITHM_RANGES_EQUAL_RANGE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_EQUAL_RANGE_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_EQUAL_RANGE_H
#include <__cxx03/__algorithm/equal_range.h>
#include <__cxx03/__algorithm/iterator_operations.h>
@@ -77,4 +77,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_EQUAL_RANGE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_EQUAL_RANGE_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_fill.h b/libcxx/include/__cxx03/__algorithm/ranges_fill.h
index 56008ec7304d..f85a1f4ed21c 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_fill.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_fill.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_FILL_H
-#define _LIBCPP___ALGORITHM_RANGES_FILL_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_FILL_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_FILL_H
#include <__cxx03/__algorithm/ranges_fill_n.h>
#include <__cxx03/__config>
@@ -59,4 +59,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_FILL_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_FILL_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_fill_n.h b/libcxx/include/__cxx03/__algorithm/ranges_fill_n.h
index bb00676943a6..07f04c293451 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_fill_n.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_fill_n.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_FILL_N_H
-#define _LIBCPP___ALGORITHM_RANGES_FILL_N_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_FILL_N_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_FILL_N_H
#include <__cxx03/__config>
#include <__cxx03/__iterator/concepts.h>
@@ -50,4 +50,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_FILL_N_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_FILL_N_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_find.h b/libcxx/include/__cxx03/__algorithm/ranges_find.h
index 896fe920fd81..0b2c865476db 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_find.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_find.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_FIND_H
-#define _LIBCPP___ALGORITHM_RANGES_FIND_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_FIND_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_FIND_H
#include <__cxx03/__algorithm/find.h>
#include <__cxx03/__algorithm/ranges_find_if.h>
@@ -77,4 +77,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_FIND_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_FIND_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_find_end.h b/libcxx/include/__cxx03/__algorithm/ranges_find_end.h
index c71f32546afb..117753b3d86b 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_find_end.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_find_end.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_FIND_END_H
-#define _LIBCPP___ALGORITHM_RANGES_FIND_END_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_FIND_END_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_FIND_END_H
#include <__cxx03/__algorithm/find_end.h>
#include <__cxx03/__algorithm/iterator_operations.h>
@@ -100,4 +100,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_FIND_END_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_FIND_END_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_find_first_of.h b/libcxx/include/__cxx03/__algorithm/ranges_find_first_of.h
index 23ae82eb4685..ebf01681419c 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_find_first_of.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_find_first_of.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_FIND_FIRST_OF_H
-#define _LIBCPP___ALGORITHM_RANGES_FIND_FIRST_OF_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_FIND_FIRST_OF_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_FIND_FIRST_OF_H
#include <__cxx03/__config>
#include <__cxx03/__functional/identity.h>
@@ -103,4 +103,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_FIND_FIRST_OF_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_FIND_FIRST_OF_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_find_if.h b/libcxx/include/__cxx03/__algorithm/ranges_find_if.h
index a518f532a73e..a1098e0de182 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_find_if.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_find_if.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_FIND_IF_H
-#define _LIBCPP___ALGORITHM_RANGES_FIND_IF_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_FIND_IF_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_FIND_IF_H
#include <__cxx03/__config>
#include <__cxx03/__functional/identity.h>
@@ -72,4 +72,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_FIND_IF_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_FIND_IF_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_find_if_not.h b/libcxx/include/__cxx03/__algorithm/ranges_find_if_not.h
index c54d565188c4..6bc8f1639587 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_find_if_not.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_find_if_not.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_FIND_IF_NOT_H
-#define _LIBCPP___ALGORITHM_RANGES_FIND_IF_NOT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_FIND_IF_NOT_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_FIND_IF_NOT_H
#include <__cxx03/__algorithm/ranges_find_if.h>
#include <__cxx03/__config>
@@ -66,4 +66,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_FIND_IF_NOT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_FIND_IF_NOT_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_find_last.h b/libcxx/include/__cxx03/__algorithm/ranges_find_last.h
index 3028dc5bf53c..506452c7c001 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_find_last.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_find_last.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_FIND_LAST_H
-#define _LIBCPP___ALGORITHM_RANGES_FIND_LAST_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_FIND_LAST_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_FIND_LAST_H
#include <__cxx03/__config>
#include <__cxx03/__functional/identity.h>
@@ -172,4 +172,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_FIND_LAST_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_FIND_LAST_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_for_each.h b/libcxx/include/__cxx03/__algorithm/ranges_for_each.h
index eca0f35e49fb..3e926e9d2c4d 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_for_each.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_for_each.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_FOR_EACH_H
-#define _LIBCPP___ALGORITHM_RANGES_FOR_EACH_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_FOR_EACH_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_FOR_EACH_H
#include <__cxx03/__algorithm/in_fun_result.h>
#include <__cxx03/__config>
@@ -78,4 +78,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_FOR_EACH_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_FOR_EACH_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_for_each_n.h b/libcxx/include/__cxx03/__algorithm/ranges_for_each_n.h
index fa3051fa8a0a..96df21129854 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_for_each_n.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_for_each_n.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_FOR_EACH_N_H
-#define _LIBCPP___ALGORITHM_RANGES_FOR_EACH_N_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_FOR_EACH_N_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_FOR_EACH_N_H
#include <__cxx03/__algorithm/in_fun_result.h>
#include <__cxx03/__config>
@@ -61,4 +61,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_FOR_EACH_N_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_FOR_EACH_N_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_generate.h b/libcxx/include/__cxx03/__algorithm/ranges_generate.h
index 570ed73a2955..96d43592d2a7 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_generate.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_generate.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_GENERATE_H
-#define _LIBCPP___ALGORITHM_RANGES_GENERATE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_GENERATE_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_GENERATE_H
#include <__cxx03/__concepts/constructible.h>
#include <__cxx03/__concepts/invocable.h>
@@ -70,4 +70,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_GENERATE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_GENERATE_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_generate_n.h b/libcxx/include/__cxx03/__algorithm/ranges_generate_n.h
index b7c684be2e03..dd43e2161871 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_generate_n.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_generate_n.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_GENERATE_N_H
-#define _LIBCPP___ALGORITHM_RANGES_GENERATE_N_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_GENERATE_N_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_GENERATE_N_H
#include <__cxx03/__concepts/constructible.h>
#include <__cxx03/__concepts/invocable.h>
@@ -62,4 +62,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_GENERATE_N_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_GENERATE_N_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_includes.h b/libcxx/include/__cxx03/__algorithm/ranges_includes.h
index 3abe69118f20..587a0eda16da 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_includes.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_includes.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_INCLUDES_H
-#define _LIBCPP___ALGORITHM_RANGES_INCLUDES_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_INCLUDES_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_INCLUDES_H
#include <__cxx03/__algorithm/includes.h>
#include <__cxx03/__algorithm/make_projected.h>
@@ -95,4 +95,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_INCLUDES_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_INCLUDES_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_inplace_merge.h b/libcxx/include/__cxx03/__algorithm/ranges_inplace_merge.h
index ebb711d73120..34668f4d57ba 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_inplace_merge.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_inplace_merge.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_INPLACE_MERGE_H
-#define _LIBCPP___ALGORITHM_RANGES_INPLACE_MERGE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_INPLACE_MERGE_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_INPLACE_MERGE_H
#include <__cxx03/__algorithm/inplace_merge.h>
#include <__cxx03/__algorithm/iterator_operations.h>
@@ -81,4 +81,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_INPLACE_MERGE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_INPLACE_MERGE_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_is_heap.h b/libcxx/include/__cxx03/__algorithm/ranges_is_heap.h
index 7c6b60a56f6c..47112bdddd05 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_is_heap.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_is_heap.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_IS_HEAP_H
-#define _LIBCPP___ALGORITHM_RANGES_IS_HEAP_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_IS_HEAP_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_IS_HEAP_H
#include <__cxx03/__algorithm/is_heap_until.h>
#include <__cxx03/__algorithm/make_projected.h>
@@ -78,4 +78,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_IS_HEAP_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_IS_HEAP_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_is_heap_until.h b/libcxx/include/__cxx03/__algorithm/ranges_is_heap_until.h
index e32e802f4473..d7176f784037 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_is_heap_until.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_is_heap_until.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_IS_HEAP_UNTIL_H
-#define _LIBCPP___ALGORITHM_RANGES_IS_HEAP_UNTIL_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_IS_HEAP_UNTIL_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_IS_HEAP_UNTIL_H
#include <__cxx03/__algorithm/is_heap_until.h>
#include <__cxx03/__algorithm/make_projected.h>
@@ -78,4 +78,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_IS_HEAP_UNTIL_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_IS_HEAP_UNTIL_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_is_partitioned.h b/libcxx/include/__cxx03/__algorithm/ranges_is_partitioned.h
index 87d59d0410fe..d746f55322e7 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_is_partitioned.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_is_partitioned.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_IS_PARTITIONED_H
-#define _LIBCPP___ALGORITHM_RANGES_IS_PARTITIONED_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_IS_PARTITIONED_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_IS_PARTITIONED_H
#include <__cxx03/__config>
#include <__cxx03/__functional/identity.h>
@@ -83,4 +83,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_IS_PARTITIONED_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_IS_PARTITIONED_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_is_permutation.h b/libcxx/include/__cxx03/__algorithm/ranges_is_permutation.h
index a894854a8b65..31d85e5fb27c 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_is_permutation.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_is_permutation.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_IS_PERMUTATION_H
-#define _LIBCPP___ALGORITHM_RANGES_IS_PERMUTATION_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_IS_PERMUTATION_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_IS_PERMUTATION_H
#include <__cxx03/__algorithm/is_permutation.h>
#include <__cxx03/__algorithm/iterator_operations.h>
@@ -104,4 +104,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_IS_PERMUTATION_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_IS_PERMUTATION_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_is_sorted.h b/libcxx/include/__cxx03/__algorithm/ranges_is_sorted.h
index 201673553fd4..f5c4e6f4191a 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_is_sorted.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_is_sorted.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP__ALGORITHM_RANGES_IS_SORTED_H
-#define _LIBCPP__ALGORITHM_RANGES_IS_SORTED_H
+#ifndef _LIBCPP___CXX03__ALGORITHM_RANGES_IS_SORTED_H
+#define _LIBCPP___CXX03__ALGORITHM_RANGES_IS_SORTED_H
#include <__cxx03/__algorithm/ranges_is_sorted_until.h>
#include <__cxx03/__config>
@@ -64,4 +64,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP__ALGORITHM_RANGES_IS_SORTED_H
+#endif // _LIBCPP___CXX03__ALGORITHM_RANGES_IS_SORTED_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_is_sorted_until.h b/libcxx/include/__cxx03/__algorithm/ranges_is_sorted_until.h
index 713d2664884a..701c01749c26 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_is_sorted_until.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_is_sorted_until.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP__ALGORITHM_RANGES_IS_SORTED_UNTIL_H
-#define _LIBCPP__ALGORITHM_RANGES_IS_SORTED_UNTIL_H
+#ifndef _LIBCPP___CXX03__ALGORITHM_RANGES_IS_SORTED_UNTIL_H
+#define _LIBCPP___CXX03__ALGORITHM_RANGES_IS_SORTED_UNTIL_H
#include <__cxx03/__config>
#include <__cxx03/__functional/identity.h>
@@ -79,4 +79,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP__ALGORITHM_RANGES_IS_SORTED_UNTIL_H
+#endif // _LIBCPP___CXX03__ALGORITHM_RANGES_IS_SORTED_UNTIL_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_iterator_concept.h b/libcxx/include/__cxx03/__algorithm/ranges_iterator_concept.h
index eb2025c234ba..1ff6328cfc15 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_iterator_concept.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_iterator_concept.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_ITERATOR_CONCEPT_H
-#define _LIBCPP___ALGORITHM_RANGES_ITERATOR_CONCEPT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_ITERATOR_CONCEPT_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_ITERATOR_CONCEPT_H
#include <__cxx03/__config>
#include <__cxx03/__iterator/concepts.h>
@@ -53,4 +53,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_ITERATOR_CONCEPT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_ITERATOR_CONCEPT_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_lexicographical_compare.h b/libcxx/include/__cxx03/__algorithm/ranges_lexicographical_compare.h
index ba87a20b425b..e3fec1c41651 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_lexicographical_compare.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_lexicographical_compare.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_LEXICOGRAPHICAL_COMPARE_H
-#define _LIBCPP___ALGORITHM_RANGES_LEXICOGRAPHICAL_COMPARE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_LEXICOGRAPHICAL_COMPARE_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_LEXICOGRAPHICAL_COMPARE_H
#include <__cxx03/__config>
#include <__cxx03/__functional/identity.h>
@@ -103,4 +103,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_LEXICOGRAPHICAL_COMPARE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_LEXICOGRAPHICAL_COMPARE_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_lower_bound.h b/libcxx/include/__cxx03/__algorithm/ranges_lower_bound.h
index 2c312866ee93..bed4c815e5b4 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_lower_bound.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_lower_bound.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_LOWER_BOUND_H
-#define _LIBCPP___ALGORITHM_RANGES_LOWER_BOUND_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_LOWER_BOUND_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_LOWER_BOUND_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__algorithm/lower_bound.h>
@@ -70,4 +70,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_LOWER_BOUND_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_LOWER_BOUND_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_make_heap.h b/libcxx/include/__cxx03/__algorithm/ranges_make_heap.h
index 5a00575abbd3..ba8ccb89baad 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_make_heap.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_make_heap.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_MAKE_HEAP_H
-#define _LIBCPP___ALGORITHM_RANGES_MAKE_HEAP_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_MAKE_HEAP_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_MAKE_HEAP_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__algorithm/make_heap.h>
@@ -82,4 +82,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_MAKE_HEAP_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_MAKE_HEAP_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_max.h b/libcxx/include/__cxx03/__algorithm/ranges_max.h
index d61a54fa7fff..58ea541d3e49 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_max.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_max.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_MAX_H
-#define _LIBCPP___ALGORITHM_RANGES_MAX_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_MAX_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_MAX_H
#include <__cxx03/__algorithm/ranges_min_element.h>
#include <__cxx03/__assert>
@@ -100,4 +100,4 @@ _LIBCPP_POP_MACROS
#endif // _LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___ALGORITHM_RANGES_MAX_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_MAX_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_max_element.h b/libcxx/include/__cxx03/__algorithm/ranges_max_element.h
index 6bcf77bc29d4..cbe50d1bf412 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_max_element.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_max_element.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_MAX_ELEMENT_H
-#define _LIBCPP___ALGORITHM_RANGES_MAX_ELEMENT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_MAX_ELEMENT_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_MAX_ELEMENT_H
#include <__cxx03/__algorithm/ranges_min_element.h>
#include <__cxx03/__config>
@@ -66,4 +66,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_MAX_ELEMENT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_MAX_ELEMENT_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_merge.h b/libcxx/include/__cxx03/__algorithm/ranges_merge.h
index 697dfdae0b30..8b8b8fbbab2c 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_merge.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_merge.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_MERGE_H
-#define _LIBCPP___ALGORITHM_RANGES_MERGE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_MERGE_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_MERGE_H
#include <__cxx03/__algorithm/in_in_out_result.h>
#include <__cxx03/__algorithm/ranges_copy.h>
@@ -135,4 +135,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_MERGE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_MERGE_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_min.h b/libcxx/include/__cxx03/__algorithm/ranges_min.h
index bcf070507131..72f06e72e300 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_min.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_min.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_MIN_H
-#define _LIBCPP___ALGORITHM_RANGES_MIN_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_MIN_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_MIN_H
#include <__cxx03/__algorithm/ranges_min_element.h>
#include <__cxx03/__assert>
@@ -92,4 +92,4 @@ _LIBCPP_POP_MACROS
#endif // _LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___ALGORITHM_RANGES_MIN_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_MIN_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_min_element.h b/libcxx/include/__cxx03/__algorithm/ranges_min_element.h
index 320a47a57ec6..b3854233966b 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_min_element.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_min_element.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_MIN_ELEMENT_H
-#define _LIBCPP___ALGORITHM_RANGES_MIN_ELEMENT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_MIN_ELEMENT_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_MIN_ELEMENT_H
#include <__cxx03/__config>
#include <__cxx03/__functional/identity.h>
@@ -78,4 +78,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_MIN_ELEMENT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_MIN_ELEMENT_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_minmax.h b/libcxx/include/__cxx03/__algorithm/ranges_minmax.h
index 8adf1af58551..8ce4e438382e 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_minmax.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_minmax.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_MINMAX_H
-#define _LIBCPP___ALGORITHM_RANGES_MINMAX_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_MINMAX_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_MINMAX_H
#include <__cxx03/__algorithm/min_max_result.h>
#include <__cxx03/__algorithm/minmax_element.h>
@@ -172,4 +172,4 @@ _LIBCPP_POP_MACROS
#endif // _LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___ALGORITHM_RANGES_MINMAX_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_MINMAX_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_minmax_element.h b/libcxx/include/__cxx03/__algorithm/ranges_minmax_element.h
index ebc44082f4c3..1e92a63a9d33 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_minmax_element.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_minmax_element.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_MINMAX_ELEMENT_H
-#define _LIBCPP___ALGORITHM_RANGES_MINMAX_ELEMENT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_MINMAX_ELEMENT_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_MINMAX_ELEMENT_H
#include <__cxx03/__algorithm/min_max_result.h>
#include <__cxx03/__algorithm/minmax_element.h>
@@ -75,4 +75,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_MINMAX_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_MINMAX_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_mismatch.h b/libcxx/include/__cxx03/__algorithm/ranges_mismatch.h
index ccca6c7f6eb5..d3ebb7ded9c0 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_mismatch.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_mismatch.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_MISMATCH_H
-#define _LIBCPP___ALGORITHM_RANGES_MISMATCH_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_MISMATCH_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_MISMATCH_H
#include <__cxx03/__algorithm/in_in_result.h>
#include <__cxx03/__algorithm/mismatch.h>
@@ -97,4 +97,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_MISMATCH_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_MISMATCH_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_move.h b/libcxx/include/__cxx03/__algorithm/ranges_move.h
index 452608bef745..e20f4d8854db 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_move.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_move.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_MOVE_H
-#define _LIBCPP___ALGORITHM_RANGES_MOVE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_MOVE_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_MOVE_H
#include <__cxx03/__algorithm/in_out_result.h>
#include <__cxx03/__algorithm/iterator_operations.h>
@@ -71,4 +71,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_MOVE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_MOVE_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_move_backward.h b/libcxx/include/__cxx03/__algorithm/ranges_move_backward.h
index e353d9e2ffd1..cecaa7d8d657 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_move_backward.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_move_backward.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_MOVE_BACKWARD_H
-#define _LIBCPP___ALGORITHM_RANGES_MOVE_BACKWARD_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_MOVE_BACKWARD_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_MOVE_BACKWARD_H
#include <__cxx03/__algorithm/in_out_result.h>
#include <__cxx03/__algorithm/iterator_operations.h>
@@ -73,4 +73,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_MOVE_BACKWARD_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_MOVE_BACKWARD_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_next_permutation.h b/libcxx/include/__cxx03/__algorithm/ranges_next_permutation.h
index b134cfca3819..337c7a892cfb 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_next_permutation.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_next_permutation.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_NEXT_PERMUTATION_H
-#define _LIBCPP___ALGORITHM_RANGES_NEXT_PERMUTATION_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_NEXT_PERMUTATION_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_NEXT_PERMUTATION_H
#include <__cxx03/__algorithm/in_found_result.h>
#include <__cxx03/__algorithm/iterator_operations.h>
@@ -75,4 +75,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_NEXT_PERMUTATION_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_NEXT_PERMUTATION_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_none_of.h b/libcxx/include/__cxx03/__algorithm/ranges_none_of.h
index 36d5477e14de..461fbc87c5d2 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_none_of.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_none_of.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_NONE_OF_H
-#define _LIBCPP___ALGORITHM_RANGES_NONE_OF_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_NONE_OF_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_NONE_OF_H
#include <__cxx03/__config>
#include <__cxx03/__functional/identity.h>
@@ -72,4 +72,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_NONE_OF_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_NONE_OF_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_nth_element.h b/libcxx/include/__cxx03/__algorithm/ranges_nth_element.h
index df428390f7a3..27bf33e7703d 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_nth_element.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_nth_element.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_NTH_ELEMENT_H
-#define _LIBCPP___ALGORITHM_RANGES_NTH_ELEMENT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_NTH_ELEMENT_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_NTH_ELEMENT_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__algorithm/make_projected.h>
@@ -81,4 +81,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_NTH_ELEMENT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_NTH_ELEMENT_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_partial_sort.h b/libcxx/include/__cxx03/__algorithm/ranges_partial_sort.h
index d19fc9b5297e..06aab77f65f3 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_partial_sort.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_partial_sort.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_PARTIAL_SORT_H
-#define _LIBCPP___ALGORITHM_RANGES_PARTIAL_SORT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_PARTIAL_SORT_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_PARTIAL_SORT_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__algorithm/make_projected.h>
@@ -79,4 +79,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_PARTIAL_SORT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_PARTIAL_SORT_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_partial_sort_copy.h b/libcxx/include/__cxx03/__algorithm/ranges_partial_sort_copy.h
index bd2be3cb2cf2..3fda0e58e74d 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_partial_sort_copy.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_partial_sort_copy.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_PARTIAL_SORT_COPY_H
-#define _LIBCPP___ALGORITHM_RANGES_PARTIAL_SORT_COPY_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_PARTIAL_SORT_COPY_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_PARTIAL_SORT_COPY_H
#include <__cxx03/__algorithm/in_out_result.h>
#include <__cxx03/__algorithm/iterator_operations.h>
@@ -111,4 +111,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_PARTIAL_SORT_COPY_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_PARTIAL_SORT_COPY_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_partition.h b/libcxx/include/__cxx03/__algorithm/ranges_partition.h
index d6c147c441de..261972ada568 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_partition.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_partition.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_PARTITION_H
-#define _LIBCPP___ALGORITHM_RANGES_PARTITION_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_PARTITION_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_PARTITION_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__algorithm/make_projected.h>
@@ -85,4 +85,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_PARTITION_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_PARTITION_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_partition_copy.h b/libcxx/include/__cxx03/__algorithm/ranges_partition_copy.h
index 42cbb3a96a23..c80108022d09 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_partition_copy.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_partition_copy.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_PARTITION_COPY_H
-#define _LIBCPP___ALGORITHM_RANGES_PARTITION_COPY_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_PARTITION_COPY_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_PARTITION_COPY_H
#include <__cxx03/__algorithm/in_out_out_result.h>
#include <__cxx03/__config>
@@ -107,4 +107,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_PARTITION_COPY_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_PARTITION_COPY_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_partition_point.h b/libcxx/include/__cxx03/__algorithm/ranges_partition_point.h
index 60731b2ddcf3..337e1261f01c 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_partition_point.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_partition_point.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_PARTITION_POINT_H
-#define _LIBCPP___ALGORITHM_RANGES_PARTITION_POINT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_PARTITION_POINT_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_PARTITION_POINT_H
#include <__cxx03/__algorithm/half_positive.h>
#include <__cxx03/__config>
@@ -90,4 +90,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_PARTITION_POINT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_PARTITION_POINT_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_pop_heap.h b/libcxx/include/__cxx03/__algorithm/ranges_pop_heap.h
index d201d62c7357..ecbfb44888ed 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_pop_heap.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_pop_heap.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_POP_HEAP_H
-#define _LIBCPP___ALGORITHM_RANGES_POP_HEAP_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_POP_HEAP_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_POP_HEAP_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__algorithm/make_projected.h>
@@ -83,4 +83,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_POP_HEAP_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_POP_HEAP_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_prev_permutation.h b/libcxx/include/__cxx03/__algorithm/ranges_prev_permutation.h
index 8d40d44e6ac1..ded9eb2c4715 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_prev_permutation.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_prev_permutation.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_PREV_PERMUTATION_H
-#define _LIBCPP___ALGORITHM_RANGES_PREV_PERMUTATION_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_PREV_PERMUTATION_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_PREV_PERMUTATION_H
#include <__cxx03/__algorithm/in_found_result.h>
#include <__cxx03/__algorithm/iterator_operations.h>
@@ -75,4 +75,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_PREV_PERMUTATION_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_PREV_PERMUTATION_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_push_heap.h b/libcxx/include/__cxx03/__algorithm/ranges_push_heap.h
index 39d219e763de..33479d9bfad6 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_push_heap.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_push_heap.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_PUSH_HEAP_H
-#define _LIBCPP___ALGORITHM_RANGES_PUSH_HEAP_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_PUSH_HEAP_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_PUSH_HEAP_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__algorithm/make_projected.h>
@@ -82,4 +82,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_PUSH_HEAP_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_PUSH_HEAP_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_remove.h b/libcxx/include/__cxx03/__algorithm/ranges_remove.h
index d766a7b4a846..13b4efb9f5c3 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_remove.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_remove.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_REMOVE_H
-#define _LIBCPP___ALGORITHM_RANGES_REMOVE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_REMOVE_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_REMOVE_H
#include <__cxx03/__config>
#include <__cxx03/__algorithm/ranges_remove_if.h>
@@ -65,4 +65,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_REMOVE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_REMOVE_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_remove_copy.h b/libcxx/include/__cxx03/__algorithm/ranges_remove_copy.h
index fdb04cd96cf8..47c2d6c08692 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_remove_copy.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_remove_copy.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_REMOVE_COPY_H
-#define _LIBCPP___ALGORITHM_RANGES_REMOVE_COPY_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_REMOVE_COPY_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_REMOVE_COPY_H
#include <__cxx03/__algorithm/in_out_result.h>
#include <__cxx03/__algorithm/ranges_remove_copy_if.h>
@@ -78,4 +78,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_REMOVE_COPY_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_REMOVE_COPY_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_remove_copy_if.h b/libcxx/include/__cxx03/__algorithm/ranges_remove_copy_if.h
index dd643a581a1d..3674e4c4207b 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_remove_copy_if.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_remove_copy_if.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_REMOVE_COPY_IF_H
-#define _LIBCPP___ALGORITHM_RANGES_REMOVE_COPY_IF_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_REMOVE_COPY_IF_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_REMOVE_COPY_IF_H
#include <__cxx03/__algorithm/in_out_result.h>
#include <__cxx03/__algorithm/make_projected.h>
@@ -92,4 +92,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_REMOVE_COPY_IF_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_REMOVE_COPY_IF_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_remove_if.h b/libcxx/include/__cxx03/__algorithm/ranges_remove_if.h
index 9d4ccd0f0b52..546acf8b78da 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_remove_if.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_remove_if.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_REMOVE_IF_H
-#define _LIBCPP___ALGORITHM_RANGES_REMOVE_IF_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_REMOVE_IF_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_REMOVE_IF_H
#include <__cxx03/__config>
#include <__cxx03/__algorithm/ranges_find_if.h>
@@ -86,4 +86,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_REMOVE_IF_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_REMOVE_IF_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_replace.h b/libcxx/include/__cxx03/__algorithm/ranges_replace.h
index 774d7632e41c..f5c030e7993c 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_replace.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_replace.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_REPLACE_H
-#define _LIBCPP___ALGORITHM_RANGES_REPLACE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_REPLACE_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_REPLACE_H
#include <__cxx03/__algorithm/ranges_replace_if.h>
#include <__cxx03/__config>
@@ -65,4 +65,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_REPLACE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_REPLACE_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_replace_copy.h b/libcxx/include/__cxx03/__algorithm/ranges_replace_copy.h
index d90715d3661b..387b7a42f24c 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_replace_copy.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_replace_copy.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_REPLACE_COPY_H
-#define _LIBCPP___ALGORITHM_RANGES_REPLACE_COPY_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_REPLACE_COPY_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_REPLACE_COPY_H
#include <__cxx03/__algorithm/in_out_result.h>
#include <__cxx03/__algorithm/ranges_replace_copy_if.h>
@@ -90,4 +90,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_REPLACE_COPY_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_REPLACE_COPY_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_replace_copy_if.h b/libcxx/include/__cxx03/__algorithm/ranges_replace_copy_if.h
index 88e5ff71c58c..f5786d9f8948 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_replace_copy_if.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_replace_copy_if.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_REPLACE_COPY_IF_H
-#define _LIBCPP___ALGORITHM_RANGES_REPLACE_COPY_IF_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_REPLACE_COPY_IF_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_REPLACE_COPY_IF_H
#include <__cxx03/__algorithm/in_out_result.h>
#include <__cxx03/__config>
@@ -95,4 +95,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_REPLACE_COPY_IF_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_REPLACE_COPY_IF_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_replace_if.h b/libcxx/include/__cxx03/__algorithm/ranges_replace_if.h
index 6d9ff45a59c9..499cc7887b16 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_replace_if.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_replace_if.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_REPLACE_IF_H
-#define _LIBCPP___ALGORITHM_RANGES_REPLACE_IF_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_REPLACE_IF_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_REPLACE_IF_H
#include <__cxx03/__config>
#include <__cxx03/__functional/identity.h>
@@ -78,4 +78,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_REPLACE_IF_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_REPLACE_IF_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_reverse.h b/libcxx/include/__cxx03/__algorithm/ranges_reverse.h
index 78614666200e..577a4310f215 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_reverse.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_reverse.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_REVERSE_H
-#define _LIBCPP___ALGORITHM_RANGES_REVERSE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_REVERSE_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_REVERSE_H
#include <__cxx03/__config>
#include <__cxx03/__iterator/concepts.h>
@@ -76,4 +76,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___ALGORITHM_RANGES_REVERSE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_REVERSE_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_reverse_copy.h b/libcxx/include/__cxx03/__algorithm/ranges_reverse_copy.h
index 7aab06d72143..d727202365b0 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_reverse_copy.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_reverse_copy.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_REVERSE_COPY_H
-#define _LIBCPP___ALGORITHM_RANGES_REVERSE_COPY_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_REVERSE_COPY_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_REVERSE_COPY_H
#include <__cxx03/__algorithm/in_out_result.h>
#include <__cxx03/__algorithm/ranges_copy.h>
@@ -67,4 +67,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_REVERSE_COPY_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_REVERSE_COPY_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_rotate.h b/libcxx/include/__cxx03/__algorithm/ranges_rotate.h
index 2efa88748ff7..e6bef76b3cb7 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_rotate.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_rotate.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_ROTATE_H
-#define _LIBCPP___ALGORITHM_RANGES_ROTATE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_ROTATE_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_ROTATE_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__algorithm/ranges_iterator_concept.h>
@@ -68,4 +68,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_ROTATE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_ROTATE_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_rotate_copy.h b/libcxx/include/__cxx03/__algorithm/ranges_rotate_copy.h
index 7aa1fa13fedd..40975ad7213d 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_rotate_copy.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_rotate_copy.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_ROTATE_COPY_H
-#define _LIBCPP___ALGORITHM_RANGES_ROTATE_COPY_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_ROTATE_COPY_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_ROTATE_COPY_H
#include <__cxx03/__algorithm/in_out_result.h>
#include <__cxx03/__algorithm/ranges_copy.h>
@@ -65,4 +65,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_ROTATE_COPY_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_ROTATE_COPY_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_sample.h b/libcxx/include/__cxx03/__algorithm/ranges_sample.h
index 08a44d3a3c85..778661c2ce41 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_sample.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_sample.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_SAMPLE_H
-#define _LIBCPP___ALGORITHM_RANGES_SAMPLE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_SAMPLE_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_SAMPLE_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__algorithm/sample.h>
@@ -71,4 +71,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_SAMPLE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_SAMPLE_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_search.h b/libcxx/include/__cxx03/__algorithm/ranges_search.h
index 68ac1fce9e7b..a4d56b80c945 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_search.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_search.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_SEARCH_H
-#define _LIBCPP___ALGORITHM_RANGES_SEARCH_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_SEARCH_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_SEARCH_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__algorithm/search.h>
@@ -131,4 +131,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___ALGORITHM_RANGES_SEARCH_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_SEARCH_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_search_n.h b/libcxx/include/__cxx03/__algorithm/ranges_search_n.h
index c7c670f02c20..eac6e33a4da9 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_search_n.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_search_n.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_SEARCH_N_H
-#define _LIBCPP___ALGORITHM_RANGES_SEARCH_N_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_SEARCH_N_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_SEARCH_N_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__algorithm/search_n.h>
@@ -113,4 +113,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_SEARCH_N_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_SEARCH_N_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_set_difference.h b/libcxx/include/__cxx03/__algorithm/ranges_set_difference.h
index 764384b97083..0343b68f8534 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_set_difference.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_set_difference.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_SET_DIFFERENCE_H
-#define _LIBCPP___ALGORITHM_RANGES_SET_DIFFERENCE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_SET_DIFFERENCE_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_SET_DIFFERENCE_H
#include <__cxx03/__algorithm/in_out_result.h>
#include <__cxx03/__algorithm/iterator_operations.h>
@@ -106,4 +106,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_SET_DIFFERENCE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_SET_DIFFERENCE_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_set_intersection.h b/libcxx/include/__cxx03/__algorithm/ranges_set_intersection.h
index 4aebb5e195da..ff0ae0fe1446 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_set_intersection.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_set_intersection.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_SET_INTERSECTION_H
-#define _LIBCPP___ALGORITHM_RANGES_SET_INTERSECTION_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_SET_INTERSECTION_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_SET_INTERSECTION_H
#include <__cxx03/__algorithm/in_in_out_result.h>
#include <__cxx03/__algorithm/iterator_operations.h>
@@ -111,4 +111,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_SET_INTERSECTION_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_SET_INTERSECTION_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_set_symmetric_difference.h b/libcxx/include/__cxx03/__algorithm/ranges_set_symmetric_difference.h
index 50ec574fcc30..4c7413d5a656 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_set_symmetric_difference.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_set_symmetric_difference.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_SET_SYMMETRIC_DIFFERENCE_H
-#define _LIBCPP___ALGORITHM_RANGES_SET_SYMMETRIC_DIFFERENCE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_SET_SYMMETRIC_DIFFERENCE_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_SET_SYMMETRIC_DIFFERENCE_H
#include <__cxx03/__algorithm/in_in_out_result.h>
#include <__cxx03/__algorithm/iterator_operations.h>
@@ -111,4 +111,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_SET_SYMMETRIC_DIFFERENCE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_SET_SYMMETRIC_DIFFERENCE_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_set_union.h b/libcxx/include/__cxx03/__algorithm/ranges_set_union.h
index 87d08e4cfedc..0752ee51d37d 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_set_union.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_set_union.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_SET_UNION_H
-#define _LIBCPP___ALGORITHM_RANGES_SET_UNION_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_SET_UNION_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_SET_UNION_H
#include <__cxx03/__algorithm/in_in_out_result.h>
#include <__cxx03/__algorithm/iterator_operations.h>
@@ -112,4 +112,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_SET_UNION_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_SET_UNION_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_shuffle.h b/libcxx/include/__cxx03/__algorithm/ranges_shuffle.h
index 44e3a73e1b4b..2728d5df97f5 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_shuffle.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_shuffle.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_SHUFFLE_H
-#define _LIBCPP___ALGORITHM_RANGES_SHUFFLE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_SHUFFLE_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_SHUFFLE_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__algorithm/shuffle.h>
@@ -69,4 +69,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_SHUFFLE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_SHUFFLE_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_sort.h b/libcxx/include/__cxx03/__algorithm/ranges_sort.h
index ad24cea344e8..4fa26ad238fa 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_sort.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_sort.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_SORT_H
-#define _LIBCPP___ALGORITHM_RANGES_SORT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_SORT_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_SORT_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__algorithm/make_projected.h>
@@ -81,4 +81,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_SORT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_SORT_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_sort_heap.h b/libcxx/include/__cxx03/__algorithm/ranges_sort_heap.h
index 403917b032dd..7c45fca156ba 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_sort_heap.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_sort_heap.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_SORT_HEAP_H
-#define _LIBCPP___ALGORITHM_RANGES_SORT_HEAP_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_SORT_HEAP_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_SORT_HEAP_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__algorithm/make_projected.h>
@@ -82,4 +82,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_SORT_HEAP_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_SORT_HEAP_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_stable_partition.h b/libcxx/include/__cxx03/__algorithm/ranges_stable_partition.h
index cd4ae07bf9c7..b7d84dc6a0cc 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_stable_partition.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_stable_partition.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_STABLE_PARTITION_H
-#define _LIBCPP___ALGORITHM_RANGES_STABLE_PARTITION_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_STABLE_PARTITION_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_STABLE_PARTITION_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__algorithm/make_projected.h>
@@ -89,4 +89,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_STABLE_PARTITION_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_STABLE_PARTITION_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_stable_sort.h b/libcxx/include/__cxx03/__algorithm/ranges_stable_sort.h
index 20c83283b960..83ff06971d08 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_stable_sort.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_stable_sort.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_STABLE_SORT_H
-#define _LIBCPP___ALGORITHM_RANGES_STABLE_SORT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_STABLE_SORT_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_STABLE_SORT_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__algorithm/make_projected.h>
@@ -79,4 +79,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_STABLE_SORT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_STABLE_SORT_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_starts_with.h b/libcxx/include/__cxx03/__algorithm/ranges_starts_with.h
index 0e2424a0d8a0..91117ec29413 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_starts_with.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_starts_with.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_STARTS_WITH_H
-#define _LIBCPP___ALGORITHM_RANGES_STARTS_WITH_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_STARTS_WITH_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_STARTS_WITH_H
#include <__cxx03/__algorithm/in_in_result.h>
#include <__cxx03/__algorithm/ranges_mismatch.h>
@@ -92,4 +92,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_STARTS_WITH_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_STARTS_WITH_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_swap_ranges.h b/libcxx/include/__cxx03/__algorithm/ranges_swap_ranges.h
index 610e7c315486..46a868f3a563 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_swap_ranges.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_swap_ranges.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_SWAP_RANGES_H
-#define _LIBCPP___ALGORITHM_RANGES_SWAP_RANGES_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_SWAP_RANGES_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_SWAP_RANGES_H
#include <__cxx03/__algorithm/in_in_result.h>
#include <__cxx03/__algorithm/iterator_operations.h>
@@ -67,4 +67,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_SWAP_RANGES_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_SWAP_RANGES_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_transform.h b/libcxx/include/__cxx03/__algorithm/ranges_transform.h
index 12e4a50154aa..ba6ec5a3ea20 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_transform.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_transform.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_TRANSFORM_H
-#define _LIBCPP___ALGORITHM_RANGES_TRANSFORM_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_TRANSFORM_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_TRANSFORM_H
#include <__cxx03/__algorithm/in_in_out_result.h>
#include <__cxx03/__algorithm/in_out_result.h>
@@ -174,4 +174,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_TRANSFORM_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_TRANSFORM_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_unique.h b/libcxx/include/__cxx03/__algorithm/ranges_unique.h
index 0893127dd9d1..d54b1c5205c2 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_unique.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_unique.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_UNIQUE_H
-#define _LIBCPP___ALGORITHM_RANGES_UNIQUE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_UNIQUE_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_UNIQUE_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__algorithm/make_projected.h>
@@ -79,4 +79,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_UNIQUE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_UNIQUE_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_unique_copy.h b/libcxx/include/__cxx03/__algorithm/ranges_unique_copy.h
index c30332a217f7..6eed79b25899 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_unique_copy.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_unique_copy.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_UNIQUE_COPY_H
-#define _LIBCPP___ALGORITHM_RANGES_UNIQUE_COPY_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_UNIQUE_COPY_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_UNIQUE_COPY_H
#include <__cxx03/__algorithm/in_out_result.h>
#include <__cxx03/__algorithm/iterator_operations.h>
@@ -117,4 +117,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_RANGES_UNIQUE_COPY_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_UNIQUE_COPY_H
diff --git a/libcxx/include/__cxx03/__algorithm/ranges_upper_bound.h b/libcxx/include/__cxx03/__algorithm/ranges_upper_bound.h
index 79b49ab804b3..004b9ae654f8 100644
--- a/libcxx/include/__cxx03/__algorithm/ranges_upper_bound.h
+++ b/libcxx/include/__cxx03/__algorithm/ranges_upper_bound.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_UPPER_BOUND_H
-#define _LIBCPP___ALGORITHM_RANGES_UPPER_BOUND_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_UPPER_BOUND_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_UPPER_BOUND_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__algorithm/lower_bound.h>
@@ -71,4 +71,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___ALGORITHM_RANGES_UPPER_BOUND_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_UPPER_BOUND_H
diff --git a/libcxx/include/__cxx03/__algorithm/remove.h b/libcxx/include/__cxx03/__algorithm/remove.h
index 7849527585b1..208351e22ac9 100644
--- a/libcxx/include/__cxx03/__algorithm/remove.h
+++ b/libcxx/include/__cxx03/__algorithm/remove.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_REMOVE_H
-#define _LIBCPP___ALGORITHM_REMOVE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_REMOVE_H
+#define _LIBCPP___CXX03___ALGORITHM_REMOVE_H
#include <__cxx03/__algorithm/find.h>
#include <__cxx03/__algorithm/find_if.h>
@@ -43,4 +43,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_REMOVE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_REMOVE_H
diff --git a/libcxx/include/__cxx03/__algorithm/remove_copy.h b/libcxx/include/__cxx03/__algorithm/remove_copy.h
index e79c79812716..1bed25224281 100644
--- a/libcxx/include/__cxx03/__algorithm/remove_copy.h
+++ b/libcxx/include/__cxx03/__algorithm/remove_copy.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_REMOVE_COPY_H
-#define _LIBCPP___ALGORITHM_REMOVE_COPY_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_REMOVE_COPY_H
+#define _LIBCPP___CXX03___ALGORITHM_REMOVE_COPY_H
#include <__cxx03/__config>
@@ -31,4 +31,4 @@ remove_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __res
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_REMOVE_COPY_H
+#endif // _LIBCPP___CXX03___ALGORITHM_REMOVE_COPY_H
diff --git a/libcxx/include/__cxx03/__algorithm/remove_copy_if.h b/libcxx/include/__cxx03/__algorithm/remove_copy_if.h
index 7132e3c0bdb1..3ec019dfd591 100644
--- a/libcxx/include/__cxx03/__algorithm/remove_copy_if.h
+++ b/libcxx/include/__cxx03/__algorithm/remove_copy_if.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_REMOVE_COPY_IF_H
-#define _LIBCPP___ALGORITHM_REMOVE_COPY_IF_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_REMOVE_COPY_IF_H
+#define _LIBCPP___CXX03___ALGORITHM_REMOVE_COPY_IF_H
#include <__cxx03/__config>
@@ -31,4 +31,4 @@ remove_copy_if(_InputIterator __first, _InputIterator __last, _OutputIterator __
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_REMOVE_COPY_IF_H
+#endif // _LIBCPP___CXX03___ALGORITHM_REMOVE_COPY_IF_H
diff --git a/libcxx/include/__cxx03/__algorithm/remove_if.h b/libcxx/include/__cxx03/__algorithm/remove_if.h
index e6dc3d15fbc9..c64e0aa4477e 100644
--- a/libcxx/include/__cxx03/__algorithm/remove_if.h
+++ b/libcxx/include/__cxx03/__algorithm/remove_if.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_REMOVE_IF_H
-#define _LIBCPP___ALGORITHM_REMOVE_IF_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_REMOVE_IF_H
+#define _LIBCPP___CXX03___ALGORITHM_REMOVE_IF_H
#include <__cxx03/__algorithm/find_if.h>
#include <__cxx03/__config>
@@ -42,4 +42,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_REMOVE_IF_H
+#endif // _LIBCPP___CXX03___ALGORITHM_REMOVE_IF_H
diff --git a/libcxx/include/__cxx03/__algorithm/replace.h b/libcxx/include/__cxx03/__algorithm/replace.h
index 2b24752f048e..692cece1708f 100644
--- a/libcxx/include/__cxx03/__algorithm/replace.h
+++ b/libcxx/include/__cxx03/__algorithm/replace.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_REPLACE_H
-#define _LIBCPP___ALGORITHM_REPLACE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_REPLACE_H
+#define _LIBCPP___CXX03___ALGORITHM_REPLACE_H
#include <__cxx03/__config>
@@ -27,4 +27,4 @@ replace(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __old_valu
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_REPLACE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_REPLACE_H
diff --git a/libcxx/include/__cxx03/__algorithm/replace_copy.h b/libcxx/include/__cxx03/__algorithm/replace_copy.h
index 6c50dd4e14f5..4f8b375df2fb 100644
--- a/libcxx/include/__cxx03/__algorithm/replace_copy.h
+++ b/libcxx/include/__cxx03/__algorithm/replace_copy.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_REPLACE_COPY_H
-#define _LIBCPP___ALGORITHM_REPLACE_COPY_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_REPLACE_COPY_H
+#define _LIBCPP___CXX03___ALGORITHM_REPLACE_COPY_H
#include <__cxx03/__config>
@@ -34,4 +34,4 @@ inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _OutputIterator repla
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_REPLACE_COPY_H
+#endif // _LIBCPP___CXX03___ALGORITHM_REPLACE_COPY_H
diff --git a/libcxx/include/__cxx03/__algorithm/replace_copy_if.h b/libcxx/include/__cxx03/__algorithm/replace_copy_if.h
index c714d5003733..cfc7b0aa2d34 100644
--- a/libcxx/include/__cxx03/__algorithm/replace_copy_if.h
+++ b/libcxx/include/__cxx03/__algorithm/replace_copy_if.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_REPLACE_COPY_IF_H
-#define _LIBCPP___ALGORITHM_REPLACE_COPY_IF_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_REPLACE_COPY_IF_H
+#define _LIBCPP___CXX03___ALGORITHM_REPLACE_COPY_IF_H
#include <__cxx03/__config>
@@ -34,4 +34,4 @@ inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _OutputIterator repla
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_REPLACE_COPY_IF_H
+#endif // _LIBCPP___CXX03___ALGORITHM_REPLACE_COPY_IF_H
diff --git a/libcxx/include/__cxx03/__algorithm/replace_if.h b/libcxx/include/__cxx03/__algorithm/replace_if.h
index 8bd9a9c0db97..f46da35714ef 100644
--- a/libcxx/include/__cxx03/__algorithm/replace_if.h
+++ b/libcxx/include/__cxx03/__algorithm/replace_if.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_REPLACE_IF_H
-#define _LIBCPP___ALGORITHM_REPLACE_IF_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_REPLACE_IF_H
+#define _LIBCPP___CXX03___ALGORITHM_REPLACE_IF_H
#include <__cxx03/__config>
@@ -27,4 +27,4 @@ replace_if(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred,
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_REPLACE_IF_H
+#endif // _LIBCPP___CXX03___ALGORITHM_REPLACE_IF_H
diff --git a/libcxx/include/__cxx03/__algorithm/reverse.h b/libcxx/include/__cxx03/__algorithm/reverse.h
index b97ec38490a2..868377c7b26b 100644
--- a/libcxx/include/__cxx03/__algorithm/reverse.h
+++ b/libcxx/include/__cxx03/__algorithm/reverse.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_REVERSE_H
-#define _LIBCPP___ALGORITHM_REVERSE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_REVERSE_H
+#define _LIBCPP___CXX03___ALGORITHM_REVERSE_H
#include <__cxx03/__algorithm/iter_swap.h>
#include <__cxx03/__algorithm/iterator_operations.h>
@@ -59,4 +59,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_REVERSE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_REVERSE_H
diff --git a/libcxx/include/__cxx03/__algorithm/reverse_copy.h b/libcxx/include/__cxx03/__algorithm/reverse_copy.h
index 29070fec8448..3553102a2d03 100644
--- a/libcxx/include/__cxx03/__algorithm/reverse_copy.h
+++ b/libcxx/include/__cxx03/__algorithm/reverse_copy.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_REVERSE_COPY_H
-#define _LIBCPP___ALGORITHM_REVERSE_COPY_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_REVERSE_COPY_H
+#define _LIBCPP___CXX03___ALGORITHM_REVERSE_COPY_H
#include <__cxx03/__config>
@@ -27,4 +27,4 @@ reverse_copy(_BidirectionalIterator __first, _BidirectionalIterator __last, _Out
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_REVERSE_COPY_H
+#endif // _LIBCPP___CXX03___ALGORITHM_REVERSE_COPY_H
diff --git a/libcxx/include/__cxx03/__algorithm/rotate.h b/libcxx/include/__cxx03/__algorithm/rotate.h
index d6ca9230731e..e41edf00e799 100644
--- a/libcxx/include/__cxx03/__algorithm/rotate.h
+++ b/libcxx/include/__cxx03/__algorithm/rotate.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_ROTATE_H
-#define _LIBCPP___ALGORITHM_ROTATE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_ROTATE_H
+#define _LIBCPP___CXX03___ALGORITHM_ROTATE_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__algorithm/move.h>
@@ -195,4 +195,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_ROTATE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_ROTATE_H
diff --git a/libcxx/include/__cxx03/__algorithm/rotate_copy.h b/libcxx/include/__cxx03/__algorithm/rotate_copy.h
index c20d9571e6ff..6970cdc5a2c5 100644
--- a/libcxx/include/__cxx03/__algorithm/rotate_copy.h
+++ b/libcxx/include/__cxx03/__algorithm/rotate_copy.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_ROTATE_COPY_H
-#define _LIBCPP___ALGORITHM_ROTATE_COPY_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_ROTATE_COPY_H
+#define _LIBCPP___CXX03___ALGORITHM_ROTATE_COPY_H
#include <__cxx03/__algorithm/copy.h>
#include <__cxx03/__config>
@@ -26,4 +26,4 @@ rotate_copy(_ForwardIterator __first, _ForwardIterator __middle, _ForwardIterato
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_ROTATE_COPY_H
+#endif // _LIBCPP___CXX03___ALGORITHM_ROTATE_COPY_H
diff --git a/libcxx/include/__cxx03/__algorithm/sample.h b/libcxx/include/__cxx03/__algorithm/sample.h
index e6743cf3828c..55e34c9f2481 100644
--- a/libcxx/include/__cxx03/__algorithm/sample.h
+++ b/libcxx/include/__cxx03/__algorithm/sample.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_SAMPLE_H
-#define _LIBCPP___ALGORITHM_SAMPLE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_SAMPLE_H
+#define _LIBCPP___CXX03___ALGORITHM_SAMPLE_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__algorithm/min.h>
@@ -120,4 +120,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_SAMPLE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_SAMPLE_H
diff --git a/libcxx/include/__cxx03/__algorithm/search.h b/libcxx/include/__cxx03/__algorithm/search.h
index eb862f4ad7ca..7ca6bdbc2beb 100644
--- a/libcxx/include/__cxx03/__algorithm/search.h
+++ b/libcxx/include/__cxx03/__algorithm/search.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_SEARCH_H
-#define _LIBCPP___ALGORITHM_SEARCH_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_SEARCH_H
+#define _LIBCPP___CXX03___ALGORITHM_SEARCH_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/iterator_operations.h>
@@ -189,4 +189,4 @@ search(_ForwardIterator __f, _ForwardIterator __l, const _Searcher& __s) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_SEARCH_H
+#endif // _LIBCPP___CXX03___ALGORITHM_SEARCH_H
diff --git a/libcxx/include/__cxx03/__algorithm/search_n.h b/libcxx/include/__cxx03/__algorithm/search_n.h
index d6458b8ca90d..cf63de27666b 100644
--- a/libcxx/include/__cxx03/__algorithm/search_n.h
+++ b/libcxx/include/__cxx03/__algorithm/search_n.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_SEARCH_N_H
-#define _LIBCPP___ALGORITHM_SEARCH_N_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_SEARCH_N_H
+#define _LIBCPP___CXX03___ALGORITHM_SEARCH_N_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/iterator_operations.h>
@@ -152,4 +152,4 @@ search_n(_ForwardIterator __first, _ForwardIterator __last, _Size __count, const
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_SEARCH_N_H
+#endif // _LIBCPP___CXX03___ALGORITHM_SEARCH_N_H
diff --git a/libcxx/include/__cxx03/__algorithm/set_difference.h b/libcxx/include/__cxx03/__algorithm/set_difference.h
index 13d6f0249e43..1bdddd395598 100644
--- a/libcxx/include/__cxx03/__algorithm/set_difference.h
+++ b/libcxx/include/__cxx03/__algorithm/set_difference.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_SET_DIFFERENCE_H
-#define _LIBCPP___ALGORITHM_SET_DIFFERENCE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_SET_DIFFERENCE_H
+#define _LIBCPP___CXX03___ALGORITHM_SET_DIFFERENCE_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -76,4 +76,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_SET_DIFFERENCE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_SET_DIFFERENCE_H
diff --git a/libcxx/include/__cxx03/__algorithm/set_intersection.h b/libcxx/include/__cxx03/__algorithm/set_intersection.h
index f1193ec349cf..8164ced338d2 100644
--- a/libcxx/include/__cxx03/__algorithm/set_intersection.h
+++ b/libcxx/include/__cxx03/__algorithm/set_intersection.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_SET_INTERSECTION_H
-#define _LIBCPP___ALGORITHM_SET_INTERSECTION_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_SET_INTERSECTION_H
+#define _LIBCPP___CXX03___ALGORITHM_SET_INTERSECTION_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -214,4 +214,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_SET_INTERSECTION_H
+#endif // _LIBCPP___CXX03___ALGORITHM_SET_INTERSECTION_H
diff --git a/libcxx/include/__cxx03/__algorithm/set_symmetric_difference.h b/libcxx/include/__cxx03/__algorithm/set_symmetric_difference.h
index 71aca2b8ed03..64fdf4543be9 100644
--- a/libcxx/include/__cxx03/__algorithm/set_symmetric_difference.h
+++ b/libcxx/include/__cxx03/__algorithm/set_symmetric_difference.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_SET_SYMMETRIC_DIFFERENCE_H
-#define _LIBCPP___ALGORITHM_SET_SYMMETRIC_DIFFERENCE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_SET_SYMMETRIC_DIFFERENCE_H
+#define _LIBCPP___CXX03___ALGORITHM_SET_SYMMETRIC_DIFFERENCE_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -106,4 +106,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_SET_SYMMETRIC_DIFFERENCE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_SET_SYMMETRIC_DIFFERENCE_H
diff --git a/libcxx/include/__cxx03/__algorithm/set_union.h b/libcxx/include/__cxx03/__algorithm/set_union.h
index f60221cce3cd..a5c6d5eabd39 100644
--- a/libcxx/include/__cxx03/__algorithm/set_union.h
+++ b/libcxx/include/__cxx03/__algorithm/set_union.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_SET_UNION_H
-#define _LIBCPP___ALGORITHM_SET_UNION_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_SET_UNION_H
+#define _LIBCPP___CXX03___ALGORITHM_SET_UNION_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -102,4 +102,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_SET_UNION_H
+#endif // _LIBCPP___CXX03___ALGORITHM_SET_UNION_H
diff --git a/libcxx/include/__cxx03/__algorithm/shift_left.h b/libcxx/include/__cxx03/__algorithm/shift_left.h
index b59a06982671..886f353f2814 100644
--- a/libcxx/include/__cxx03/__algorithm/shift_left.h
+++ b/libcxx/include/__cxx03/__algorithm/shift_left.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_SHIFT_LEFT_H
-#define _LIBCPP___ALGORITHM_SHIFT_LEFT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_SHIFT_LEFT_H
+#define _LIBCPP___CXX03___ALGORITHM_SHIFT_LEFT_H
#include <__cxx03/__algorithm/move.h>
#include <__cxx03/__config>
@@ -56,4 +56,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_SHIFT_LEFT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_SHIFT_LEFT_H
diff --git a/libcxx/include/__cxx03/__algorithm/shift_right.h b/libcxx/include/__cxx03/__algorithm/shift_right.h
index 51d8ea613245..4bff76af2fd9 100644
--- a/libcxx/include/__cxx03/__algorithm/shift_right.h
+++ b/libcxx/include/__cxx03/__algorithm/shift_right.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_SHIFT_RIGHT_H
-#define _LIBCPP___ALGORITHM_SHIFT_RIGHT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_SHIFT_RIGHT_H
+#define _LIBCPP___CXX03___ALGORITHM_SHIFT_RIGHT_H
#include <__cxx03/__algorithm/move.h>
#include <__cxx03/__algorithm/move_backward.h>
@@ -102,4 +102,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_SHIFT_RIGHT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_SHIFT_RIGHT_H
diff --git a/libcxx/include/__cxx03/__algorithm/shuffle.h b/libcxx/include/__cxx03/__algorithm/shuffle.h
index 30b372ffe767..abb96bce4023 100644
--- a/libcxx/include/__cxx03/__algorithm/shuffle.h
+++ b/libcxx/include/__cxx03/__algorithm/shuffle.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_SHUFFLE_H
-#define _LIBCPP___ALGORITHM_SHUFFLE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_SHUFFLE_H
+#define _LIBCPP___CXX03___ALGORITHM_SHUFFLE_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__config>
@@ -164,4 +164,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_SHUFFLE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_SHUFFLE_H
diff --git a/libcxx/include/__cxx03/__algorithm/sift_down.h b/libcxx/include/__cxx03/__algorithm/sift_down.h
index 85f0aa92c568..774a6d2450d5 100644
--- a/libcxx/include/__cxx03/__algorithm/sift_down.h
+++ b/libcxx/include/__cxx03/__algorithm/sift_down.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_SIFT_DOWN_H
-#define _LIBCPP___ALGORITHM_SIFT_DOWN_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_SIFT_DOWN_H
+#define _LIBCPP___CXX03___ALGORITHM_SIFT_DOWN_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__assert>
@@ -115,4 +115,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_SIFT_DOWN_H
+#endif // _LIBCPP___CXX03___ALGORITHM_SIFT_DOWN_H
diff --git a/libcxx/include/__cxx03/__algorithm/simd_utils.h b/libcxx/include/__cxx03/__algorithm/simd_utils.h
index 4769a8176a88..db2e20fb65ec 100644
--- a/libcxx/include/__cxx03/__algorithm/simd_utils.h
+++ b/libcxx/include/__cxx03/__algorithm/simd_utils.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_SIMD_UTILS_H
-#define _LIBCPP___ALGORITHM_SIMD_UTILS_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_SIMD_UTILS_H
+#define _LIBCPP___CXX03___ALGORITHM_SIMD_UTILS_H
#include <__cxx03/__algorithm/min.h>
#include <__cxx03/__bit/bit_cast.h>
@@ -161,4 +161,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_SIMD_UTILS_H
+#endif // _LIBCPP___CXX03___ALGORITHM_SIMD_UTILS_H
diff --git a/libcxx/include/__cxx03/__algorithm/sort.h b/libcxx/include/__cxx03/__algorithm/sort.h
index d14ec87b4aea..009ebf717bbd 100644
--- a/libcxx/include/__cxx03/__algorithm/sort.h
+++ b/libcxx/include/__cxx03/__algorithm/sort.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_SORT_H
-#define _LIBCPP___ALGORITHM_SORT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_SORT_H
+#define _LIBCPP___CXX03___ALGORITHM_SORT_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -1013,4 +1013,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_SORT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_SORT_H
diff --git a/libcxx/include/__cxx03/__algorithm/sort_heap.h b/libcxx/include/__cxx03/__algorithm/sort_heap.h
index c2d218b8f5e0..b5a341103980 100644
--- a/libcxx/include/__cxx03/__algorithm/sort_heap.h
+++ b/libcxx/include/__cxx03/__algorithm/sort_heap.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_SORT_HEAP_H
-#define _LIBCPP___ALGORITHM_SORT_HEAP_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_SORT_HEAP_H
+#define _LIBCPP___CXX03___ALGORITHM_SORT_HEAP_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -60,4 +60,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_SORT_HEAP_H
+#endif // _LIBCPP___CXX03___ALGORITHM_SORT_HEAP_H
diff --git a/libcxx/include/__cxx03/__algorithm/stable_partition.h b/libcxx/include/__cxx03/__algorithm/stable_partition.h
index cea18b30fbb3..c8044987e247 100644
--- a/libcxx/include/__cxx03/__algorithm/stable_partition.h
+++ b/libcxx/include/__cxx03/__algorithm/stable_partition.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_STABLE_PARTITION_H
-#define _LIBCPP___ALGORITHM_STABLE_PARTITION_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_STABLE_PARTITION_H
+#define _LIBCPP___CXX03___ALGORITHM_STABLE_PARTITION_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__algorithm/rotate.h>
@@ -304,4 +304,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_STABLE_PARTITION_H
+#endif // _LIBCPP___CXX03___ALGORITHM_STABLE_PARTITION_H
diff --git a/libcxx/include/__cxx03/__algorithm/stable_sort.h b/libcxx/include/__cxx03/__algorithm/stable_sort.h
index 6a3cef7ec1b6..e1f89f6341b9 100644
--- a/libcxx/include/__cxx03/__algorithm/stable_sort.h
+++ b/libcxx/include/__cxx03/__algorithm/stable_sort.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_STABLE_SORT_H
-#define _LIBCPP___ALGORITHM_STABLE_SORT_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_STABLE_SORT_H
+#define _LIBCPP___CXX03___ALGORITHM_STABLE_SORT_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/comp_ref_type.h>
@@ -270,4 +270,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_STABLE_SORT_H
+#endif // _LIBCPP___CXX03___ALGORITHM_STABLE_SORT_H
diff --git a/libcxx/include/__cxx03/__algorithm/swap_ranges.h b/libcxx/include/__cxx03/__algorithm/swap_ranges.h
index 12bc8056e357..9a19ffe602b3 100644
--- a/libcxx/include/__cxx03/__algorithm/swap_ranges.h
+++ b/libcxx/include/__cxx03/__algorithm/swap_ranges.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_SWAP_RANGES_H
-#define _LIBCPP___ALGORITHM_SWAP_RANGES_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_SWAP_RANGES_H
+#define _LIBCPP___CXX03___ALGORITHM_SWAP_RANGES_H
#include <__cxx03/__algorithm/iterator_operations.h>
#include <__cxx03/__config>
@@ -59,4 +59,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_SWAP_RANGES_H
+#endif // _LIBCPP___CXX03___ALGORITHM_SWAP_RANGES_H
diff --git a/libcxx/include/__cxx03/__algorithm/three_way_comp_ref_type.h b/libcxx/include/__cxx03/__algorithm/three_way_comp_ref_type.h
index be6a4e4d0148..4463bd211548 100644
--- a/libcxx/include/__cxx03/__algorithm/three_way_comp_ref_type.h
+++ b/libcxx/include/__cxx03/__algorithm/three_way_comp_ref_type.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_THREE_WAY_COMP_REF_TYPE_H
-#define _LIBCPP___ALGORITHM_THREE_WAY_COMP_REF_TYPE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_THREE_WAY_COMP_REF_TYPE_H
+#define _LIBCPP___CXX03___ALGORITHM_THREE_WAY_COMP_REF_TYPE_H
#include <__cxx03/__assert>
#include <__cxx03/__compare/ordering.h>
@@ -71,4 +71,4 @@ using __three_way_comp_ref_type = _Comp&;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_THREE_WAY_COMP_REF_TYPE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_THREE_WAY_COMP_REF_TYPE_H
diff --git a/libcxx/include/__cxx03/__algorithm/transform.h b/libcxx/include/__cxx03/__algorithm/transform.h
index 1608932b050b..4bed1ed4f8d5 100644
--- a/libcxx/include/__cxx03/__algorithm/transform.h
+++ b/libcxx/include/__cxx03/__algorithm/transform.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_TRANSFORM_H
-#define _LIBCPP___ALGORITHM_TRANSFORM_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_TRANSFORM_H
+#define _LIBCPP___CXX03___ALGORITHM_TRANSFORM_H
#include <__cxx03/__config>
@@ -39,4 +39,4 @@ inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _OutputIterator trans
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ALGORITHM_TRANSFORM_H
+#endif // _LIBCPP___CXX03___ALGORITHM_TRANSFORM_H
diff --git a/libcxx/include/__cxx03/__algorithm/uniform_random_bit_generator_adaptor.h b/libcxx/include/__cxx03/__algorithm/uniform_random_bit_generator_adaptor.h
index 25a9e35fd7aa..8d3858226b99 100644
--- a/libcxx/include/__cxx03/__algorithm/uniform_random_bit_generator_adaptor.h
+++ b/libcxx/include/__cxx03/__algorithm/uniform_random_bit_generator_adaptor.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_RANGES_UNIFORM_RANDOM_BIT_GENERATOR_ADAPTOR_H
-#define _LIBCPP___ALGORITHM_RANGES_UNIFORM_RANDOM_BIT_GENERATOR_ADAPTOR_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_RANGES_UNIFORM_RANDOM_BIT_GENERATOR_ADAPTOR_H
+#define _LIBCPP___CXX03___ALGORITHM_RANGES_UNIFORM_RANDOM_BIT_GENERATOR_ADAPTOR_H
#include <__cxx03/__config>
#include <__cxx03/__functional/invoke.h>
@@ -55,4 +55,4 @@ _LIBCPP_POP_MACROS
#endif // _LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___ALGORITHM_RANGES_UNIFORM_RANDOM_BIT_GENERATOR_ADAPTOR_H
+#endif // _LIBCPP___CXX03___ALGORITHM_RANGES_UNIFORM_RANDOM_BIT_GENERATOR_ADAPTOR_H
diff --git a/libcxx/include/__cxx03/__algorithm/unique.h b/libcxx/include/__cxx03/__algorithm/unique.h
index 8d21c63eb2b7..b7eb2849e4e3 100644
--- a/libcxx/include/__cxx03/__algorithm/unique.h
+++ b/libcxx/include/__cxx03/__algorithm/unique.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_UNIQUE_H
-#define _LIBCPP___ALGORITHM_UNIQUE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_UNIQUE_H
+#define _LIBCPP___CXX03___ALGORITHM_UNIQUE_H
#include <__cxx03/__algorithm/adjacent_find.h>
#include <__cxx03/__algorithm/comp.h>
@@ -61,4 +61,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_UNIQUE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_UNIQUE_H
diff --git a/libcxx/include/__cxx03/__algorithm/unique_copy.h b/libcxx/include/__cxx03/__algorithm/unique_copy.h
index cfa95a58f7b0..6d3daefaa1ca 100644
--- a/libcxx/include/__cxx03/__algorithm/unique_copy.h
+++ b/libcxx/include/__cxx03/__algorithm/unique_copy.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_UNIQUE_COPY_H
-#define _LIBCPP___ALGORITHM_UNIQUE_COPY_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_UNIQUE_COPY_H
+#define _LIBCPP___CXX03___ALGORITHM_UNIQUE_COPY_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/iterator_operations.h>
@@ -124,4 +124,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_UNIQUE_COPY_H
+#endif // _LIBCPP___CXX03___ALGORITHM_UNIQUE_COPY_H
diff --git a/libcxx/include/__cxx03/__algorithm/unwrap_iter.h b/libcxx/include/__cxx03/__algorithm/unwrap_iter.h
index b3259af17dd0..055f56b9db15 100644
--- a/libcxx/include/__cxx03/__algorithm/unwrap_iter.h
+++ b/libcxx/include/__cxx03/__algorithm/unwrap_iter.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_UNWRAP_ITER_H
-#define _LIBCPP___ALGORITHM_UNWRAP_ITER_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_UNWRAP_ITER_H
+#define _LIBCPP___CXX03___ALGORITHM_UNWRAP_ITER_H
#include <__cxx03/__config>
#include <__cxx03/__iterator/iterator_traits.h>
@@ -82,4 +82,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_UNWRAP_ITER_H
+#endif // _LIBCPP___CXX03___ALGORITHM_UNWRAP_ITER_H
diff --git a/libcxx/include/__cxx03/__algorithm/unwrap_range.h b/libcxx/include/__cxx03/__algorithm/unwrap_range.h
index 26045ef7075a..0b81f1e805c8 100644
--- a/libcxx/include/__cxx03/__algorithm/unwrap_range.h
+++ b/libcxx/include/__cxx03/__algorithm/unwrap_range.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_UNWRAP_RANGE_H
-#define _LIBCPP___ALGORITHM_UNWRAP_RANGE_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_UNWRAP_RANGE_H
+#define _LIBCPP___CXX03___ALGORITHM_UNWRAP_RANGE_H
#include <__cxx03/__algorithm/unwrap_iter.h>
#include <__cxx03/__concepts/constructible.h>
@@ -96,4 +96,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_UNWRAP_RANGE_H
+#endif // _LIBCPP___CXX03___ALGORITHM_UNWRAP_RANGE_H
diff --git a/libcxx/include/__cxx03/__algorithm/upper_bound.h b/libcxx/include/__cxx03/__algorithm/upper_bound.h
index 069dd6d253e2..3a0f1f560cb7 100644
--- a/libcxx/include/__cxx03/__algorithm/upper_bound.h
+++ b/libcxx/include/__cxx03/__algorithm/upper_bound.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ALGORITHM_UPPER_BOUND_H
-#define _LIBCPP___ALGORITHM_UPPER_BOUND_H
+#ifndef _LIBCPP___CXX03___ALGORITHM_UPPER_BOUND_H
+#define _LIBCPP___CXX03___ALGORITHM_UPPER_BOUND_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__algorithm/half_positive.h>
@@ -65,4 +65,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ALGORITHM_UPPER_BOUND_H
+#endif // _LIBCPP___CXX03___ALGORITHM_UPPER_BOUND_H
diff --git a/libcxx/include/__cxx03/__assert b/libcxx/include/__cxx03/__assert
index 19a322934e41..f6c4d8e4a5d0 100644
--- a/libcxx/include/__cxx03/__assert
+++ b/libcxx/include/__cxx03/__assert
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ASSERT
-#define _LIBCPP___ASSERT
+#ifndef _LIBCPP___CXX03___ASSERT
+#define _LIBCPP___CXX03___ASSERT
#include <__assertion_handler> // Note: this include is generated by CMake and is potentially vendor-provided.
#include <__cxx03/__config>
@@ -115,4 +115,4 @@
#endif // _LIBCPP_HARDENING_MODE == _LIBCPP_HARDENING_MODE_FAST
// clang-format on
-#endif // _LIBCPP___ASSERT
+#endif // _LIBCPP___CXX03___ASSERT
diff --git a/libcxx/include/__cxx03/__atomic/aliases.h b/libcxx/include/__cxx03/__atomic/aliases.h
index b5a7685eb4fa..918ffc35ccf6 100644
--- a/libcxx/include/__cxx03/__atomic/aliases.h
+++ b/libcxx/include/__cxx03/__atomic/aliases.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ATOMIC_ALIASES_H
-#define _LIBCPP___ATOMIC_ALIASES_H
+#ifndef _LIBCPP___CXX03___ATOMIC_ALIASES_H
+#define _LIBCPP___CXX03___ATOMIC_ALIASES_H
#include <__cxx03/__atomic/atomic.h>
#include <__cxx03/__atomic/atomic_lock_free.h>
@@ -107,4 +107,4 @@ using atomic_unsigned_lock_free = atomic<make_unsigned_t<__contention_t_or_large
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ATOMIC_ALIASES_H
+#endif // _LIBCPP___CXX03___ATOMIC_ALIASES_H
diff --git a/libcxx/include/__cxx03/__atomic/atomic.h b/libcxx/include/__cxx03/__atomic/atomic.h
index 0e5936e2eb54..9ac800613f82 100644
--- a/libcxx/include/__cxx03/__atomic/atomic.h
+++ b/libcxx/include/__cxx03/__atomic/atomic.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ATOMIC_ATOMIC_H
-#define _LIBCPP___ATOMIC_ATOMIC_H
+#ifndef _LIBCPP___CXX03___ATOMIC_ATOMIC_H
+#define _LIBCPP___CXX03___ATOMIC_ATOMIC_H
#include <__cxx03/__atomic/atomic_base.h>
#include <__cxx03/__atomic/check_memory_order.h>
@@ -619,4 +619,4 @@ atomic_fetch_xor_explicit(atomic<_Tp>* __o, typename atomic<_Tp>::value_type __o
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ATOMIC_ATOMIC_H
+#endif // _LIBCPP___CXX03___ATOMIC_ATOMIC_H
diff --git a/libcxx/include/__cxx03/__atomic/atomic_base.h b/libcxx/include/__cxx03/__atomic/atomic_base.h
index ae6aaf4f8284..e4d4929b8912 100644
--- a/libcxx/include/__cxx03/__atomic/atomic_base.h
+++ b/libcxx/include/__cxx03/__atomic/atomic_base.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ATOMIC_ATOMIC_BASE_H
-#define _LIBCPP___ATOMIC_ATOMIC_BASE_H
+#ifndef _LIBCPP___CXX03___ATOMIC_ATOMIC_BASE_H
+#define _LIBCPP___CXX03___ATOMIC_ATOMIC_BASE_H
#include <__cxx03/__atomic/atomic_sync.h>
#include <__cxx03/__atomic/check_memory_order.h>
@@ -218,4 +218,4 @@ struct __atomic_waitable_traits<__atomic_base<_Tp, _IsIntegral> > {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ATOMIC_ATOMIC_BASE_H
+#endif // _LIBCPP___CXX03___ATOMIC_ATOMIC_BASE_H
diff --git a/libcxx/include/__cxx03/__atomic/atomic_flag.h b/libcxx/include/__cxx03/__atomic/atomic_flag.h
index 6a8471e1f1ec..c119e9bc498e 100644
--- a/libcxx/include/__cxx03/__atomic/atomic_flag.h
+++ b/libcxx/include/__cxx03/__atomic/atomic_flag.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ATOMIC_ATOMIC_FLAG_H
-#define _LIBCPP___ATOMIC_ATOMIC_FLAG_H
+#ifndef _LIBCPP___CXX03___ATOMIC_ATOMIC_FLAG_H
+#define _LIBCPP___CXX03___ATOMIC_ATOMIC_FLAG_H
#include <__cxx03/__atomic/atomic_sync.h>
#include <__cxx03/__atomic/contention_t.h>
@@ -186,4 +186,4 @@ atomic_flag_notify_all(atomic_flag* __o) _NOEXCEPT {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ATOMIC_ATOMIC_FLAG_H
+#endif // _LIBCPP___CXX03___ATOMIC_ATOMIC_FLAG_H
diff --git a/libcxx/include/__cxx03/__atomic/atomic_init.h b/libcxx/include/__cxx03/__atomic/atomic_init.h
index 666afb93268d..edabfe1a12bb 100644
--- a/libcxx/include/__cxx03/__atomic/atomic_init.h
+++ b/libcxx/include/__cxx03/__atomic/atomic_init.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ATOMIC_ATOMIC_INIT_H
-#define _LIBCPP___ATOMIC_ATOMIC_INIT_H
+#ifndef _LIBCPP___CXX03___ATOMIC_ATOMIC_INIT_H
+#define _LIBCPP___CXX03___ATOMIC_ATOMIC_INIT_H
#include <__cxx03/__config>
@@ -22,4 +22,4 @@
# pragma clang deprecated(ATOMIC_VAR_INIT)
#endif
-#endif // _LIBCPP___ATOMIC_ATOMIC_INIT_H
+#endif // _LIBCPP___CXX03___ATOMIC_ATOMIC_INIT_H
diff --git a/libcxx/include/__cxx03/__atomic/atomic_lock_free.h b/libcxx/include/__cxx03/__atomic/atomic_lock_free.h
index 17dfcfd46106..297d148babc8 100644
--- a/libcxx/include/__cxx03/__atomic/atomic_lock_free.h
+++ b/libcxx/include/__cxx03/__atomic/atomic_lock_free.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ATOMIC_ATOMIC_LOCK_FREE_H
-#define _LIBCPP___ATOMIC_ATOMIC_LOCK_FREE_H
+#ifndef _LIBCPP___CXX03___ATOMIC_ATOMIC_LOCK_FREE_H
+#define _LIBCPP___CXX03___ATOMIC_ATOMIC_LOCK_FREE_H
#include <__cxx03/__config>
@@ -45,4 +45,4 @@
# define ATOMIC_POINTER_LOCK_FREE __GCC_ATOMIC_POINTER_LOCK_FREE
#endif
-#endif // _LIBCPP___ATOMIC_ATOMIC_LOCK_FREE_H
+#endif // _LIBCPP___CXX03___ATOMIC_ATOMIC_LOCK_FREE_H
diff --git a/libcxx/include/__cxx03/__atomic/atomic_ref.h b/libcxx/include/__cxx03/__atomic/atomic_ref.h
index c19e6a2e5d26..f30aac3210e2 100644
--- a/libcxx/include/__cxx03/__atomic/atomic_ref.h
+++ b/libcxx/include/__cxx03/__atomic/atomic_ref.h
@@ -14,8 +14,8 @@
//
//===---------------------------------------------------------------------===//
-#ifndef _LIBCPP___ATOMIC_ATOMIC_REF_H
-#define _LIBCPP___ATOMIC_ATOMIC_REF_H
+#ifndef _LIBCPP___CXX03___ATOMIC_ATOMIC_REF_H
+#define _LIBCPP___CXX03___ATOMIC_ATOMIC_REF_H
#include <__cxx03/__assert>
#include <__cxx03/__atomic/atomic_sync.h>
@@ -375,4 +375,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP__ATOMIC_ATOMIC_REF_H
+#endif // _LIBCPP___CXX03__ATOMIC_ATOMIC_REF_H
diff --git a/libcxx/include/__cxx03/__atomic/atomic_sync.h b/libcxx/include/__cxx03/__atomic/atomic_sync.h
index 815c8a145964..ca029f038405 100644
--- a/libcxx/include/__cxx03/__atomic/atomic_sync.h
+++ b/libcxx/include/__cxx03/__atomic/atomic_sync.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ATOMIC_ATOMIC_SYNC_H
-#define _LIBCPP___ATOMIC_ATOMIC_SYNC_H
+#ifndef _LIBCPP___CXX03___ATOMIC_ATOMIC_SYNC_H
+#define _LIBCPP___CXX03___ATOMIC_ATOMIC_SYNC_H
#include <__cxx03/__atomic/contention_t.h>
#include <__cxx03/__atomic/cxx_atomic_impl.h>
@@ -202,4 +202,4 @@ __atomic_wait(_AtomicWaitable& __a, _Up __val, memory_order __order) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ATOMIC_ATOMIC_SYNC_H
+#endif // _LIBCPP___CXX03___ATOMIC_ATOMIC_SYNC_H
diff --git a/libcxx/include/__cxx03/__atomic/check_memory_order.h b/libcxx/include/__cxx03/__atomic/check_memory_order.h
index 11033ef2c3b4..5661efd4bad2 100644
--- a/libcxx/include/__cxx03/__atomic/check_memory_order.h
+++ b/libcxx/include/__cxx03/__atomic/check_memory_order.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ATOMIC_CHECK_MEMORY_ORDER_H
-#define _LIBCPP___ATOMIC_CHECK_MEMORY_ORDER_H
+#ifndef _LIBCPP___CXX03___ATOMIC_CHECK_MEMORY_ORDER_H
+#define _LIBCPP___CXX03___ATOMIC_CHECK_MEMORY_ORDER_H
#include <__cxx03/__config>
@@ -31,4 +31,4 @@
_LIBCPP_DIAGNOSE_WARNING(__m == memory_order_release || __m == memory_order_acq_rel, \
"memory order argument to atomic operation is invalid")
-#endif // _LIBCPP___ATOMIC_CHECK_MEMORY_ORDER_H
+#endif // _LIBCPP___CXX03___ATOMIC_CHECK_MEMORY_ORDER_H
diff --git a/libcxx/include/__cxx03/__atomic/contention_t.h b/libcxx/include/__cxx03/__atomic/contention_t.h
index 1f069b01b28e..a97f0668da2f 100644
--- a/libcxx/include/__cxx03/__atomic/contention_t.h
+++ b/libcxx/include/__cxx03/__atomic/contention_t.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ATOMIC_CONTENTION_T_H
-#define _LIBCPP___ATOMIC_CONTENTION_T_H
+#ifndef _LIBCPP___CXX03___ATOMIC_CONTENTION_T_H
+#define _LIBCPP___CXX03___ATOMIC_CONTENTION_T_H
#include <__cxx03/__atomic/cxx_atomic_impl.h>
#include <__cxx03/__config>
@@ -29,4 +29,4 @@ using __cxx_atomic_contention_t = __cxx_atomic_impl<__cxx_contention_t>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ATOMIC_CONTENTION_T_H
+#endif // _LIBCPP___CXX03___ATOMIC_CONTENTION_T_H
diff --git a/libcxx/include/__cxx03/__atomic/cxx_atomic_impl.h b/libcxx/include/__cxx03/__atomic/cxx_atomic_impl.h
index f06627f1a8f6..990d283c62d1 100644
--- a/libcxx/include/__cxx03/__atomic/cxx_atomic_impl.h
+++ b/libcxx/include/__cxx03/__atomic/cxx_atomic_impl.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ATOMIC_CXX_ATOMIC_IMPL_H
-#define _LIBCPP___ATOMIC_CXX_ATOMIC_IMPL_H
+#ifndef _LIBCPP___CXX03___ATOMIC_CXX_ATOMIC_IMPL_H
+#define _LIBCPP___CXX03___ATOMIC_CXX_ATOMIC_IMPL_H
#include <__cxx03/__atomic/memory_order.h>
#include <__cxx03/__atomic/to_gcc_order.h>
@@ -507,4 +507,4 @@ struct __cxx_atomic_impl : public _Base {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ATOMIC_CXX_ATOMIC_IMPL_H
+#endif // _LIBCPP___CXX03___ATOMIC_CXX_ATOMIC_IMPL_H
diff --git a/libcxx/include/__cxx03/__atomic/fence.h b/libcxx/include/__cxx03/__atomic/fence.h
index 5200cd533bde..05eaa83f3640 100644
--- a/libcxx/include/__cxx03/__atomic/fence.h
+++ b/libcxx/include/__cxx03/__atomic/fence.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ATOMIC_FENCE_H
-#define _LIBCPP___ATOMIC_FENCE_H
+#ifndef _LIBCPP___CXX03___ATOMIC_FENCE_H
+#define _LIBCPP___CXX03___ATOMIC_FENCE_H
#include <__cxx03/__atomic/cxx_atomic_impl.h>
#include <__cxx03/__atomic/memory_order.h>
@@ -25,4 +25,4 @@ inline _LIBCPP_HIDE_FROM_ABI void atomic_signal_fence(memory_order __m) _NOEXCEP
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ATOMIC_FENCE_H
+#endif // _LIBCPP___CXX03___ATOMIC_FENCE_H
diff --git a/libcxx/include/__cxx03/__atomic/is_always_lock_free.h b/libcxx/include/__cxx03/__atomic/is_always_lock_free.h
index 29c42d9340fd..45628ae53214 100644
--- a/libcxx/include/__cxx03/__atomic/is_always_lock_free.h
+++ b/libcxx/include/__cxx03/__atomic/is_always_lock_free.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ATOMIC_IS_ALWAYS_LOCK_FREE_H
-#define _LIBCPP___ATOMIC_IS_ALWAYS_LOCK_FREE_H
+#ifndef _LIBCPP___CXX03___ATOMIC_IS_ALWAYS_LOCK_FREE_H
+#define _LIBCPP___CXX03___ATOMIC_IS_ALWAYS_LOCK_FREE_H
#include <__cxx03/__config>
@@ -25,4 +25,4 @@ struct __libcpp_is_always_lock_free {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ATOMIC_IS_ALWAYS_LOCK_FREE_H
+#endif // _LIBCPP___CXX03___ATOMIC_IS_ALWAYS_LOCK_FREE_H
diff --git a/libcxx/include/__cxx03/__atomic/kill_dependency.h b/libcxx/include/__cxx03/__atomic/kill_dependency.h
index 3deb29f0dbda..1e0dfc81e3c5 100644
--- a/libcxx/include/__cxx03/__atomic/kill_dependency.h
+++ b/libcxx/include/__cxx03/__atomic/kill_dependency.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ATOMIC_KILL_DEPENDENCY_H
-#define _LIBCPP___ATOMIC_KILL_DEPENDENCY_H
+#ifndef _LIBCPP___CXX03___ATOMIC_KILL_DEPENDENCY_H
+#define _LIBCPP___CXX03___ATOMIC_KILL_DEPENDENCY_H
#include <__cxx03/__config>
@@ -24,4 +24,4 @@ _LIBCPP_HIDE_FROM_ABI _Tp kill_dependency(_Tp __y) _NOEXCEPT {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ATOMIC_KILL_DEPENDENCY_H
+#endif // _LIBCPP___CXX03___ATOMIC_KILL_DEPENDENCY_H
diff --git a/libcxx/include/__cxx03/__atomic/memory_order.h b/libcxx/include/__cxx03/__atomic/memory_order.h
index 8a7564dc1553..b8b9dda3d115 100644
--- a/libcxx/include/__cxx03/__atomic/memory_order.h
+++ b/libcxx/include/__cxx03/__atomic/memory_order.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ATOMIC_MEMORY_ORDER_H
-#define _LIBCPP___ATOMIC_MEMORY_ORDER_H
+#ifndef _LIBCPP___CXX03___ATOMIC_MEMORY_ORDER_H
+#define _LIBCPP___CXX03___ATOMIC_MEMORY_ORDER_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/is_same.h>
@@ -62,4 +62,4 @@ enum memory_order {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ATOMIC_MEMORY_ORDER_H
+#endif // _LIBCPP___CXX03___ATOMIC_MEMORY_ORDER_H
diff --git a/libcxx/include/__cxx03/__atomic/to_gcc_order.h b/libcxx/include/__cxx03/__atomic/to_gcc_order.h
index 41ada8828173..aab3c59602f1 100644
--- a/libcxx/include/__cxx03/__atomic/to_gcc_order.h
+++ b/libcxx/include/__cxx03/__atomic/to_gcc_order.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ATOMIC_TO_GCC_ORDER_H
-#define _LIBCPP___ATOMIC_TO_GCC_ORDER_H
+#ifndef _LIBCPP___CXX03___ATOMIC_TO_GCC_ORDER_H
+#define _LIBCPP___CXX03___ATOMIC_TO_GCC_ORDER_H
#include <__cxx03/__atomic/memory_order.h>
#include <__cxx03/__config>
@@ -51,4 +51,4 @@ _LIBCPP_HIDE_FROM_ABI inline _LIBCPP_CONSTEXPR int __to_gcc_failure_order(memory
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ATOMIC_TO_GCC_ORDER_H
+#endif // _LIBCPP___CXX03___ATOMIC_TO_GCC_ORDER_H
diff --git a/libcxx/include/__cxx03/__bit/bit_cast.h b/libcxx/include/__cxx03/__bit/bit_cast.h
index 9f88805e125d..2613dc4aa332 100644
--- a/libcxx/include/__cxx03/__bit/bit_cast.h
+++ b/libcxx/include/__cxx03/__bit/bit_cast.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___BIT_BIT_CAST_H
-#define _LIBCPP___BIT_BIT_CAST_H
+#ifndef _LIBCPP___CXX03___BIT_BIT_CAST_H
+#define _LIBCPP___CXX03___BIT_BIT_CAST_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/is_trivially_copyable.h>
@@ -41,4 +41,4 @@ template <class _ToType, class _FromType>
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___BIT_BIT_CAST_H
+#endif // _LIBCPP___CXX03___BIT_BIT_CAST_H
diff --git a/libcxx/include/__cxx03/__bit/bit_ceil.h b/libcxx/include/__cxx03/__bit/bit_ceil.h
index b5cb5cc08f42..598344b1d426 100644
--- a/libcxx/include/__cxx03/__bit/bit_ceil.h
+++ b/libcxx/include/__cxx03/__bit/bit_ceil.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___BIT_BIT_CEIL_H
-#define _LIBCPP___BIT_BIT_CEIL_H
+#ifndef _LIBCPP___CXX03___BIT_BIT_CEIL_H
+#define _LIBCPP___CXX03___BIT_BIT_CEIL_H
#include <__cxx03/__assert>
#include <__cxx03/__bit/countl.h>
@@ -51,4 +51,4 @@ template <__libcpp_unsigned_integer _Tp>
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___BIT_BIT_CEIL_H
+#endif // _LIBCPP___CXX03___BIT_BIT_CEIL_H
diff --git a/libcxx/include/__cxx03/__bit/bit_floor.h b/libcxx/include/__cxx03/__bit/bit_floor.h
index 93379be5e216..b39d73a64e07 100644
--- a/libcxx/include/__cxx03/__bit/bit_floor.h
+++ b/libcxx/include/__cxx03/__bit/bit_floor.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___BIT_BIT_FLOOR_H
-#define _LIBCPP___BIT_BIT_FLOOR_H
+#ifndef _LIBCPP___CXX03___BIT_BIT_FLOOR_H
+#define _LIBCPP___CXX03___BIT_BIT_FLOOR_H
#include <__cxx03/__bit/bit_log2.h>
#include <__cxx03/__concepts/arithmetic.h>
@@ -31,4 +31,4 @@ template <__libcpp_unsigned_integer _Tp>
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___BIT_BIT_FLOOR_H
+#endif // _LIBCPP___CXX03___BIT_BIT_FLOOR_H
diff --git a/libcxx/include/__cxx03/__bit/bit_log2.h b/libcxx/include/__cxx03/__bit/bit_log2.h
index 16a7fb1ec336..1ca80959e6da 100644
--- a/libcxx/include/__cxx03/__bit/bit_log2.h
+++ b/libcxx/include/__cxx03/__bit/bit_log2.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___BIT_BIT_LOG2_H
-#define _LIBCPP___BIT_BIT_LOG2_H
+#ifndef _LIBCPP___CXX03___BIT_BIT_LOG2_H
+#define _LIBCPP___CXX03___BIT_BIT_LOG2_H
#include <__cxx03/__bit/countl.h>
#include <__cxx03/__concepts/arithmetic.h>
@@ -31,4 +31,4 @@ _LIBCPP_HIDE_FROM_ABI constexpr _Tp __bit_log2(_Tp __t) noexcept {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___BIT_BIT_LOG2_H
+#endif // _LIBCPP___CXX03___BIT_BIT_LOG2_H
diff --git a/libcxx/include/__cxx03/__bit/bit_width.h b/libcxx/include/__cxx03/__bit/bit_width.h
index 4832359f7532..e5d9ffd03ca7 100644
--- a/libcxx/include/__cxx03/__bit/bit_width.h
+++ b/libcxx/include/__cxx03/__bit/bit_width.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___BIT_BIT_WIDTH_H
-#define _LIBCPP___BIT_BIT_WIDTH_H
+#ifndef _LIBCPP___CXX03___BIT_BIT_WIDTH_H
+#define _LIBCPP___CXX03___BIT_BIT_WIDTH_H
#include <__cxx03/__bit/bit_log2.h>
#include <__cxx03/__concepts/arithmetic.h>
@@ -30,4 +30,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___BIT_BIT_WIDTH_H
+#endif // _LIBCPP___CXX03___BIT_BIT_WIDTH_H
diff --git a/libcxx/include/__cxx03/__bit/blsr.h b/libcxx/include/__cxx03/__bit/blsr.h
index 5375bdf9208d..ae1d8b588925 100644
--- a/libcxx/include/__cxx03/__bit/blsr.h
+++ b/libcxx/include/__cxx03/__bit/blsr.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___BIT_BLSR_H
-#define _LIBCPP___BIT_BLSR_H
+#ifndef _LIBCPP___CXX03___BIT_BLSR_H
+#define _LIBCPP___CXX03___BIT_BLSR_H
#include <__cxx03/__config>
@@ -31,4 +31,4 @@ inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR unsigned long long __libcpp_blsr(
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___BIT_BLSR_H
+#endif // _LIBCPP___CXX03___BIT_BLSR_H
diff --git a/libcxx/include/__cxx03/__bit/byteswap.h b/libcxx/include/__cxx03/__bit/byteswap.h
index 6e6560051228..f40d870ca7fc 100644
--- a/libcxx/include/__cxx03/__bit/byteswap.h
+++ b/libcxx/include/__cxx03/__bit/byteswap.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___BIT_BYTESWAP_H
-#define _LIBCPP___BIT_BYTESWAP_H
+#ifndef _LIBCPP___CXX03___BIT_BYTESWAP_H
+#define _LIBCPP___CXX03___BIT_BYTESWAP_H
#include <__cxx03/__concepts/arithmetic.h>
#include <__cxx03/__config>
@@ -50,4 +50,4 @@ template <integral _Tp>
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___BIT_BYTESWAP_H
+#endif // _LIBCPP___CXX03___BIT_BYTESWAP_H
diff --git a/libcxx/include/__cxx03/__bit/countl.h b/libcxx/include/__cxx03/__bit/countl.h
index 9a4a269a7da2..0c8181b53408 100644
--- a/libcxx/include/__cxx03/__bit/countl.h
+++ b/libcxx/include/__cxx03/__bit/countl.h
@@ -9,8 +9,8 @@
// TODO: __builtin_clzg is available since Clang 19 and GCC 14. When support for older versions is dropped, we can
// refactor this code to exclusively use __builtin_clzg.
-#ifndef _LIBCPP___BIT_COUNTL_H
-#define _LIBCPP___BIT_COUNTL_H
+#ifndef _LIBCPP___CXX03___BIT_COUNTL_H
+#define _LIBCPP___CXX03___BIT_COUNTL_H
#include <__cxx03/__bit/rotate.h>
#include <__cxx03/__concepts/arithmetic.h>
@@ -110,4 +110,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___BIT_COUNTL_H
+#endif // _LIBCPP___CXX03___BIT_COUNTL_H
diff --git a/libcxx/include/__cxx03/__bit/countr.h b/libcxx/include/__cxx03/__bit/countr.h
index 34525f591048..d9306a234cb3 100644
--- a/libcxx/include/__cxx03/__bit/countr.h
+++ b/libcxx/include/__cxx03/__bit/countr.h
@@ -9,8 +9,8 @@
// TODO: __builtin_ctzg is available since Clang 19 and GCC 14. When support for older versions is dropped, we can
// refactor this code to exclusively use __builtin_ctzg.
-#ifndef _LIBCPP___BIT_COUNTR_H
-#define _LIBCPP___BIT_COUNTR_H
+#ifndef _LIBCPP___CXX03___BIT_COUNTR_H
+#define _LIBCPP___CXX03___BIT_COUNTR_H
#include <__cxx03/__bit/rotate.h>
#include <__cxx03/__concepts/arithmetic.h>
@@ -81,4 +81,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___BIT_COUNTR_H
+#endif // _LIBCPP___CXX03___BIT_COUNTR_H
diff --git a/libcxx/include/__cxx03/__bit/endian.h b/libcxx/include/__cxx03/__bit/endian.h
index ba0a5ac4c2d0..641f827736b4 100644
--- a/libcxx/include/__cxx03/__bit/endian.h
+++ b/libcxx/include/__cxx03/__bit/endian.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___BIT_ENDIAN_H
-#define _LIBCPP___BIT_ENDIAN_H
+#ifndef _LIBCPP___CXX03___BIT_ENDIAN_H
+#define _LIBCPP___CXX03___BIT_ENDIAN_H
#include <__cxx03/__config>
@@ -35,4 +35,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___BIT_ENDIAN_H
+#endif // _LIBCPP___CXX03___BIT_ENDIAN_H
diff --git a/libcxx/include/__cxx03/__bit/has_single_bit.h b/libcxx/include/__cxx03/__bit/has_single_bit.h
index 8f69d343a608..07f3f8523d58 100644
--- a/libcxx/include/__cxx03/__bit/has_single_bit.h
+++ b/libcxx/include/__cxx03/__bit/has_single_bit.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___BIT_HAS_SINGLE_BIT_H
-#define _LIBCPP___BIT_HAS_SINGLE_BIT_H
+#ifndef _LIBCPP___CXX03___BIT_HAS_SINGLE_BIT_H
+#define _LIBCPP___CXX03___BIT_HAS_SINGLE_BIT_H
#include <__cxx03/__concepts/arithmetic.h>
#include <__cxx03/__config>
@@ -34,4 +34,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___BIT_HAS_SINGLE_BIT_H
+#endif // _LIBCPP___CXX03___BIT_HAS_SINGLE_BIT_H
diff --git a/libcxx/include/__cxx03/__bit/invert_if.h b/libcxx/include/__cxx03/__bit/invert_if.h
index 0b729bc79c19..b111d702ea75 100644
--- a/libcxx/include/__cxx03/__bit/invert_if.h
+++ b/libcxx/include/__cxx03/__bit/invert_if.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___BIT_INVERT_IF_H
-#define _LIBCPP___BIT_INVERT_IF_H
+#ifndef _LIBCPP___CXX03___BIT_INVERT_IF_H
+#define _LIBCPP___CXX03___BIT_INVERT_IF_H
#include <__cxx03/__concepts/arithmetic.h>
#include <__cxx03/__config>
@@ -27,4 +27,4 @@ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 _Tp __invert_if(_Tp __v) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___BIT_INVERT_IF_H
+#endif // _LIBCPP___CXX03___BIT_INVERT_IF_H
diff --git a/libcxx/include/__cxx03/__bit/popcount.h b/libcxx/include/__cxx03/__bit/popcount.h
index 70a12ea26074..835c07703f23 100644
--- a/libcxx/include/__cxx03/__bit/popcount.h
+++ b/libcxx/include/__cxx03/__bit/popcount.h
@@ -9,8 +9,8 @@
// TODO: __builtin_popcountg is available since Clang 19 and GCC 14. When support for older versions is dropped, we can
// refactor this code to exclusively use __builtin_popcountg.
-#ifndef _LIBCPP___BIT_POPCOUNT_H
-#define _LIBCPP___BIT_POPCOUNT_H
+#ifndef _LIBCPP___CXX03___BIT_POPCOUNT_H
+#define _LIBCPP___CXX03___BIT_POPCOUNT_H
#include <__cxx03/__bit/rotate.h>
#include <__cxx03/__concepts/arithmetic.h>
@@ -68,4 +68,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___BIT_POPCOUNT_H
+#endif // _LIBCPP___CXX03___BIT_POPCOUNT_H
diff --git a/libcxx/include/__cxx03/__bit/rotate.h b/libcxx/include/__cxx03/__bit/rotate.h
index 02b4ac66af10..0ce3d2c7629d 100644
--- a/libcxx/include/__cxx03/__bit/rotate.h
+++ b/libcxx/include/__cxx03/__bit/rotate.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___BIT_ROTATE_H
-#define _LIBCPP___BIT_ROTATE_H
+#ifndef _LIBCPP___CXX03___BIT_ROTATE_H
+#define _LIBCPP___CXX03___BIT_ROTATE_H
#include <__cxx03/__concepts/arithmetic.h>
#include <__cxx03/__config>
@@ -69,4 +69,4 @@ template <__libcpp_unsigned_integer _Tp>
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___BIT_ROTATE_H
+#endif // _LIBCPP___CXX03___BIT_ROTATE_H
diff --git a/libcxx/include/__cxx03/__bit_reference b/libcxx/include/__cxx03/__bit_reference
index 7339f5bd8c9e..bf86f9a76e24 100644
--- a/libcxx/include/__cxx03/__bit_reference
+++ b/libcxx/include/__cxx03/__bit_reference
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___BIT_REFERENCE
-#define _LIBCPP___BIT_REFERENCE
+#ifndef _LIBCPP___CXX03___BIT_REFERENCE
+#define _LIBCPP___CXX03___BIT_REFERENCE
#include <__cxx03/__algorithm/copy_n.h>
#include <__cxx03/__algorithm/fill_n.h>
@@ -1021,4 +1021,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___BIT_REFERENCE
+#endif // _LIBCPP___CXX03___BIT_REFERENCE
diff --git a/libcxx/include/__cxx03/__charconv/chars_format.h b/libcxx/include/__cxx03/__charconv/chars_format.h
index c206289c0c25..a886521832ef 100644
--- a/libcxx/include/__cxx03/__charconv/chars_format.h
+++ b/libcxx/include/__cxx03/__charconv/chars_format.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHARCONV_CHARS_FORMAT_H
-#define _LIBCPP___CHARCONV_CHARS_FORMAT_H
+#ifndef _LIBCPP___CXX03___CHARCONV_CHARS_FORMAT_H
+#define _LIBCPP___CXX03___CHARCONV_CHARS_FORMAT_H
#include <__cxx03/__config>
#include <__cxx03/__utility/to_underlying.h>
@@ -58,4 +58,4 @@ inline _LIBCPP_HIDE_FROM_ABI constexpr chars_format& operator^=(chars_format& __
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CHARCONV_CHARS_FORMAT_H
+#endif // _LIBCPP___CXX03___CHARCONV_CHARS_FORMAT_H
diff --git a/libcxx/include/__cxx03/__charconv/from_chars_integral.h b/libcxx/include/__cxx03/__charconv/from_chars_integral.h
index a3d6e5537280..ba3746fcf776 100644
--- a/libcxx/include/__cxx03/__charconv/from_chars_integral.h
+++ b/libcxx/include/__cxx03/__charconv/from_chars_integral.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHARCONV_FROM_CHARS_INTEGRAL_H
-#define _LIBCPP___CHARCONV_FROM_CHARS_INTEGRAL_H
+#ifndef _LIBCPP___CXX03___CHARCONV_FROM_CHARS_INTEGRAL_H
+#define _LIBCPP___CXX03___CHARCONV_FROM_CHARS_INTEGRAL_H
#include <__cxx03/__algorithm/copy_n.h>
#include <__cxx03/__assert>
@@ -237,4 +237,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___CHARCONV_FROM_CHARS_INTEGRAL_H
+#endif // _LIBCPP___CXX03___CHARCONV_FROM_CHARS_INTEGRAL_H
diff --git a/libcxx/include/__cxx03/__charconv/from_chars_result.h b/libcxx/include/__cxx03/__charconv/from_chars_result.h
index 8bba738969e3..03e490fce56a 100644
--- a/libcxx/include/__cxx03/__charconv/from_chars_result.h
+++ b/libcxx/include/__cxx03/__charconv/from_chars_result.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHARCONV_FROM_CHARS_RESULT_H
-#define _LIBCPP___CHARCONV_FROM_CHARS_RESULT_H
+#ifndef _LIBCPP___CXX03___CHARCONV_FROM_CHARS_RESULT_H
+#define _LIBCPP___CXX03___CHARCONV_FROM_CHARS_RESULT_H
#include <__cxx03/__config>
#include <__cxx03/__system_error/errc.h>
@@ -36,4 +36,4 @@ struct _LIBCPP_EXPORTED_FROM_ABI from_chars_result {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CHARCONV_FROM_CHARS_RESULT_H
+#endif // _LIBCPP___CXX03___CHARCONV_FROM_CHARS_RESULT_H
diff --git a/libcxx/include/__cxx03/__charconv/tables.h b/libcxx/include/__cxx03/__charconv/tables.h
index 110352a4be0c..8c9fd3daf170 100644
--- a/libcxx/include/__cxx03/__charconv/tables.h
+++ b/libcxx/include/__cxx03/__charconv/tables.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHARCONV_TABLES
-#define _LIBCPP___CHARCONV_TABLES
+#ifndef _LIBCPP___CXX03___CHARCONV_TABLES
+#define _LIBCPP___CXX03___CHARCONV_TABLES
#include <__cxx03/__config>
#include <__cxx03/cstdint>
@@ -160,4 +160,4 @@ inline constexpr char __digits_base_10[200] = {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CHARCONV_TABLES
+#endif // _LIBCPP___CXX03___CHARCONV_TABLES
diff --git a/libcxx/include/__cxx03/__charconv/to_chars.h b/libcxx/include/__cxx03/__charconv/to_chars.h
index 2db35ace0943..e526ce427c22 100644
--- a/libcxx/include/__cxx03/__charconv/to_chars.h
+++ b/libcxx/include/__cxx03/__charconv/to_chars.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHARCONV_TO_CHARS
-#define _LIBCPP___CHARCONV_TO_CHARS
+#ifndef _LIBCPP___CXX03___CHARCONV_TO_CHARS
+#define _LIBCPP___CXX03___CHARCONV_TO_CHARS
#include <__cxx03/__charconv/to_chars_floating_point.h>
#include <__cxx03/__charconv/to_chars_integral.h>
@@ -22,4 +22,4 @@ _LIBCPP_BEGIN_NAMESPACE_STD
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CHARCONV_TO_CHARS
+#endif // _LIBCPP___CXX03___CHARCONV_TO_CHARS
diff --git a/libcxx/include/__cxx03/__charconv/to_chars_base_10.h b/libcxx/include/__cxx03/__charconv/to_chars_base_10.h
index 33baaf63caee..b13b3e33d8f9 100644
--- a/libcxx/include/__cxx03/__charconv/to_chars_base_10.h
+++ b/libcxx/include/__cxx03/__charconv/to_chars_base_10.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHARCONV_TO_CHARS_BASE_10_H
-#define _LIBCPP___CHARCONV_TO_CHARS_BASE_10_H
+#ifndef _LIBCPP___CXX03___CHARCONV_TO_CHARS_BASE_10_H
+#define _LIBCPP___CXX03___CHARCONV_TO_CHARS_BASE_10_H
#include <__cxx03/__algorithm/copy_n.h>
#include <__cxx03/__assert>
@@ -185,4 +185,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___CHARCONV_TO_CHARS_BASE_10_H
+#endif // _LIBCPP___CXX03___CHARCONV_TO_CHARS_BASE_10_H
diff --git a/libcxx/include/__cxx03/__charconv/to_chars_floating_point.h b/libcxx/include/__cxx03/__charconv/to_chars_floating_point.h
index 305b7e71a6b7..167ffeae7bed 100644
--- a/libcxx/include/__cxx03/__charconv/to_chars_floating_point.h
+++ b/libcxx/include/__cxx03/__charconv/to_chars_floating_point.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHARCONV_TO_CHARS_FLOATING_POINT_H
-#define _LIBCPP___CHARCONV_TO_CHARS_FLOATING_POINT_H
+#ifndef _LIBCPP___CXX03___CHARCONV_TO_CHARS_FLOATING_POINT_H
+#define _LIBCPP___CXX03___CHARCONV_TO_CHARS_FLOATING_POINT_H
#include <__cxx03/__charconv/chars_format.h>
#include <__cxx03/__charconv/to_chars_result.h>
@@ -52,4 +52,4 @@ to_chars(char* __first, char* __last, long double __value, chars_format __fmt, i
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CHARCONV_TO_CHARS_FLOATING_POINT_H
+#endif // _LIBCPP___CXX03___CHARCONV_TO_CHARS_FLOATING_POINT_H
diff --git a/libcxx/include/__cxx03/__charconv/to_chars_integral.h b/libcxx/include/__cxx03/__charconv/to_chars_integral.h
index 0b3f319e7512..2579e0222985 100644
--- a/libcxx/include/__cxx03/__charconv/to_chars_integral.h
+++ b/libcxx/include/__cxx03/__charconv/to_chars_integral.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHARCONV_TO_CHARS_INTEGRAL_H
-#define _LIBCPP___CHARCONV_TO_CHARS_INTEGRAL_H
+#ifndef _LIBCPP___CXX03___CHARCONV_TO_CHARS_INTEGRAL_H
+#define _LIBCPP___CXX03___CHARCONV_TO_CHARS_INTEGRAL_H
#include <__cxx03/__algorithm/copy_n.h>
#include <__cxx03/__assert>
@@ -324,4 +324,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___CHARCONV_TO_CHARS_INTEGRAL_H
+#endif // _LIBCPP___CXX03___CHARCONV_TO_CHARS_INTEGRAL_H
diff --git a/libcxx/include/__cxx03/__charconv/to_chars_result.h b/libcxx/include/__cxx03/__charconv/to_chars_result.h
index 72fef89dcc5f..82a60db6f674 100644
--- a/libcxx/include/__cxx03/__charconv/to_chars_result.h
+++ b/libcxx/include/__cxx03/__charconv/to_chars_result.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHARCONV_TO_CHARS_RESULT_H
-#define _LIBCPP___CHARCONV_TO_CHARS_RESULT_H
+#ifndef _LIBCPP___CXX03___CHARCONV_TO_CHARS_RESULT_H
+#define _LIBCPP___CXX03___CHARCONV_TO_CHARS_RESULT_H
#include <__cxx03/__config>
#include <__cxx03/__system_error/errc.h>
@@ -36,4 +36,4 @@ struct _LIBCPP_EXPORTED_FROM_ABI to_chars_result {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CHARCONV_TO_CHARS_RESULT_H
+#endif // _LIBCPP___CXX03___CHARCONV_TO_CHARS_RESULT_H
diff --git a/libcxx/include/__cxx03/__charconv/traits.h b/libcxx/include/__cxx03/__charconv/traits.h
index 5eafa6caa39e..110ff9c07e7d 100644
--- a/libcxx/include/__cxx03/__charconv/traits.h
+++ b/libcxx/include/__cxx03/__charconv/traits.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHARCONV_TRAITS
-#define _LIBCPP___CHARCONV_TRAITS
+#ifndef _LIBCPP___CXX03___CHARCONV_TRAITS
+#define _LIBCPP___CXX03___CHARCONV_TRAITS
#include <__cxx03/__assert>
#include <__cxx03/__bit/countl.h>
@@ -197,4 +197,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___CHARCONV_TRAITS
+#endif // _LIBCPP___CXX03___CHARCONV_TRAITS
diff --git a/libcxx/include/__cxx03/__chrono/calendar.h b/libcxx/include/__cxx03/__chrono/calendar.h
index 5d8e396851ae..4113ca435cc1 100644
--- a/libcxx/include/__cxx03/__chrono/calendar.h
+++ b/libcxx/include/__cxx03/__chrono/calendar.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHRONO_CALENDAR_H
-#define _LIBCPP___CHRONO_CALENDAR_H
+#ifndef _LIBCPP___CXX03___CHRONO_CALENDAR_H
+#define _LIBCPP___CXX03___CHRONO_CALENDAR_H
#include <__cxx03/__chrono/duration.h>
#include <__cxx03/__chrono/time_point.h>
@@ -41,4 +41,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___CHRONO_CALENDAR_H
+#endif // _LIBCPP___CXX03___CHRONO_CALENDAR_H
diff --git a/libcxx/include/__cxx03/__chrono/concepts.h b/libcxx/include/__cxx03/__chrono/concepts.h
index 1fb524105547..55a2c54fc3f5 100644
--- a/libcxx/include/__cxx03/__chrono/concepts.h
+++ b/libcxx/include/__cxx03/__chrono/concepts.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHRONO_CONCEPTS_H
-#define _LIBCPP___CHRONO_CONCEPTS_H
+#ifndef _LIBCPP___CXX03___CHRONO_CONCEPTS_H
+#define _LIBCPP___CXX03___CHRONO_CONCEPTS_H
#include <__cxx03/__chrono/hh_mm_ss.h>
#include <__cxx03/__chrono/time_point.h>
@@ -33,4 +33,4 @@ concept __is_time_point = __is_specialization_v<_Tp, chrono::time_point>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CHRONO_CONCEPTS_H
+#endif // _LIBCPP___CXX03___CHRONO_CONCEPTS_H
diff --git a/libcxx/include/__cxx03/__chrono/convert_to_timespec.h b/libcxx/include/__cxx03/__chrono/convert_to_timespec.h
index df0e7714ddd7..24d77c21807e 100644
--- a/libcxx/include/__cxx03/__chrono/convert_to_timespec.h
+++ b/libcxx/include/__cxx03/__chrono/convert_to_timespec.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHRONO_CONVERT_TO_TIMESPEC_H
-#define _LIBCPP___CHRONO_CONVERT_TO_TIMESPEC_H
+#ifndef _LIBCPP___CXX03___CHRONO_CONVERT_TO_TIMESPEC_H
+#define _LIBCPP___CXX03___CHRONO_CONVERT_TO_TIMESPEC_H
#include <__cxx03/__chrono/duration.h>
#include <__cxx03/__config>
@@ -48,4 +48,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___CHRONO_CONVERT_TO_TIMESPEC_H
+#endif // _LIBCPP___CXX03___CHRONO_CONVERT_TO_TIMESPEC_H
diff --git a/libcxx/include/__cxx03/__chrono/convert_to_tm.h b/libcxx/include/__cxx03/__chrono/convert_to_tm.h
index ccc7ee7b1197..e02ede48317b 100644
--- a/libcxx/include/__cxx03/__chrono/convert_to_tm.h
+++ b/libcxx/include/__cxx03/__chrono/convert_to_tm.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHRONO_CONVERT_TO_TM_H
-#define _LIBCPP___CHRONO_CONVERT_TO_TM_H
+#ifndef _LIBCPP___CXX03___CHRONO_CONVERT_TO_TM_H
+#define _LIBCPP___CXX03___CHRONO_CONVERT_TO_TM_H
#include <__cxx03/__chrono/calendar.h>
#include <__cxx03/__chrono/concepts.h>
@@ -199,4 +199,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___CHRONO_CONVERT_TO_TM_H
+#endif // _LIBCPP___CXX03___CHRONO_CONVERT_TO_TM_H
diff --git a/libcxx/include/__cxx03/__chrono/day.h b/libcxx/include/__cxx03/__chrono/day.h
index 6df2aa428346..6b989ea3c6c2 100644
--- a/libcxx/include/__cxx03/__chrono/day.h
+++ b/libcxx/include/__cxx03/__chrono/day.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHRONO_DAY_H
-#define _LIBCPP___CHRONO_DAY_H
+#ifndef _LIBCPP___CXX03___CHRONO_DAY_H
+#define _LIBCPP___CXX03___CHRONO_DAY_H
#include <__cxx03/__chrono/duration.h>
#include <__cxx03/__config>
@@ -96,4 +96,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___CHRONO_DAY_H
+#endif // _LIBCPP___CXX03___CHRONO_DAY_H
diff --git a/libcxx/include/__cxx03/__chrono/duration.h b/libcxx/include/__cxx03/__chrono/duration.h
index 5fabe08db1bf..fd936eda44ee 100644
--- a/libcxx/include/__cxx03/__chrono/duration.h
+++ b/libcxx/include/__cxx03/__chrono/duration.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHRONO_DURATION_H
-#define _LIBCPP___CHRONO_DURATION_H
+#ifndef _LIBCPP___CXX03___CHRONO_DURATION_H
+#define _LIBCPP___CXX03___CHRONO_DURATION_H
#include <__cxx03/__compare/ordering.h>
#include <__cxx03/__compare/three_way_comparable.h>
@@ -547,4 +547,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP___CHRONO_DURATION_H
+#endif // _LIBCPP___CXX03___CHRONO_DURATION_H
diff --git a/libcxx/include/__cxx03/__chrono/exception.h b/libcxx/include/__cxx03/__chrono/exception.h
index 3e1a29c20377..4db9d8c1c4ed 100644
--- a/libcxx/include/__cxx03/__chrono/exception.h
+++ b/libcxx/include/__cxx03/__chrono/exception.h
@@ -9,8 +9,8 @@
// For information see https://libcxx.llvm.org/DesignDocs/TimeZone.html
-#ifndef _LIBCPP___CHRONO_EXCEPTION_H
-#define _LIBCPP___CHRONO_EXCEPTION_H
+#ifndef _LIBCPP___CXX03___CHRONO_EXCEPTION_H
+#define _LIBCPP___CXX03___CHRONO_EXCEPTION_H
#include <__cxx03/version>
// Enable the contents of the header only when libc++ was built with experimental features enabled.
@@ -132,4 +132,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_TZDB)
-#endif // _LIBCPP___CHRONO_EXCEPTION_H
+#endif // _LIBCPP___CXX03___CHRONO_EXCEPTION_H
diff --git a/libcxx/include/__cxx03/__chrono/file_clock.h b/libcxx/include/__cxx03/__chrono/file_clock.h
index aef92057bd04..6e2d32b4ef88 100644
--- a/libcxx/include/__cxx03/__chrono/file_clock.h
+++ b/libcxx/include/__cxx03/__chrono/file_clock.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHRONO_FILE_CLOCK_H
-#define _LIBCPP___CHRONO_FILE_CLOCK_H
+#ifndef _LIBCPP___CXX03___CHRONO_FILE_CLOCK_H
+#define _LIBCPP___CXX03___CHRONO_FILE_CLOCK_H
#include <__cxx03/__chrono/duration.h>
#include <__cxx03/__chrono/system_clock.h>
@@ -77,4 +77,4 @@ struct _FilesystemClock {
_LIBCPP_END_NAMESPACE_FILESYSTEM
#endif // !_LIBCPP_CXX03_LANG
-#endif // _LIBCPP___CHRONO_FILE_CLOCK_H
+#endif // _LIBCPP___CXX03___CHRONO_FILE_CLOCK_H
diff --git a/libcxx/include/__cxx03/__chrono/formatter.h b/libcxx/include/__cxx03/__chrono/formatter.h
index 54e5dff6b97d..823f6e34c536 100644
--- a/libcxx/include/__cxx03/__chrono/formatter.h
+++ b/libcxx/include/__cxx03/__chrono/formatter.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHRONO_FORMATTER_H
-#define _LIBCPP___CHRONO_FORMATTER_H
+#ifndef _LIBCPP___CXX03___CHRONO_FORMATTER_H
+#define _LIBCPP___CXX03___CHRONO_FORMATTER_H
#include <__cxx03/__algorithm/ranges_copy.h>
#include <__cxx03/__chrono/calendar.h>
@@ -987,4 +987,4 @@ public:
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CHRONO_FORMATTER_H
+#endif // _LIBCPP___CXX03___CHRONO_FORMATTER_H
diff --git a/libcxx/include/__cxx03/__chrono/hh_mm_ss.h b/libcxx/include/__cxx03/__chrono/hh_mm_ss.h
index 100687064ed8..e40cfa3a58b8 100644
--- a/libcxx/include/__cxx03/__chrono/hh_mm_ss.h
+++ b/libcxx/include/__cxx03/__chrono/hh_mm_ss.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHRONO_HH_MM_SS_H
-#define _LIBCPP___CHRONO_HH_MM_SS_H
+#ifndef _LIBCPP___CXX03___CHRONO_HH_MM_SS_H
+#define _LIBCPP___CXX03___CHRONO_HH_MM_SS_H
#include <__cxx03/__chrono/duration.h>
#include <__cxx03/__chrono/time_point.h>
@@ -109,4 +109,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___CHRONO_HH_MM_SS_H
+#endif // _LIBCPP___CXX03___CHRONO_HH_MM_SS_H
diff --git a/libcxx/include/__cxx03/__chrono/high_resolution_clock.h b/libcxx/include/__cxx03/__chrono/high_resolution_clock.h
index 9c5104338421..3371d16112f9 100644
--- a/libcxx/include/__cxx03/__chrono/high_resolution_clock.h
+++ b/libcxx/include/__cxx03/__chrono/high_resolution_clock.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHRONO_HIGH_RESOLUTION_CLOCK_H
-#define _LIBCPP___CHRONO_HIGH_RESOLUTION_CLOCK_H
+#ifndef _LIBCPP___CXX03___CHRONO_HIGH_RESOLUTION_CLOCK_H
+#define _LIBCPP___CXX03___CHRONO_HIGH_RESOLUTION_CLOCK_H
#include <__cxx03/__chrono/steady_clock.h>
#include <__cxx03/__chrono/system_clock.h>
@@ -32,4 +32,4 @@ typedef system_clock high_resolution_clock;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CHRONO_HIGH_RESOLUTION_CLOCK_H
+#endif // _LIBCPP___CXX03___CHRONO_HIGH_RESOLUTION_CLOCK_H
diff --git a/libcxx/include/__cxx03/__chrono/leap_second.h b/libcxx/include/__cxx03/__chrono/leap_second.h
index 900eff22aa85..d6678bc58d7b 100644
--- a/libcxx/include/__cxx03/__chrono/leap_second.h
+++ b/libcxx/include/__cxx03/__chrono/leap_second.h
@@ -9,8 +9,8 @@
// For information see https://libcxx.llvm.org/DesignDocs/TimeZone.html
-#ifndef _LIBCPP___CHRONO_LEAP_SECOND_H
-#define _LIBCPP___CHRONO_LEAP_SECOND_H
+#ifndef _LIBCPP___CXX03___CHRONO_LEAP_SECOND_H
+#define _LIBCPP___CXX03___CHRONO_LEAP_SECOND_H
#include <__cxx03/version>
// Enable the contents of the header only when libc++ was built with experimental features enabled.
@@ -123,4 +123,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_TZDB)
-#endif // _LIBCPP___CHRONO_LEAP_SECOND_H
+#endif // _LIBCPP___CXX03___CHRONO_LEAP_SECOND_H
diff --git a/libcxx/include/__cxx03/__chrono/literals.h b/libcxx/include/__cxx03/__chrono/literals.h
index d299fb97da3c..6d0f596aa4ce 100644
--- a/libcxx/include/__cxx03/__chrono/literals.h
+++ b/libcxx/include/__cxx03/__chrono/literals.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHRONO_LITERALS_H
-#define _LIBCPP___CHRONO_LITERALS_H
+#ifndef _LIBCPP___CXX03___CHRONO_LITERALS_H
+#define _LIBCPP___CXX03___CHRONO_LITERALS_H
#include <__cxx03/__chrono/day.h>
#include <__cxx03/__chrono/year.h>
@@ -42,4 +42,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___CHRONO_LITERALS_H
+#endif // _LIBCPP___CXX03___CHRONO_LITERALS_H
diff --git a/libcxx/include/__cxx03/__chrono/local_info.h b/libcxx/include/__cxx03/__chrono/local_info.h
index 8e2194c05aba..1c475ec93c16 100644
--- a/libcxx/include/__cxx03/__chrono/local_info.h
+++ b/libcxx/include/__cxx03/__chrono/local_info.h
@@ -9,8 +9,8 @@
// For information see https://libcxx.llvm.org/DesignDocs/TimeZone.html
-#ifndef _LIBCPP___CHRONO_LOCAL_INFO_H
-#define _LIBCPP___CHRONO_LOCAL_INFO_H
+#ifndef _LIBCPP___CXX03___CHRONO_LOCAL_INFO_H
+#define _LIBCPP___CXX03___CHRONO_LOCAL_INFO_H
#include <__cxx03/version>
// Enable the contents of the header only when libc++ was built with experimental features enabled.
@@ -47,4 +47,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_TZDB)
-#endif // _LIBCPP___CHRONO_LOCAL_INFO_H
+#endif // _LIBCPP___CXX03___CHRONO_LOCAL_INFO_H
diff --git a/libcxx/include/__cxx03/__chrono/month.h b/libcxx/include/__cxx03/__chrono/month.h
index fd66bfea2f60..9ccc85991af7 100644
--- a/libcxx/include/__cxx03/__chrono/month.h
+++ b/libcxx/include/__cxx03/__chrono/month.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHRONO_MONTH_H
-#define _LIBCPP___CHRONO_MONTH_H
+#ifndef _LIBCPP___CXX03___CHRONO_MONTH_H
+#define _LIBCPP___CXX03___CHRONO_MONTH_H
#include <__cxx03/__chrono/duration.h>
#include <__cxx03/__config>
@@ -112,4 +112,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___CHRONO_MONTH_H
+#endif // _LIBCPP___CXX03___CHRONO_MONTH_H
diff --git a/libcxx/include/__cxx03/__chrono/month_weekday.h b/libcxx/include/__cxx03/__chrono/month_weekday.h
index 6595618d822c..eedc6e9a784b 100644
--- a/libcxx/include/__cxx03/__chrono/month_weekday.h
+++ b/libcxx/include/__cxx03/__chrono/month_weekday.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHRONO_MONTH_WEEKDAY_H
-#define _LIBCPP___CHRONO_MONTH_WEEKDAY_H
+#ifndef _LIBCPP___CXX03___CHRONO_MONTH_WEEKDAY_H
+#define _LIBCPP___CXX03___CHRONO_MONTH_WEEKDAY_H
#include <__cxx03/__chrono/month.h>
#include <__cxx03/__chrono/weekday.h>
@@ -102,4 +102,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___CHRONO_MONTH_WEEKDAY_H
+#endif // _LIBCPP___CXX03___CHRONO_MONTH_WEEKDAY_H
diff --git a/libcxx/include/__cxx03/__chrono/monthday.h b/libcxx/include/__cxx03/__chrono/monthday.h
index fe85e6b8bab3..a64584ee2e5f 100644
--- a/libcxx/include/__cxx03/__chrono/monthday.h
+++ b/libcxx/include/__cxx03/__chrono/monthday.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHRONO_MONTHDAY_H
-#define _LIBCPP___CHRONO_MONTHDAY_H
+#ifndef _LIBCPP___CXX03___CHRONO_MONTHDAY_H
+#define _LIBCPP___CXX03___CHRONO_MONTHDAY_H
#include <__cxx03/__chrono/calendar.h>
#include <__cxx03/__chrono/day.h>
@@ -130,4 +130,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___CHRONO_MONTHDAY_H
+#endif // _LIBCPP___CXX03___CHRONO_MONTHDAY_H
diff --git a/libcxx/include/__cxx03/__chrono/ostream.h b/libcxx/include/__cxx03/__chrono/ostream.h
index 6ac6b2831e11..fed43890c39b 100644
--- a/libcxx/include/__cxx03/__chrono/ostream.h
+++ b/libcxx/include/__cxx03/__chrono/ostream.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHRONO_OSTREAM_H
-#define _LIBCPP___CHRONO_OSTREAM_H
+#ifndef _LIBCPP___CXX03___CHRONO_OSTREAM_H
+#define _LIBCPP___CXX03___CHRONO_OSTREAM_H
#include <__cxx03/__chrono/calendar.h>
#include <__cxx03/__chrono/day.h>
@@ -319,4 +319,4 @@ operator<<(basic_ostream<_CharT, _Traits>& __os, const zoned_time<_Duration, _Ti
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CHRONO_OSTREAM_H
+#endif // _LIBCPP___CXX03___CHRONO_OSTREAM_H
diff --git a/libcxx/include/__cxx03/__chrono/parser_std_format_spec.h b/libcxx/include/__cxx03/__chrono/parser_std_format_spec.h
index 3a09a21ac54b..2bec77d8c74d 100644
--- a/libcxx/include/__cxx03/__chrono/parser_std_format_spec.h
+++ b/libcxx/include/__cxx03/__chrono/parser_std_format_spec.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHRONO_PARSER_STD_FORMAT_SPEC_H
-#define _LIBCPP___CHRONO_PARSER_STD_FORMAT_SPEC_H
+#ifndef _LIBCPP___CXX03___CHRONO_PARSER_STD_FORMAT_SPEC_H
+#define _LIBCPP___CXX03___CHRONO_PARSER_STD_FORMAT_SPEC_H
#include <__cxx03/__config>
#include <__cxx03/__format/concepts.h>
@@ -413,4 +413,4 @@ private:
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CHRONO_PARSER_STD_FORMAT_SPEC_H
+#endif // _LIBCPP___CXX03___CHRONO_PARSER_STD_FORMAT_SPEC_H
diff --git a/libcxx/include/__cxx03/__chrono/statically_widen.h b/libcxx/include/__cxx03/__chrono/statically_widen.h
index 101a903bc3f2..183078152f61 100644
--- a/libcxx/include/__cxx03/__chrono/statically_widen.h
+++ b/libcxx/include/__cxx03/__chrono/statically_widen.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHRONO_STATICALLY_WIDEN_H
-#define _LIBCPP___CHRONO_STATICALLY_WIDEN_H
+#ifndef _LIBCPP___CXX03___CHRONO_STATICALLY_WIDEN_H
+#define _LIBCPP___CXX03___CHRONO_STATICALLY_WIDEN_H
// Implements the STATICALLY-WIDEN exposition-only function. ([time.general]/2)
@@ -49,4 +49,4 @@ _LIBCPP_HIDE_FROM_ABI constexpr const _CharT* __statically_widen(const char* __s
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CHRONO_STATICALLY_WIDEN_H
+#endif // _LIBCPP___CXX03___CHRONO_STATICALLY_WIDEN_H
diff --git a/libcxx/include/__cxx03/__chrono/steady_clock.h b/libcxx/include/__cxx03/__chrono/steady_clock.h
index ad5b64b8142b..f8a56954f31a 100644
--- a/libcxx/include/__cxx03/__chrono/steady_clock.h
+++ b/libcxx/include/__cxx03/__chrono/steady_clock.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHRONO_STEADY_CLOCK_H
-#define _LIBCPP___CHRONO_STEADY_CLOCK_H
+#ifndef _LIBCPP___CXX03___CHRONO_STEADY_CLOCK_H
+#define _LIBCPP___CXX03___CHRONO_STEADY_CLOCK_H
#include <__cxx03/__chrono/duration.h>
#include <__cxx03/__chrono/time_point.h>
@@ -39,4 +39,4 @@ public:
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CHRONO_STEADY_CLOCK_H
+#endif // _LIBCPP___CXX03___CHRONO_STEADY_CLOCK_H
diff --git a/libcxx/include/__cxx03/__chrono/sys_info.h b/libcxx/include/__cxx03/__chrono/sys_info.h
index ed1c7cabd9b6..45c230de91cc 100644
--- a/libcxx/include/__cxx03/__chrono/sys_info.h
+++ b/libcxx/include/__cxx03/__chrono/sys_info.h
@@ -9,8 +9,8 @@
// For information see https://libcxx.llvm.org/DesignDocs/TimeZone.html
-#ifndef _LIBCPP___CHRONO_SYS_INFO_H
-#define _LIBCPP___CHRONO_SYS_INFO_H
+#ifndef _LIBCPP___CXX03___CHRONO_SYS_INFO_H
+#define _LIBCPP___CXX03___CHRONO_SYS_INFO_H
#include <__cxx03/version>
// Enable the contents of the header only when libc++ was built with experimental features enabled.
@@ -48,4 +48,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_TZDB)
-#endif // _LIBCPP___CHRONO_SYS_INFO_H
+#endif // _LIBCPP___CXX03___CHRONO_SYS_INFO_H
diff --git a/libcxx/include/__cxx03/__chrono/system_clock.h b/libcxx/include/__cxx03/__chrono/system_clock.h
index 61382ebdfbe6..7ae053f3bb40 100644
--- a/libcxx/include/__cxx03/__chrono/system_clock.h
+++ b/libcxx/include/__cxx03/__chrono/system_clock.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHRONO_SYSTEM_CLOCK_H
-#define _LIBCPP___CHRONO_SYSTEM_CLOCK_H
+#ifndef _LIBCPP___CXX03___CHRONO_SYSTEM_CLOCK_H
+#define _LIBCPP___CXX03___CHRONO_SYSTEM_CLOCK_H
#include <__cxx03/__chrono/duration.h>
#include <__cxx03/__chrono/time_point.h>
@@ -49,4 +49,4 @@ using sys_days = sys_time<days>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CHRONO_SYSTEM_CLOCK_H
+#endif // _LIBCPP___CXX03___CHRONO_SYSTEM_CLOCK_H
diff --git a/libcxx/include/__cxx03/__chrono/time_point.h b/libcxx/include/__cxx03/__chrono/time_point.h
index a26423efb15b..8703275a75ea 100644
--- a/libcxx/include/__cxx03/__chrono/time_point.h
+++ b/libcxx/include/__cxx03/__chrono/time_point.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHRONO_TIME_POINT_H
-#define _LIBCPP___CHRONO_TIME_POINT_H
+#ifndef _LIBCPP___CXX03___CHRONO_TIME_POINT_H
+#define _LIBCPP___CXX03___CHRONO_TIME_POINT_H
#include <__cxx03/__chrono/duration.h>
#include <__cxx03/__compare/ordering.h>
@@ -217,4 +217,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___CHRONO_TIME_POINT_H
+#endif // _LIBCPP___CXX03___CHRONO_TIME_POINT_H
diff --git a/libcxx/include/__cxx03/__chrono/time_zone.h b/libcxx/include/__cxx03/__chrono/time_zone.h
index f14646787cf0..a49e9023c0a6 100644
--- a/libcxx/include/__cxx03/__chrono/time_zone.h
+++ b/libcxx/include/__cxx03/__chrono/time_zone.h
@@ -9,8 +9,8 @@
// For information see https://libcxx.llvm.org/DesignDocs/TimeZone.html
-#ifndef _LIBCPP___CHRONO_TIME_ZONE_H
-#define _LIBCPP___CHRONO_TIME_ZONE_H
+#ifndef _LIBCPP___CXX03___CHRONO_TIME_ZONE_H
+#define _LIBCPP___CXX03___CHRONO_TIME_ZONE_H
#include <__cxx03/version>
// Enable the contents of the header only when libc++ was built with experimental features enabled.
@@ -179,4 +179,4 @@ _LIBCPP_POP_MACROS
#endif // !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_TZDB)
-#endif // _LIBCPP___CHRONO_TIME_ZONE_H
+#endif // _LIBCPP___CXX03___CHRONO_TIME_ZONE_H
diff --git a/libcxx/include/__cxx03/__chrono/time_zone_link.h b/libcxx/include/__cxx03/__chrono/time_zone_link.h
index a19226b06d86..f97851bcd981 100644
--- a/libcxx/include/__cxx03/__chrono/time_zone_link.h
+++ b/libcxx/include/__cxx03/__chrono/time_zone_link.h
@@ -9,8 +9,8 @@
// For information see https://libcxx.llvm.org/DesignDocs/TimeZone.html
-#ifndef _LIBCPP___CHRONO_TIME_ZONE_LINK_H
-#define _LIBCPP___CHRONO_TIME_ZONE_LINK_H
+#ifndef _LIBCPP___CXX03___CHRONO_TIME_ZONE_LINK_H
+#define _LIBCPP___CXX03___CHRONO_TIME_ZONE_LINK_H
#include <__cxx03/version>
// Enable the contents of the header only when libc++ was built with experimental features enabled.
@@ -76,4 +76,4 @@ _LIBCPP_POP_MACROS
#endif // !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_TZDB)
-#endif // _LIBCPP___CHRONO_TIME_ZONE_LINK_H
+#endif // _LIBCPP___CXX03___CHRONO_TIME_ZONE_LINK_H
diff --git a/libcxx/include/__cxx03/__chrono/tzdb.h b/libcxx/include/__cxx03/__chrono/tzdb.h
index cb218314a8e8..69cd19042c35 100644
--- a/libcxx/include/__cxx03/__chrono/tzdb.h
+++ b/libcxx/include/__cxx03/__chrono/tzdb.h
@@ -9,8 +9,8 @@
// For information see https://libcxx.llvm.org/DesignDocs/TimeZone.html
-#ifndef _LIBCPP___CHRONO_TZDB_H
-#define _LIBCPP___CHRONO_TZDB_H
+#ifndef _LIBCPP___CXX03___CHRONO_TZDB_H
+#define _LIBCPP___CXX03___CHRONO_TZDB_H
#include <__cxx03/version>
// Enable the contents of the header only when libc++ was built with experimental features enabled.
@@ -91,4 +91,4 @@ _LIBCPP_POP_MACROS
#endif // !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_TZDB)
-#endif // _LIBCPP___CHRONO_TZDB_H
+#endif // _LIBCPP___CXX03___CHRONO_TZDB_H
diff --git a/libcxx/include/__cxx03/__chrono/tzdb_list.h b/libcxx/include/__cxx03/__chrono/tzdb_list.h
index 96d52da88b10..e3fb2a01161a 100644
--- a/libcxx/include/__cxx03/__chrono/tzdb_list.h
+++ b/libcxx/include/__cxx03/__chrono/tzdb_list.h
@@ -9,8 +9,8 @@
// For information see https://libcxx.llvm.org/DesignDocs/TimeZone.html
-#ifndef _LIBCPP___CHRONO_TZDB_LIST_H
-#define _LIBCPP___CHRONO_TZDB_LIST_H
+#ifndef _LIBCPP___CXX03___CHRONO_TZDB_LIST_H
+#define _LIBCPP___CXX03___CHRONO_TZDB_LIST_H
#include <__cxx03/version>
// Enable the contents of the header only when libc++ was built with experimental features enabled.
@@ -105,4 +105,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_TZDB)
-#endif // _LIBCPP___CHRONO_TZDB_LIST_H
+#endif // _LIBCPP___CXX03___CHRONO_TZDB_LIST_H
diff --git a/libcxx/include/__cxx03/__chrono/weekday.h b/libcxx/include/__cxx03/__chrono/weekday.h
index d7a0cc8496dc..3c152653118d 100644
--- a/libcxx/include/__cxx03/__chrono/weekday.h
+++ b/libcxx/include/__cxx03/__chrono/weekday.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHRONO_WEEKDAY_H
-#define _LIBCPP___CHRONO_WEEKDAY_H
+#ifndef _LIBCPP___CXX03___CHRONO_WEEKDAY_H
+#define _LIBCPP___CXX03___CHRONO_WEEKDAY_H
#include <__cxx03/__chrono/calendar.h>
#include <__cxx03/__chrono/duration.h>
@@ -183,4 +183,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___CHRONO_WEEKDAY_H
+#endif // _LIBCPP___CXX03___CHRONO_WEEKDAY_H
diff --git a/libcxx/include/__cxx03/__chrono/year.h b/libcxx/include/__cxx03/__chrono/year.h
index 2850616a7aa2..3594977e2be9 100644
--- a/libcxx/include/__cxx03/__chrono/year.h
+++ b/libcxx/include/__cxx03/__chrono/year.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHRONO_YEAR_H
-#define _LIBCPP___CHRONO_YEAR_H
+#ifndef _LIBCPP___CXX03___CHRONO_YEAR_H
+#define _LIBCPP___CXX03___CHRONO_YEAR_H
#include <__cxx03/__chrono/duration.h>
#include <__cxx03/__config>
@@ -115,4 +115,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___CHRONO_YEAR_H
+#endif // _LIBCPP___CXX03___CHRONO_YEAR_H
diff --git a/libcxx/include/__cxx03/__chrono/year_month.h b/libcxx/include/__cxx03/__chrono/year_month.h
index 75784df9386d..07652cfc868c 100644
--- a/libcxx/include/__cxx03/__chrono/year_month.h
+++ b/libcxx/include/__cxx03/__chrono/year_month.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHRONO_YEAR_MONTH_H
-#define _LIBCPP___CHRONO_YEAR_MONTH_H
+#ifndef _LIBCPP___CXX03___CHRONO_YEAR_MONTH_H
+#define _LIBCPP___CXX03___CHRONO_YEAR_MONTH_H
#include <__cxx03/__chrono/duration.h>
#include <__cxx03/__chrono/month.h>
@@ -120,4 +120,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___CHRONO_YEAR_MONTH_H
+#endif // _LIBCPP___CXX03___CHRONO_YEAR_MONTH_H
diff --git a/libcxx/include/__cxx03/__chrono/year_month_day.h b/libcxx/include/__cxx03/__chrono/year_month_day.h
index dff7423a0ffb..551da3e3a1ff 100644
--- a/libcxx/include/__cxx03/__chrono/year_month_day.h
+++ b/libcxx/include/__cxx03/__chrono/year_month_day.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHRONO_YEAR_MONTH_DAY_H
-#define _LIBCPP___CHRONO_YEAR_MONTH_DAY_H
+#ifndef _LIBCPP___CXX03___CHRONO_YEAR_MONTH_DAY_H
+#define _LIBCPP___CXX03___CHRONO_YEAR_MONTH_DAY_H
#include <__cxx03/__chrono/calendar.h>
#include <__cxx03/__chrono/day.h>
@@ -334,4 +334,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___CHRONO_YEAR_MONTH_DAY_H
+#endif // _LIBCPP___CXX03___CHRONO_YEAR_MONTH_DAY_H
diff --git a/libcxx/include/__cxx03/__chrono/year_month_weekday.h b/libcxx/include/__cxx03/__chrono/year_month_weekday.h
index 3177f2196486..3f6974abeb3c 100644
--- a/libcxx/include/__cxx03/__chrono/year_month_weekday.h
+++ b/libcxx/include/__cxx03/__chrono/year_month_weekday.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CHRONO_YEAR_MONTH_WEEKDAY_H
-#define _LIBCPP___CHRONO_YEAR_MONTH_WEEKDAY_H
+#ifndef _LIBCPP___CXX03___CHRONO_YEAR_MONTH_WEEKDAY_H
+#define _LIBCPP___CXX03___CHRONO_YEAR_MONTH_WEEKDAY_H
#include <__cxx03/__chrono/calendar.h>
#include <__cxx03/__chrono/day.h>
@@ -284,4 +284,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___CHRONO_YEAR_MONTH_WEEKDAY_H
+#endif // _LIBCPP___CXX03___CHRONO_YEAR_MONTH_WEEKDAY_H
diff --git a/libcxx/include/__cxx03/__chrono/zoned_time.h b/libcxx/include/__cxx03/__chrono/zoned_time.h
index f3333a4189cc..7f83dcfc31a8 100644
--- a/libcxx/include/__cxx03/__chrono/zoned_time.h
+++ b/libcxx/include/__cxx03/__chrono/zoned_time.h
@@ -9,8 +9,8 @@
// For information see https://libcxx.llvm.org/DesignDocs/TimeZone.html
-#ifndef _LIBCPP___CHRONO_ZONED_TIME_H
-#define _LIBCPP___CHRONO_ZONED_TIME_H
+#ifndef _LIBCPP___CXX03___CHRONO_ZONED_TIME_H
+#define _LIBCPP___CXX03___CHRONO_ZONED_TIME_H
#include <__cxx03/version>
// Enable the contents of the header only when libc++ was built with experimental features enabled.
@@ -224,4 +224,4 @@ _LIBCPP_POP_MACROS
#endif // !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_TZDB)
-#endif // _LIBCPP___CHRONO_ZONED_TIME_H
+#endif // _LIBCPP___CXX03___CHRONO_ZONED_TIME_H
diff --git a/libcxx/include/__cxx03/__compare/common_comparison_category.h b/libcxx/include/__cxx03/__compare/common_comparison_category.h
index 795884d13177..22375e5fe2dc 100644
--- a/libcxx/include/__cxx03/__compare/common_comparison_category.h
+++ b/libcxx/include/__cxx03/__compare/common_comparison_category.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___COMPARE_COMMON_COMPARISON_CATEGORY_H
-#define _LIBCPP___COMPARE_COMMON_COMPARISON_CATEGORY_H
+#ifndef _LIBCPP___CXX03___COMPARE_COMMON_COMPARISON_CATEGORY_H
+#define _LIBCPP___CXX03___COMPARE_COMMON_COMPARISON_CATEGORY_H
#include <__cxx03/__compare/ordering.h>
#include <__cxx03/__config>
@@ -83,4 +83,4 @@ using common_comparison_category_t = typename common_comparison_category<_Ts...>
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___COMPARE_COMMON_COMPARISON_CATEGORY_H
+#endif // _LIBCPP___CXX03___COMPARE_COMMON_COMPARISON_CATEGORY_H
diff --git a/libcxx/include/__cxx03/__compare/compare_partial_order_fallback.h b/libcxx/include/__cxx03/__compare/compare_partial_order_fallback.h
index dc939d8f9a6b..faddc2faaa85 100644
--- a/libcxx/include/__cxx03/__compare/compare_partial_order_fallback.h
+++ b/libcxx/include/__cxx03/__compare/compare_partial_order_fallback.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___COMPARE_COMPARE_PARTIAL_ORDER_FALLBACK
-#define _LIBCPP___COMPARE_COMPARE_PARTIAL_ORDER_FALLBACK
+#ifndef _LIBCPP___CXX03___COMPARE_COMPARE_PARTIAL_ORDER_FALLBACK
+#define _LIBCPP___CXX03___COMPARE_COMPARE_PARTIAL_ORDER_FALLBACK
#include <__cxx03/__compare/ordering.h>
#include <__cxx03/__compare/partial_order.h>
@@ -73,4 +73,4 @@ inline constexpr auto compare_partial_order_fallback = __compare_partial_order_f
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___COMPARE_COMPARE_PARTIAL_ORDER_FALLBACK
+#endif // _LIBCPP___CXX03___COMPARE_COMPARE_PARTIAL_ORDER_FALLBACK
diff --git a/libcxx/include/__cxx03/__compare/compare_strong_order_fallback.h b/libcxx/include/__cxx03/__compare/compare_strong_order_fallback.h
index 5ea1ce7c64d1..6ba4e49712c0 100644
--- a/libcxx/include/__cxx03/__compare/compare_strong_order_fallback.h
+++ b/libcxx/include/__cxx03/__compare/compare_strong_order_fallback.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___COMPARE_COMPARE_STRONG_ORDER_FALLBACK
-#define _LIBCPP___COMPARE_COMPARE_STRONG_ORDER_FALLBACK
+#ifndef _LIBCPP___CXX03___COMPARE_COMPARE_STRONG_ORDER_FALLBACK
+#define _LIBCPP___CXX03___COMPARE_COMPARE_STRONG_ORDER_FALLBACK
#include <__cxx03/__compare/ordering.h>
#include <__cxx03/__compare/strong_order.h>
@@ -70,4 +70,4 @@ inline constexpr auto compare_strong_order_fallback = __compare_strong_order_fal
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___COMPARE_COMPARE_STRONG_ORDER_FALLBACK
+#endif // _LIBCPP___CXX03___COMPARE_COMPARE_STRONG_ORDER_FALLBACK
diff --git a/libcxx/include/__cxx03/__compare/compare_three_way.h b/libcxx/include/__cxx03/__compare/compare_three_way.h
index 258ad4310342..78354b107f21 100644
--- a/libcxx/include/__cxx03/__compare/compare_three_way.h
+++ b/libcxx/include/__cxx03/__compare/compare_three_way.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___COMPARE_COMPARE_THREE_WAY_H
-#define _LIBCPP___COMPARE_COMPARE_THREE_WAY_H
+#ifndef _LIBCPP___CXX03___COMPARE_COMPARE_THREE_WAY_H
+#define _LIBCPP___CXX03___COMPARE_COMPARE_THREE_WAY_H
#include <__cxx03/__compare/three_way_comparable.h>
#include <__cxx03/__config>
@@ -37,4 +37,4 @@ struct _LIBCPP_TEMPLATE_VIS compare_three_way {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___COMPARE_COMPARE_THREE_WAY_H
+#endif // _LIBCPP___CXX03___COMPARE_COMPARE_THREE_WAY_H
diff --git a/libcxx/include/__cxx03/__compare/compare_three_way_result.h b/libcxx/include/__cxx03/__compare/compare_three_way_result.h
index 7577b9ee15f9..3b5dccc042e5 100644
--- a/libcxx/include/__cxx03/__compare/compare_three_way_result.h
+++ b/libcxx/include/__cxx03/__compare/compare_three_way_result.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___COMPARE_COMPARE_THREE_WAY_RESULT_H
-#define _LIBCPP___COMPARE_COMPARE_THREE_WAY_RESULT_H
+#ifndef _LIBCPP___CXX03___COMPARE_COMPARE_THREE_WAY_RESULT_H
+#define _LIBCPP___CXX03___COMPARE_COMPARE_THREE_WAY_RESULT_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/make_const_lvalue_ref.h>
@@ -42,4 +42,4 @@ using compare_three_way_result_t = typename compare_three_way_result<_Tp, _Up>::
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___COMPARE_COMPARE_THREE_WAY_RESULT_H
+#endif // _LIBCPP___CXX03___COMPARE_COMPARE_THREE_WAY_RESULT_H
diff --git a/libcxx/include/__cxx03/__compare/compare_weak_order_fallback.h b/libcxx/include/__cxx03/__compare/compare_weak_order_fallback.h
index e12dc8eb5c9c..ecfee76dff27 100644
--- a/libcxx/include/__cxx03/__compare/compare_weak_order_fallback.h
+++ b/libcxx/include/__cxx03/__compare/compare_weak_order_fallback.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___COMPARE_COMPARE_WEAK_ORDER_FALLBACK
-#define _LIBCPP___COMPARE_COMPARE_WEAK_ORDER_FALLBACK
+#ifndef _LIBCPP___CXX03___COMPARE_COMPARE_WEAK_ORDER_FALLBACK
+#define _LIBCPP___CXX03___COMPARE_COMPARE_WEAK_ORDER_FALLBACK
#include <__cxx03/__compare/ordering.h>
#include <__cxx03/__compare/weak_order.h>
@@ -70,4 +70,4 @@ inline constexpr auto compare_weak_order_fallback = __compare_weak_order_fallbac
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___COMPARE_COMPARE_WEAK_ORDER_FALLBACK
+#endif // _LIBCPP___CXX03___COMPARE_COMPARE_WEAK_ORDER_FALLBACK
diff --git a/libcxx/include/__cxx03/__compare/is_eq.h b/libcxx/include/__cxx03/__compare/is_eq.h
index 09cc7a2c85d4..52370834dc40 100644
--- a/libcxx/include/__cxx03/__compare/is_eq.h
+++ b/libcxx/include/__cxx03/__compare/is_eq.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___COMPARE_IS_EQ_H
-#define _LIBCPP___COMPARE_IS_EQ_H
+#ifndef _LIBCPP___CXX03___COMPARE_IS_EQ_H
+#define _LIBCPP___CXX03___COMPARE_IS_EQ_H
#include <__cxx03/__compare/ordering.h>
#include <__cxx03/__config>
@@ -31,4 +31,4 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr bool is_gteq(partial_ordering __c) noexce
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___COMPARE_IS_EQ_H
+#endif // _LIBCPP___CXX03___COMPARE_IS_EQ_H
diff --git a/libcxx/include/__cxx03/__compare/ordering.h b/libcxx/include/__cxx03/__compare/ordering.h
index 71c199991f33..0a497cba682d 100644
--- a/libcxx/include/__cxx03/__compare/ordering.h
+++ b/libcxx/include/__cxx03/__compare/ordering.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___COMPARE_ORDERING_H
-#define _LIBCPP___COMPARE_ORDERING_H
+#ifndef _LIBCPP___CXX03___COMPARE_ORDERING_H
+#define _LIBCPP___CXX03___COMPARE_ORDERING_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -275,4 +275,4 @@ concept __comparison_category = __one_of_v<_Tp, partial_ordering, weak_ordering,
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___COMPARE_ORDERING_H
+#endif // _LIBCPP___CXX03___COMPARE_ORDERING_H
diff --git a/libcxx/include/__cxx03/__compare/partial_order.h b/libcxx/include/__cxx03/__compare/partial_order.h
index df8b842e7bf8..119d6581f124 100644
--- a/libcxx/include/__cxx03/__compare/partial_order.h
+++ b/libcxx/include/__cxx03/__compare/partial_order.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___COMPARE_PARTIAL_ORDER
-#define _LIBCPP___COMPARE_PARTIAL_ORDER
+#ifndef _LIBCPP___CXX03___COMPARE_PARTIAL_ORDER
+#define _LIBCPP___CXX03___COMPARE_PARTIAL_ORDER
#include <__cxx03/__compare/compare_three_way.h>
#include <__cxx03/__compare/ordering.h>
@@ -74,4 +74,4 @@ inline constexpr auto partial_order = __partial_order::__fn{};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___COMPARE_PARTIAL_ORDER
+#endif // _LIBCPP___CXX03___COMPARE_PARTIAL_ORDER
diff --git a/libcxx/include/__cxx03/__compare/strong_order.h b/libcxx/include/__cxx03/__compare/strong_order.h
index 752232591235..ee29de2b9260 100644
--- a/libcxx/include/__cxx03/__compare/strong_order.h
+++ b/libcxx/include/__cxx03/__compare/strong_order.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___COMPARE_STRONG_ORDER
-#define _LIBCPP___COMPARE_STRONG_ORDER
+#ifndef _LIBCPP___CXX03___COMPARE_STRONG_ORDER
+#define _LIBCPP___CXX03___COMPARE_STRONG_ORDER
#include <__cxx03/__bit/bit_cast.h>
#include <__cxx03/__compare/compare_three_way.h>
@@ -140,4 +140,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___COMPARE_STRONG_ORDER
+#endif // _LIBCPP___CXX03___COMPARE_STRONG_ORDER
diff --git a/libcxx/include/__cxx03/__compare/synth_three_way.h b/libcxx/include/__cxx03/__compare/synth_three_way.h
index fbaaf6186429..2625ea80bf1b 100644
--- a/libcxx/include/__cxx03/__compare/synth_three_way.h
+++ b/libcxx/include/__cxx03/__compare/synth_three_way.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___COMPARE_SYNTH_THREE_WAY_H
-#define _LIBCPP___COMPARE_SYNTH_THREE_WAY_H
+#ifndef _LIBCPP___CXX03___COMPARE_SYNTH_THREE_WAY_H
+#define _LIBCPP___CXX03___COMPARE_SYNTH_THREE_WAY_H
#include <__cxx03/__compare/ordering.h>
#include <__cxx03/__compare/three_way_comparable.h>
@@ -49,4 +49,4 @@ using __synth_three_way_result = decltype(std::__synth_three_way(std::declval<_T
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___COMPARE_SYNTH_THREE_WAY_H
+#endif // _LIBCPP___CXX03___COMPARE_SYNTH_THREE_WAY_H
diff --git a/libcxx/include/__cxx03/__compare/three_way_comparable.h b/libcxx/include/__cxx03/__compare/three_way_comparable.h
index 9ad84d2bde49..a3539459ea25 100644
--- a/libcxx/include/__cxx03/__compare/three_way_comparable.h
+++ b/libcxx/include/__cxx03/__compare/three_way_comparable.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___COMPARE_THREE_WAY_COMPARABLE_H
-#define _LIBCPP___COMPARE_THREE_WAY_COMPARABLE_H
+#ifndef _LIBCPP___CXX03___COMPARE_THREE_WAY_COMPARABLE_H
+#define _LIBCPP___CXX03___COMPARE_THREE_WAY_COMPARABLE_H
#include <__cxx03/__compare/common_comparison_category.h>
#include <__cxx03/__compare/ordering.h>
@@ -52,4 +52,4 @@ concept three_way_comparable_with =
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___COMPARE_THREE_WAY_COMPARABLE_H
+#endif // _LIBCPP___CXX03___COMPARE_THREE_WAY_COMPARABLE_H
diff --git a/libcxx/include/__cxx03/__compare/weak_order.h b/libcxx/include/__cxx03/__compare/weak_order.h
index e4c4797c06db..32ab1b68e459 100644
--- a/libcxx/include/__cxx03/__compare/weak_order.h
+++ b/libcxx/include/__cxx03/__compare/weak_order.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___COMPARE_WEAK_ORDER
-#define _LIBCPP___COMPARE_WEAK_ORDER
+#ifndef _LIBCPP___CXX03___COMPARE_WEAK_ORDER
+#define _LIBCPP___CXX03___COMPARE_WEAK_ORDER
#include <__cxx03/__compare/compare_three_way.h>
#include <__cxx03/__compare/ordering.h>
@@ -102,4 +102,4 @@ inline constexpr auto weak_order = __weak_order::__fn{};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___COMPARE_WEAK_ORDER
+#endif // _LIBCPP___CXX03___COMPARE_WEAK_ORDER
diff --git a/libcxx/include/__cxx03/__concepts/arithmetic.h b/libcxx/include/__cxx03/__concepts/arithmetic.h
index a8ef1d1532ca..6c5196bcdf79 100644
--- a/libcxx/include/__cxx03/__concepts/arithmetic.h
+++ b/libcxx/include/__cxx03/__concepts/arithmetic.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONCEPTS_ARITHMETIC_H
-#define _LIBCPP___CONCEPTS_ARITHMETIC_H
+#ifndef _LIBCPP___CXX03___CONCEPTS_ARITHMETIC_H
+#define _LIBCPP___CXX03___CONCEPTS_ARITHMETIC_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/is_floating_point.h>
@@ -53,4 +53,4 @@ concept __libcpp_integer = __libcpp_unsigned_integer<_Tp> || __libcpp_signed_int
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CONCEPTS_ARITHMETIC_H
+#endif // _LIBCPP___CXX03___CONCEPTS_ARITHMETIC_H
diff --git a/libcxx/include/__cxx03/__concepts/assignable.h b/libcxx/include/__cxx03/__concepts/assignable.h
index 563deb5e4cd6..8b69770222b0 100644
--- a/libcxx/include/__cxx03/__concepts/assignable.h
+++ b/libcxx/include/__cxx03/__concepts/assignable.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONCEPTS_ASSIGNABLE_H
-#define _LIBCPP___CONCEPTS_ASSIGNABLE_H
+#ifndef _LIBCPP___CXX03___CONCEPTS_ASSIGNABLE_H
+#define _LIBCPP___CXX03___CONCEPTS_ASSIGNABLE_H
#include <__cxx03/__concepts/common_reference_with.h>
#include <__cxx03/__concepts/same_as.h>
@@ -38,4 +38,4 @@ concept assignable_from =
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CONCEPTS_ASSIGNABLE_H
+#endif // _LIBCPP___CXX03___CONCEPTS_ASSIGNABLE_H
diff --git a/libcxx/include/__cxx03/__concepts/boolean_testable.h b/libcxx/include/__cxx03/__concepts/boolean_testable.h
index 1f655c1b19cd..21e03f76d8bb 100644
--- a/libcxx/include/__cxx03/__concepts/boolean_testable.h
+++ b/libcxx/include/__cxx03/__concepts/boolean_testable.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONCEPTS_BOOLEAN_TESTABLE_H
-#define _LIBCPP___CONCEPTS_BOOLEAN_TESTABLE_H
+#ifndef _LIBCPP___CXX03___CONCEPTS_BOOLEAN_TESTABLE_H
+#define _LIBCPP___CXX03___CONCEPTS_BOOLEAN_TESTABLE_H
#include <__cxx03/__concepts/convertible_to.h>
#include <__cxx03/__config>
@@ -35,4 +35,4 @@ concept __boolean_testable = __boolean_testable_impl<_Tp> && requires(_Tp&& __t)
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CONCEPTS_BOOLEAN_TESTABLE_H
+#endif // _LIBCPP___CXX03___CONCEPTS_BOOLEAN_TESTABLE_H
diff --git a/libcxx/include/__cxx03/__concepts/class_or_enum.h b/libcxx/include/__cxx03/__concepts/class_or_enum.h
index ef9a61cdbebf..a8604e6d9eb6 100644
--- a/libcxx/include/__cxx03/__concepts/class_or_enum.h
+++ b/libcxx/include/__cxx03/__concepts/class_or_enum.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONCEPTS_CLASS_OR_ENUM_H
-#define _LIBCPP___CONCEPTS_CLASS_OR_ENUM_H
+#ifndef _LIBCPP___CXX03___CONCEPTS_CLASS_OR_ENUM_H
+#define _LIBCPP___CXX03___CONCEPTS_CLASS_OR_ENUM_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/is_class.h>
@@ -32,4 +32,4 @@ concept __class_or_enum = is_class_v<_Tp> || is_union_v<_Tp> || is_enum_v<_Tp>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CONCEPTS_CLASS_OR_ENUM_H
+#endif // _LIBCPP___CXX03___CONCEPTS_CLASS_OR_ENUM_H
diff --git a/libcxx/include/__cxx03/__concepts/common_reference_with.h b/libcxx/include/__cxx03/__concepts/common_reference_with.h
index 8e0b5bafe786..1ffe9f67be48 100644
--- a/libcxx/include/__cxx03/__concepts/common_reference_with.h
+++ b/libcxx/include/__cxx03/__concepts/common_reference_with.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONCEPTS_COMMON_REFERENCE_WITH_H
-#define _LIBCPP___CONCEPTS_COMMON_REFERENCE_WITH_H
+#ifndef _LIBCPP___CXX03___CONCEPTS_COMMON_REFERENCE_WITH_H
+#define _LIBCPP___CXX03___CONCEPTS_COMMON_REFERENCE_WITH_H
#include <__cxx03/__concepts/convertible_to.h>
#include <__cxx03/__concepts/same_as.h>
@@ -33,4 +33,4 @@ concept common_reference_with =
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CONCEPTS_COMMON_REFERENCE_WITH_H
+#endif // _LIBCPP___CXX03___CONCEPTS_COMMON_REFERENCE_WITH_H
diff --git a/libcxx/include/__cxx03/__concepts/common_with.h b/libcxx/include/__cxx03/__concepts/common_with.h
index 37f4e3c30c2b..ee100052c0c5 100644
--- a/libcxx/include/__cxx03/__concepts/common_with.h
+++ b/libcxx/include/__cxx03/__concepts/common_with.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONCEPTS_COMMON_WITH_H
-#define _LIBCPP___CONCEPTS_COMMON_WITH_H
+#ifndef _LIBCPP___CXX03___CONCEPTS_COMMON_WITH_H
+#define _LIBCPP___CXX03___CONCEPTS_COMMON_WITH_H
#include <__cxx03/__concepts/common_reference_with.h>
#include <__cxx03/__concepts/same_as.h>
@@ -49,4 +49,4 @@ concept common_with =
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CONCEPTS_COMMON_WITH_H
+#endif // _LIBCPP___CXX03___CONCEPTS_COMMON_WITH_H
diff --git a/libcxx/include/__cxx03/__concepts/constructible.h b/libcxx/include/__cxx03/__concepts/constructible.h
index 356ca4762607..2d04667f7d3e 100644
--- a/libcxx/include/__cxx03/__concepts/constructible.h
+++ b/libcxx/include/__cxx03/__concepts/constructible.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONCEPTS_CONSTRUCTIBLE_H
-#define _LIBCPP___CONCEPTS_CONSTRUCTIBLE_H
+#ifndef _LIBCPP___CXX03___CONCEPTS_CONSTRUCTIBLE_H
+#define _LIBCPP___CXX03___CONCEPTS_CONSTRUCTIBLE_H
#include <__cxx03/__concepts/convertible_to.h>
#include <__cxx03/__concepts/destructible.h>
@@ -52,4 +52,4 @@ concept copy_constructible =
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CONCEPTS_CONSTRUCTIBLE_H
+#endif // _LIBCPP___CXX03___CONCEPTS_CONSTRUCTIBLE_H
diff --git a/libcxx/include/__cxx03/__concepts/convertible_to.h b/libcxx/include/__cxx03/__concepts/convertible_to.h
index 4802621c93ef..af27b76c9c04 100644
--- a/libcxx/include/__cxx03/__concepts/convertible_to.h
+++ b/libcxx/include/__cxx03/__concepts/convertible_to.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONCEPTS_CONVERTIBLE_TO_H
-#define _LIBCPP___CONCEPTS_CONVERTIBLE_TO_H
+#ifndef _LIBCPP___CXX03___CONCEPTS_CONVERTIBLE_TO_H
+#define _LIBCPP___CXX03___CONCEPTS_CONVERTIBLE_TO_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/is_convertible.h>
@@ -30,4 +30,4 @@ concept convertible_to = is_convertible_v<_From, _To> && requires { static_cast<
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CONCEPTS_CONVERTIBLE_TO_H
+#endif // _LIBCPP___CXX03___CONCEPTS_CONVERTIBLE_TO_H
diff --git a/libcxx/include/__cxx03/__concepts/copyable.h b/libcxx/include/__cxx03/__concepts/copyable.h
index bcadc7382f50..8ca2d4f94083 100644
--- a/libcxx/include/__cxx03/__concepts/copyable.h
+++ b/libcxx/include/__cxx03/__concepts/copyable.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONCEPTS_COPYABLE_H
-#define _LIBCPP___CONCEPTS_COPYABLE_H
+#ifndef _LIBCPP___CXX03___CONCEPTS_COPYABLE_H
+#define _LIBCPP___CXX03___CONCEPTS_COPYABLE_H
#include <__cxx03/__concepts/assignable.h>
#include <__cxx03/__concepts/constructible.h>
@@ -38,4 +38,4 @@ concept copyable =
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CONCEPTS_COPYABLE_H
+#endif // _LIBCPP___CXX03___CONCEPTS_COPYABLE_H
diff --git a/libcxx/include/__cxx03/__concepts/derived_from.h b/libcxx/include/__cxx03/__concepts/derived_from.h
index 861c84f0cf6b..8112b6c2b70f 100644
--- a/libcxx/include/__cxx03/__concepts/derived_from.h
+++ b/libcxx/include/__cxx03/__concepts/derived_from.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONCEPTS_DERIVED_FROM_H
-#define _LIBCPP___CONCEPTS_DERIVED_FROM_H
+#ifndef _LIBCPP___CXX03___CONCEPTS_DERIVED_FROM_H
+#define _LIBCPP___CXX03___CONCEPTS_DERIVED_FROM_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/is_base_of.h>
@@ -30,4 +30,4 @@ concept derived_from = is_base_of_v<_Bp, _Dp> && is_convertible_v<const volatile
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CONCEPTS_DERIVED_FROM_H
+#endif // _LIBCPP___CXX03___CONCEPTS_DERIVED_FROM_H
diff --git a/libcxx/include/__cxx03/__concepts/destructible.h b/libcxx/include/__cxx03/__concepts/destructible.h
index 5aa9a908648c..bd302c3acb62 100644
--- a/libcxx/include/__cxx03/__concepts/destructible.h
+++ b/libcxx/include/__cxx03/__concepts/destructible.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONCEPTS_DESTRUCTIBLE_H
-#define _LIBCPP___CONCEPTS_DESTRUCTIBLE_H
+#ifndef _LIBCPP___CXX03___CONCEPTS_DESTRUCTIBLE_H
+#define _LIBCPP___CXX03___CONCEPTS_DESTRUCTIBLE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/is_nothrow_destructible.h>
@@ -29,4 +29,4 @@ concept destructible = is_nothrow_destructible_v<_Tp>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CONCEPTS_DESTRUCTIBLE_H
+#endif // _LIBCPP___CXX03___CONCEPTS_DESTRUCTIBLE_H
diff --git a/libcxx/include/__cxx03/__concepts/different_from.h b/libcxx/include/__cxx03/__concepts/different_from.h
index bedf3a0bf0b7..a5d59d47be1d 100644
--- a/libcxx/include/__cxx03/__concepts/different_from.h
+++ b/libcxx/include/__cxx03/__concepts/different_from.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONCEPTS_DIFFERENT_FROM_H
-#define _LIBCPP___CONCEPTS_DIFFERENT_FROM_H
+#ifndef _LIBCPP___CXX03___CONCEPTS_DIFFERENT_FROM_H
+#define _LIBCPP___CXX03___CONCEPTS_DIFFERENT_FROM_H
#include <__cxx03/__concepts/same_as.h>
#include <__cxx03/__config>
@@ -28,4 +28,4 @@ concept __different_from = !same_as<remove_cvref_t<_Tp>, remove_cvref_t<_Up>>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CONCEPTS_DIFFERENT_FROM_H
+#endif // _LIBCPP___CXX03___CONCEPTS_DIFFERENT_FROM_H
diff --git a/libcxx/include/__cxx03/__concepts/equality_comparable.h b/libcxx/include/__cxx03/__concepts/equality_comparable.h
index a77f8f3de60b..a3a4504bcb62 100644
--- a/libcxx/include/__cxx03/__concepts/equality_comparable.h
+++ b/libcxx/include/__cxx03/__concepts/equality_comparable.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONCEPTS_EQUALITY_COMPARABLE_H
-#define _LIBCPP___CONCEPTS_EQUALITY_COMPARABLE_H
+#ifndef _LIBCPP___CXX03___CONCEPTS_EQUALITY_COMPARABLE_H
+#define _LIBCPP___CXX03___CONCEPTS_EQUALITY_COMPARABLE_H
#include <__cxx03/__concepts/boolean_testable.h>
#include <__cxx03/__concepts/common_reference_with.h>
@@ -53,4 +53,4 @@ concept equality_comparable_with =
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CONCEPTS_EQUALITY_COMPARABLE_H
+#endif // _LIBCPP___CXX03___CONCEPTS_EQUALITY_COMPARABLE_H
diff --git a/libcxx/include/__cxx03/__concepts/invocable.h b/libcxx/include/__cxx03/__concepts/invocable.h
index fbbbf16e32fe..624d8b0a9246 100644
--- a/libcxx/include/__cxx03/__concepts/invocable.h
+++ b/libcxx/include/__cxx03/__concepts/invocable.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONCEPTS_INVOCABLE_H
-#define _LIBCPP___CONCEPTS_INVOCABLE_H
+#ifndef _LIBCPP___CXX03___CONCEPTS_INVOCABLE_H
+#define _LIBCPP___CXX03___CONCEPTS_INVOCABLE_H
#include <__cxx03/__config>
#include <__cxx03/__functional/invoke.h>
@@ -37,4 +37,4 @@ concept regular_invocable = invocable<_Fn, _Args...>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CONCEPTS_INVOCABLE_H
+#endif // _LIBCPP___CXX03___CONCEPTS_INVOCABLE_H
diff --git a/libcxx/include/__cxx03/__concepts/movable.h b/libcxx/include/__cxx03/__concepts/movable.h
index 883eda880b6f..a0c3372e88c9 100644
--- a/libcxx/include/__cxx03/__concepts/movable.h
+++ b/libcxx/include/__cxx03/__concepts/movable.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONCEPTS_MOVABLE_H
-#define _LIBCPP___CONCEPTS_MOVABLE_H
+#ifndef _LIBCPP___CXX03___CONCEPTS_MOVABLE_H
+#define _LIBCPP___CXX03___CONCEPTS_MOVABLE_H
#include <__cxx03/__concepts/assignable.h>
#include <__cxx03/__concepts/constructible.h>
@@ -32,4 +32,4 @@ concept movable = is_object_v<_Tp> && move_constructible<_Tp> && assignable_from
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CONCEPTS_MOVABLE_H
+#endif // _LIBCPP___CXX03___CONCEPTS_MOVABLE_H
diff --git a/libcxx/include/__cxx03/__concepts/predicate.h b/libcxx/include/__cxx03/__concepts/predicate.h
index 15007f3b0992..5268854d5026 100644
--- a/libcxx/include/__cxx03/__concepts/predicate.h
+++ b/libcxx/include/__cxx03/__concepts/predicate.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONCEPTS_PREDICATE_H
-#define _LIBCPP___CONCEPTS_PREDICATE_H
+#ifndef _LIBCPP___CXX03___CONCEPTS_PREDICATE_H
+#define _LIBCPP___CXX03___CONCEPTS_PREDICATE_H
#include <__cxx03/__concepts/boolean_testable.h>
#include <__cxx03/__concepts/invocable.h>
@@ -31,4 +31,4 @@ concept predicate = regular_invocable<_Fn, _Args...> && __boolean_testable<invok
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CONCEPTS_PREDICATE_H
+#endif // _LIBCPP___CXX03___CONCEPTS_PREDICATE_H
diff --git a/libcxx/include/__cxx03/__concepts/regular.h b/libcxx/include/__cxx03/__concepts/regular.h
index faf04f2c6b94..fd0365ab7043 100644
--- a/libcxx/include/__cxx03/__concepts/regular.h
+++ b/libcxx/include/__cxx03/__concepts/regular.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONCEPTS_REGULAR_H
-#define _LIBCPP___CONCEPTS_REGULAR_H
+#ifndef _LIBCPP___CXX03___CONCEPTS_REGULAR_H
+#define _LIBCPP___CXX03___CONCEPTS_REGULAR_H
#include <__cxx03/__concepts/equality_comparable.h>
#include <__cxx03/__concepts/semiregular.h>
@@ -30,4 +30,4 @@ concept regular = semiregular<_Tp> && equality_comparable<_Tp>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CONCEPTS_REGULAR_H
+#endif // _LIBCPP___CXX03___CONCEPTS_REGULAR_H
diff --git a/libcxx/include/__cxx03/__concepts/relation.h b/libcxx/include/__cxx03/__concepts/relation.h
index 0d90406012e3..67a612979daa 100644
--- a/libcxx/include/__cxx03/__concepts/relation.h
+++ b/libcxx/include/__cxx03/__concepts/relation.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONCEPTS_RELATION_H
-#define _LIBCPP___CONCEPTS_RELATION_H
+#ifndef _LIBCPP___CXX03___CONCEPTS_RELATION_H
+#define _LIBCPP___CXX03___CONCEPTS_RELATION_H
#include <__cxx03/__concepts/predicate.h>
#include <__cxx03/__config>
@@ -40,4 +40,4 @@ concept strict_weak_order = relation<_Rp, _Tp, _Up>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CONCEPTS_RELATION_H
+#endif // _LIBCPP___CXX03___CONCEPTS_RELATION_H
diff --git a/libcxx/include/__cxx03/__concepts/same_as.h b/libcxx/include/__cxx03/__concepts/same_as.h
index 6c81ecfbbfe5..5318cda95318 100644
--- a/libcxx/include/__cxx03/__concepts/same_as.h
+++ b/libcxx/include/__cxx03/__concepts/same_as.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONCEPTS_SAME_AS_H
-#define _LIBCPP___CONCEPTS_SAME_AS_H
+#ifndef _LIBCPP___CXX03___CONCEPTS_SAME_AS_H
+#define _LIBCPP___CXX03___CONCEPTS_SAME_AS_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/is_same.h>
@@ -32,4 +32,4 @@ concept same_as = __same_as_impl<_Tp, _Up> && __same_as_impl<_Up, _Tp>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CONCEPTS_SAME_AS_H
+#endif // _LIBCPP___CXX03___CONCEPTS_SAME_AS_H
diff --git a/libcxx/include/__cxx03/__concepts/semiregular.h b/libcxx/include/__cxx03/__concepts/semiregular.h
index 2a3eb3d66729..06505080f8d3 100644
--- a/libcxx/include/__cxx03/__concepts/semiregular.h
+++ b/libcxx/include/__cxx03/__concepts/semiregular.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONCEPTS_SEMIREGULAR_H
-#define _LIBCPP___CONCEPTS_SEMIREGULAR_H
+#ifndef _LIBCPP___CXX03___CONCEPTS_SEMIREGULAR_H
+#define _LIBCPP___CXX03___CONCEPTS_SEMIREGULAR_H
#include <__cxx03/__concepts/constructible.h>
#include <__cxx03/__concepts/copyable.h>
@@ -30,4 +30,4 @@ concept semiregular = copyable<_Tp> && default_initializable<_Tp>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CONCEPTS_SEMIREGULAR_H
+#endif // _LIBCPP___CXX03___CONCEPTS_SEMIREGULAR_H
diff --git a/libcxx/include/__cxx03/__concepts/swappable.h b/libcxx/include/__cxx03/__concepts/swappable.h
index 333a42ad0c50..95adb0f1b8da 100644
--- a/libcxx/include/__cxx03/__concepts/swappable.h
+++ b/libcxx/include/__cxx03/__concepts/swappable.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONCEPTS_SWAPPABLE_H
-#define _LIBCPP___CONCEPTS_SWAPPABLE_H
+#ifndef _LIBCPP___CXX03___CONCEPTS_SWAPPABLE_H
+#define _LIBCPP___CXX03___CONCEPTS_SWAPPABLE_H
#include <__cxx03/__concepts/assignable.h>
#include <__cxx03/__concepts/class_or_enum.h>
@@ -120,4 +120,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___CONCEPTS_SWAPPABLE_H
+#endif // _LIBCPP___CXX03___CONCEPTS_SWAPPABLE_H
diff --git a/libcxx/include/__cxx03/__concepts/totally_ordered.h b/libcxx/include/__cxx03/__concepts/totally_ordered.h
index f35502b58f12..85ba0e4fdf47 100644
--- a/libcxx/include/__cxx03/__concepts/totally_ordered.h
+++ b/libcxx/include/__cxx03/__concepts/totally_ordered.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONCEPTS_TOTALLY_ORDERED_H
-#define _LIBCPP___CONCEPTS_TOTALLY_ORDERED_H
+#ifndef _LIBCPP___CXX03___CONCEPTS_TOTALLY_ORDERED_H
+#define _LIBCPP___CXX03___CONCEPTS_TOTALLY_ORDERED_H
#include <__cxx03/__concepts/boolean_testable.h>
#include <__cxx03/__concepts/equality_comparable.h>
@@ -56,4 +56,4 @@ concept totally_ordered_with =
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___CONCEPTS_TOTALLY_ORDERED_H
+#endif // _LIBCPP___CXX03___CONCEPTS_TOTALLY_ORDERED_H
diff --git a/libcxx/include/__cxx03/__condition_variable/condition_variable.h b/libcxx/include/__cxx03/__condition_variable/condition_variable.h
index d96c6928fa7b..8e41ad89914f 100644
--- a/libcxx/include/__cxx03/__condition_variable/condition_variable.h
+++ b/libcxx/include/__cxx03/__condition_variable/condition_variable.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONDITION_VARIABLE_CONDITION_VARIABLE_H
-#define _LIBCPP___CONDITION_VARIABLE_CONDITION_VARIABLE_H
+#ifndef _LIBCPP___CXX03___CONDITION_VARIABLE_CONDITION_VARIABLE_H
+#define _LIBCPP___CXX03___CONDITION_VARIABLE_CONDITION_VARIABLE_H
#include <__cxx03/__chrono/duration.h>
#include <__cxx03/__chrono/steady_clock.h>
@@ -241,4 +241,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___CONDITION_VARIABLE_CONDITION_VARIABLE_H
+#endif // _LIBCPP___CXX03___CONDITION_VARIABLE_CONDITION_VARIABLE_H
diff --git a/libcxx/include/__cxx03/__config b/libcxx/include/__cxx03/__config
index 6f7729238777..3e8f181664c9 100644
--- a/libcxx/include/__cxx03/__config
+++ b/libcxx/include/__cxx03/__config
@@ -7,13 +7,13 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONFIG
-#define _LIBCPP___CONFIG
+#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
@@ -1225,4 +1225,4 @@ typedef __char32_t char32_t;
#endif // __cplusplus
-#endif // _LIBCPP___CONFIG
+#endif // _LIBCPP___CXX03___CONFIG
diff --git a/libcxx/include/__cxx03/__config_site.in b/libcxx/include/__cxx03/__config_site.in
index 67022146c908..174af4be5c4e 100644
--- a/libcxx/include/__cxx03/__config_site.in
+++ b/libcxx/include/__cxx03/__config_site.in
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONFIG_SITE
-#define _LIBCPP___CONFIG_SITE
+#ifndef _LIBCPP___CXX03___CONFIG_SITE
+#define _LIBCPP___CXX03___CONFIG_SITE
#cmakedefine _LIBCPP_ABI_VERSION @_LIBCPP_ABI_VERSION@
#cmakedefine _LIBCPP_ABI_NAMESPACE @_LIBCPP_ABI_NAMESPACE@
@@ -53,4 +53,4 @@
# pragma clang diagnostic pop
#endif
-#endif // _LIBCPP___CONFIG_SITE
+#endif // _LIBCPP___CXX03___CONFIG_SITE
diff --git a/libcxx/include/__cxx03/__configuration/abi.h b/libcxx/include/__cxx03/__configuration/abi.h
index 0d1152887769..740aec39a348 100644
--- a/libcxx/include/__cxx03/__configuration/abi.h
+++ b/libcxx/include/__cxx03/__configuration/abi.h
@@ -7,11 +7,11 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONFIGURATION_ABI_H
-#define _LIBCPP___CONFIGURATION_ABI_H
+#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
@@ -169,4 +169,4 @@
# endif
#endif
-#endif // _LIBCPP___CONFIGURATION_ABI_H
+#endif // _LIBCPP___CXX03___CONFIGURATION_ABI_H
diff --git a/libcxx/include/__cxx03/__configuration/availability.h b/libcxx/include/__cxx03/__configuration/availability.h
index e54ba50ae9a0..ad45ce01d0a7 100644
--- a/libcxx/include/__cxx03/__configuration/availability.h
+++ b/libcxx/include/__cxx03/__configuration/availability.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONFIGURATION_AVAILABILITY_H
-#define _LIBCPP___CONFIGURATION_AVAILABILITY_H
+#ifndef _LIBCPP___CXX03___CONFIGURATION_AVAILABILITY_H
+#define _LIBCPP___CXX03___CONFIGURATION_AVAILABILITY_H
#include <__cxx03/__configuration/compiler.h>
#include <__cxx03/__configuration/language.h>
@@ -397,4 +397,4 @@
# define _LIBCPP_AVAILABILITY_INIT_PRIMARY_EXCEPTION
#endif
-#endif // _LIBCPP___CONFIGURATION_AVAILABILITY_H
+#endif // _LIBCPP___CXX03___CONFIGURATION_AVAILABILITY_H
diff --git a/libcxx/include/__cxx03/__configuration/compiler.h b/libcxx/include/__cxx03/__configuration/compiler.h
index 80ece22bb50b..4d53a2144a50 100644
--- a/libcxx/include/__cxx03/__configuration/compiler.h
+++ b/libcxx/include/__cxx03/__configuration/compiler.h
@@ -7,10 +7,10 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONFIGURATION_COMPILER_H
-#define _LIBCPP___CONFIGURATION_COMPILER_H
+#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
@@ -48,4 +48,4 @@
#endif
-#endif // _LIBCPP___CONFIGURATION_COMPILER_H
+#endif // _LIBCPP___CXX03___CONFIGURATION_COMPILER_H
diff --git a/libcxx/include/__cxx03/__configuration/config_site_shim.h b/libcxx/include/__cxx03/__configuration/config_site_shim.h
new file mode 100644
index 000000000000..974a17af495c
--- /dev/null
+++ b/libcxx/include/__cxx03/__configuration/config_site_shim.h
@@ -0,0 +1,80 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef _LIBCPP___CXX03___CONFIGURATION_CONFIG_SITE_SHIM_H
+#define _LIBCPP___CXX03___CONFIGURATION_CONFIG_SITE_SHIM_H
+
+#include <__config_site>
+
+#if !_LIBCPP_ABI_FORCE_ITANIUM
+# undef _LIBCPP_ABI_FORCE_ITANIUM
+#endif
+
+#if !_LIBCPP_ABI_FORCE_MICROSOFT
+# undef _LIBCPP_ABI_FORCE_MICROSOFT
+#endif
+
+#if !_LIBCPP_HAS_THREADS
+# define _LIBCPP_HAS_NO_THREADS
+#endif
+
+#if !_LIBCPP_HAS_MONOTONIC_CLOCK
+# define _LIBCPP_HAS_NO_MONOTONIC_CLOCK
+#endif
+
+#if !_LIBCPP_HAS_MUSL_LIBC
+# undef _LIBCPP_HAS_MUSL_LIBC
+#endif
+
+#if !_LIBCPP_HAS_THREAD_API_PTHREAD
+# undef _LIBCPP_HAS_THREAD_API_PTHREAD
+#endif
+
+#if !_LIBCPP_HAS_THREAD_API_EXTERNAL
+# undef _LIBCPP_HAS_THREAD_API_EXTERNAL
+#endif
+
+#if !_LIBCPP_HAS_THREAD_API_WIN32
+# undef _LIBCPP_HAS_THREAD_API_WIN32
+#endif
+
+#undef _LIBCPP_HAS_THREAD_API_C11
+
+#if !_LIBCPP_HAS_VENDOR_AVAILABILITY_ANNOTATIONS
+# define _LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS
+#endif
+
+#if !_LIBCPP_HAS_FILESYSTEM
+# define _LIBCPP_HAS_NO_FILESYSTEM
+#endif
+
+#if !_LIBCPP_HAS_RANDOM_DEVICE
+# define _LIBCPP_HAS_NO_RANDOM_DEVICE
+#endif
+
+#if !_LIBCPP_HAS_LOCALIZATION
+# define _LIBCPP_HAS_NO_LOCALIZATION
+#endif
+
+#if !_LIBCPP_HAS_UNICODE
+# define _LIBCPP_HAS_NO_UNICODE
+#endif
+
+#if !_LIBCPP_HAS_WIDE_CHARACTERS
+# define _LIBCPP_HAS_NO_WIDE_CHARACTERS
+#endif
+
+#if !_LIBCPP_HAS_TIME_ZONE_DATABASE
+# define _LIBCPP_HAS_NO_TIME_ZONE_DATABASE
+#endif
+
+#if !_LIBCPP_INSTRUMENTED_WITH_ASAN
+# undef _LIBCPP_INSTRUMENTED_WITH_ASAN
+#endif
+
+#endif // _LIBCPP___CXX03___CONFIGURATION_CONFIG_SITE_SHIM_H
diff --git a/libcxx/include/__cxx03/__configuration/language.h b/libcxx/include/__cxx03/__configuration/language.h
index fa62a7b6f5c2..8fd09f4b2255 100644
--- a/libcxx/include/__cxx03/__configuration/language.h
+++ b/libcxx/include/__cxx03/__configuration/language.h
@@ -7,10 +7,10 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONFIGURATION_LANGUAGE_H
-#define _LIBCPP___CONFIGURATION_LANGUAGE_H
+#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
@@ -43,4 +43,4 @@
# define _LIBCPP_HAS_NO_EXCEPTIONS
#endif
-#endif // _LIBCPP___CONFIGURATION_LANGUAGE_H
+#endif // _LIBCPP___CXX03___CONFIGURATION_LANGUAGE_H
diff --git a/libcxx/include/__cxx03/__configuration/platform.h b/libcxx/include/__cxx03/__configuration/platform.h
index 27f68d04e8a8..24590503693a 100644
--- a/libcxx/include/__cxx03/__configuration/platform.h
+++ b/libcxx/include/__cxx03/__configuration/platform.h
@@ -7,10 +7,10 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___CONFIGURATION_PLATFORM_H
-#define _LIBCPP___CONFIGURATION_PLATFORM_H
+#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
@@ -51,4 +51,4 @@
# define _LIBCPP_BIG_ENDIAN
#endif // __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
-#endif // _LIBCPP___CONFIGURATION_PLATFORM_H
+#endif // _LIBCPP___CXX03___CONFIGURATION_PLATFORM_H
diff --git a/libcxx/include/__cxx03/__coroutine/coroutine_handle.h b/libcxx/include/__cxx03/__coroutine/coroutine_handle.h
index 183d113e2e69..f96c56bae168 100644
--- a/libcxx/include/__cxx03/__coroutine/coroutine_handle.h
+++ b/libcxx/include/__cxx03/__coroutine/coroutine_handle.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___COROUTINE_COROUTINE_HANDLE_H
-#define _LIBCPP___COROUTINE_COROUTINE_HANDLE_H
+#ifndef _LIBCPP___CXX03___COROUTINE_COROUTINE_HANDLE_H
+#define _LIBCPP___CXX03___COROUTINE_COROUTINE_HANDLE_H
#include <__cxx03/__assert>
#include <__cxx03/__config>
@@ -173,4 +173,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // __LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___COROUTINE_COROUTINE_HANDLE_H
+#endif // _LIBCPP___CXX03___COROUTINE_COROUTINE_HANDLE_H
diff --git a/libcxx/include/__cxx03/__coroutine/coroutine_traits.h b/libcxx/include/__cxx03/__coroutine/coroutine_traits.h
index b4fc2f45a1ac..2380b7a23391 100644
--- a/libcxx/include/__cxx03/__coroutine/coroutine_traits.h
+++ b/libcxx/include/__cxx03/__coroutine/coroutine_traits.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___COROUTINE_COROUTINE_TRAITS_H
-#define _LIBCPP___COROUTINE_COROUTINE_TRAITS_H
+#ifndef _LIBCPP___CXX03___COROUTINE_COROUTINE_TRAITS_H
+#define _LIBCPP___CXX03___COROUTINE_COROUTINE_TRAITS_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/void_t.h>
@@ -45,4 +45,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // __LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___COROUTINE_COROUTINE_TRAITS_H
+#endif // _LIBCPP___CXX03___COROUTINE_COROUTINE_TRAITS_H
diff --git a/libcxx/include/__cxx03/__coroutine/noop_coroutine_handle.h b/libcxx/include/__cxx03/__coroutine/noop_coroutine_handle.h
index 2a6e25cde2f6..c6ec745dbc2f 100644
--- a/libcxx/include/__cxx03/__coroutine/noop_coroutine_handle.h
+++ b/libcxx/include/__cxx03/__coroutine/noop_coroutine_handle.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___COROUTINE_NOOP_COROUTINE_HANDLE_H
-#define _LIBCPP___COROUTINE_NOOP_COROUTINE_HANDLE_H
+#ifndef _LIBCPP___CXX03___COROUTINE_NOOP_COROUTINE_HANDLE_H
+#define _LIBCPP___CXX03___COROUTINE_NOOP_COROUTINE_HANDLE_H
#include <__cxx03/__config>
#include <__cxx03/__coroutine/coroutine_handle.h>
@@ -96,4 +96,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // __LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___COROUTINE_NOOP_COROUTINE_HANDLE_H
+#endif // _LIBCPP___CXX03___COROUTINE_NOOP_COROUTINE_HANDLE_H
diff --git a/libcxx/include/__cxx03/__coroutine/trivial_awaitables.h b/libcxx/include/__cxx03/__coroutine/trivial_awaitables.h
index 9420824b6cef..7e34aad9cfce 100644
--- a/libcxx/include/__cxx03/__coroutine/trivial_awaitables.h
+++ b/libcxx/include/__cxx03/__coroutine/trivial_awaitables.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef __LIBCPP___COROUTINE_TRIVIAL_AWAITABLES_H
-#define __LIBCPP___COROUTINE_TRIVIAL_AWAITABLES_H
+#ifndef __LIBCPP___CXX03___COROUTINE_TRIVIAL_AWAITABLES_H
+#define __LIBCPP___CXX03___COROUTINE_TRIVIAL_AWAITABLES_H
#include <__cxx03/__config>
#include <__cxx03/__coroutine/coroutine_handle.h>
@@ -37,4 +37,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // __LIBCPP_STD_VER >= 20
-#endif // __LIBCPP___COROUTINE_TRIVIAL_AWAITABLES_H
+#endif // __LIBCPP___CXX03___COROUTINE_TRIVIAL_AWAITABLES_H
diff --git a/libcxx/include/__cxx03/__debug_utils/randomize_range.h b/libcxx/include/__cxx03/__debug_utils/randomize_range.h
index 59e3a04f6d1a..1baf4f5361ff 100644
--- a/libcxx/include/__cxx03/__debug_utils/randomize_range.h
+++ b/libcxx/include/__cxx03/__debug_utils/randomize_range.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___LIBCXX_DEBUG_RANDOMIZE_RANGE_H
-#define _LIBCPP___LIBCXX_DEBUG_RANDOMIZE_RANGE_H
+#ifndef _LIBCPP___CXX03___LIBCXX_DEBUG_RANDOMIZE_RANGE_H
+#define _LIBCPP___CXX03___LIBCXX_DEBUG_RANDOMIZE_RANGE_H
#include <__cxx03/__config>
@@ -39,4 +39,4 @@ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 void __debug_randomize_range
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___LIBCXX_DEBUG_RANDOMIZE_RANGE_H
+#endif // _LIBCPP___CXX03___LIBCXX_DEBUG_RANDOMIZE_RANGE_H
diff --git a/libcxx/include/__cxx03/__debug_utils/sanitizers.h b/libcxx/include/__cxx03/__debug_utils/sanitizers.h
index cd0caa9ed0a3..e3cda20468b5 100644
--- a/libcxx/include/__cxx03/__debug_utils/sanitizers.h
+++ b/libcxx/include/__cxx03/__debug_utils/sanitizers.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___LIBCXX_DEBUG_UTILS_SANITIZERS_H
-#define _LIBCPP___LIBCXX_DEBUG_UTILS_SANITIZERS_H
+#ifndef _LIBCPP___CXX03___LIBCXX_DEBUG_UTILS_SANITIZERS_H
+#define _LIBCPP___CXX03___LIBCXX_DEBUG_UTILS_SANITIZERS_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -101,4 +101,4 @@ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 void __annotate_contiguous_c
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___LIBCXX_DEBUG_UTILS_SANITIZERS_H
+#endif // _LIBCPP___CXX03___LIBCXX_DEBUG_UTILS_SANITIZERS_H
diff --git a/libcxx/include/__cxx03/__debug_utils/strict_weak_ordering_check.h b/libcxx/include/__cxx03/__debug_utils/strict_weak_ordering_check.h
index 6aec78e46ff8..8d3a918d9b55 100644
--- a/libcxx/include/__cxx03/__debug_utils/strict_weak_ordering_check.h
+++ b/libcxx/include/__cxx03/__debug_utils/strict_weak_ordering_check.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___LIBCXX_DEBUG_STRICT_WEAK_ORDERING_CHECK
-#define _LIBCPP___LIBCXX_DEBUG_STRICT_WEAK_ORDERING_CHECK
+#ifndef _LIBCPP___CXX03___LIBCXX_DEBUG_STRICT_WEAK_ORDERING_CHECK
+#define _LIBCPP___CXX03___LIBCXX_DEBUG_STRICT_WEAK_ORDERING_CHECK
#include <__cxx03/__config>
@@ -74,4 +74,4 @@ __check_strict_weak_ordering_sorted(_RandomAccessIterator __first, _RandomAccess
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___LIBCXX_DEBUG_STRICT_WEAK_ORDERING_CHECK
+#endif // _LIBCPP___CXX03___LIBCXX_DEBUG_STRICT_WEAK_ORDERING_CHECK
diff --git a/libcxx/include/__cxx03/__exception/exception.h b/libcxx/include/__cxx03/__exception/exception.h
index 8557cbd4945e..27b1e4353ec4 100644
--- a/libcxx/include/__cxx03/__exception/exception.h
+++ b/libcxx/include/__cxx03/__exception/exception.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___EXCEPTION_EXCEPTION_H
-#define _LIBCPP___EXCEPTION_EXCEPTION_H
+#ifndef _LIBCPP___CXX03___EXCEPTION_EXCEPTION_H
+#define _LIBCPP___CXX03___EXCEPTION_EXCEPTION_H
#include <__cxx03/__config>
@@ -91,4 +91,4 @@ public:
} // namespace std
-#endif // _LIBCPP___EXCEPTION_EXCEPTION_H
+#endif // _LIBCPP___CXX03___EXCEPTION_EXCEPTION_H
diff --git a/libcxx/include/__cxx03/__exception/exception_ptr.h b/libcxx/include/__cxx03/__exception/exception_ptr.h
index 6bdb47fd395f..33dbd40bef42 100644
--- a/libcxx/include/__cxx03/__exception/exception_ptr.h
+++ b/libcxx/include/__cxx03/__exception/exception_ptr.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___EXCEPTION_EXCEPTION_PTR_H
-#define _LIBCPP___EXCEPTION_EXCEPTION_PTR_H
+#ifndef _LIBCPP___CXX03___EXCEPTION_EXCEPTION_PTR_H
+#define _LIBCPP___CXX03___EXCEPTION_EXCEPTION_PTR_H
#include <__cxx03/__config>
#include <__cxx03/__exception/operations.h>
@@ -174,4 +174,4 @@ _LIBCPP_HIDE_FROM_ABI exception_ptr make_exception_ptr(_Ep __e) _NOEXCEPT {
#endif // _LIBCPP_ABI_MICROSOFT
} // namespace std
-#endif // _LIBCPP___EXCEPTION_EXCEPTION_PTR_H
+#endif // _LIBCPP___CXX03___EXCEPTION_EXCEPTION_PTR_H
diff --git a/libcxx/include/__cxx03/__exception/nested_exception.h b/libcxx/include/__cxx03/__exception/nested_exception.h
index 1b889e6bf5d8..60799942fb13 100644
--- a/libcxx/include/__cxx03/__exception/nested_exception.h
+++ b/libcxx/include/__cxx03/__exception/nested_exception.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___EXCEPTION_NESTED_EXCEPTION_H
-#define _LIBCPP___EXCEPTION_NESTED_EXCEPTION_H
+#ifndef _LIBCPP___CXX03___EXCEPTION_NESTED_EXCEPTION_H
+#define _LIBCPP___CXX03___EXCEPTION_NESTED_EXCEPTION_H
#include <__cxx03/__config>
#include <__cxx03/__exception/exception_ptr.h>
@@ -96,4 +96,4 @@ inline _LIBCPP_HIDE_FROM_ABI void rethrow_if_nested(const _Ep&) {}
} // namespace std
-#endif // _LIBCPP___EXCEPTION_NESTED_EXCEPTION_H
+#endif // _LIBCPP___CXX03___EXCEPTION_NESTED_EXCEPTION_H
diff --git a/libcxx/include/__cxx03/__exception/operations.h b/libcxx/include/__cxx03/__exception/operations.h
index cb67194553d3..9049a0f313fa 100644
--- a/libcxx/include/__cxx03/__exception/operations.h
+++ b/libcxx/include/__cxx03/__exception/operations.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___EXCEPTION_OPERATIONS_H
-#define _LIBCPP___EXCEPTION_OPERATIONS_H
+#ifndef _LIBCPP___CXX03___EXCEPTION_OPERATIONS_H
+#define _LIBCPP___CXX03___EXCEPTION_OPERATIONS_H
#include <__cxx03/__config>
#include <__cxx03/cstddef>
@@ -38,4 +38,4 @@ _LIBCPP_EXPORTED_FROM_ABI exception_ptr current_exception() _NOEXCEPT;
_LIBCPP_NORETURN _LIBCPP_EXPORTED_FROM_ABI void rethrow_exception(exception_ptr);
} // namespace std
-#endif // _LIBCPP___EXCEPTION_OPERATIONS_H
+#endif // _LIBCPP___CXX03___EXCEPTION_OPERATIONS_H
diff --git a/libcxx/include/__cxx03/__exception/terminate.h b/libcxx/include/__cxx03/__exception/terminate.h
index 78ccd16c9139..5f0cfa930f9a 100644
--- a/libcxx/include/__cxx03/__exception/terminate.h
+++ b/libcxx/include/__cxx03/__exception/terminate.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___EXCEPTION_TERMINATE_H
-#define _LIBCPP___EXCEPTION_TERMINATE_H
+#ifndef _LIBCPP___CXX03___EXCEPTION_TERMINATE_H
+#define _LIBCPP___CXX03___EXCEPTION_TERMINATE_H
#include <__cxx03/__config>
@@ -19,4 +19,4 @@ namespace std { // purposefully not using versioning namespace
_LIBCPP_NORETURN _LIBCPP_EXPORTED_FROM_ABI void terminate() _NOEXCEPT;
} // namespace std
-#endif // _LIBCPP___EXCEPTION_TERMINATE_H
+#endif // _LIBCPP___CXX03___EXCEPTION_TERMINATE_H
diff --git a/libcxx/include/__cxx03/__expected/bad_expected_access.h b/libcxx/include/__cxx03/__expected/bad_expected_access.h
index 4f7e33d2c698..d9c64976c25b 100644
--- a/libcxx/include/__cxx03/__expected/bad_expected_access.h
+++ b/libcxx/include/__cxx03/__expected/bad_expected_access.h
@@ -6,8 +6,8 @@
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___EXPECTED_BAD_EXPECTED_ACCESS_H
-#define _LIBCPP___EXPECTED_BAD_EXPECTED_ACCESS_H
+#ifndef _LIBCPP___CXX03___EXPECTED_BAD_EXPECTED_ACCESS_H
+#define _LIBCPP___CXX03___EXPECTED_BAD_EXPECTED_ACCESS_H
#include <__cxx03/__config>
#include <__cxx03/__exception/exception.h>
@@ -70,4 +70,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___EXPECTED_BAD_EXPECTED_ACCESS_H
+#endif // _LIBCPP___CXX03___EXPECTED_BAD_EXPECTED_ACCESS_H
diff --git a/libcxx/include/__cxx03/__expected/expected.h b/libcxx/include/__cxx03/__expected/expected.h
index adadea8e4b39..1d54bb9f6ede 100644
--- a/libcxx/include/__cxx03/__expected/expected.h
+++ b/libcxx/include/__cxx03/__expected/expected.h
@@ -6,8 +6,8 @@
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___EXPECTED_EXPECTED_H
-#define _LIBCPP___EXPECTED_EXPECTED_H
+#ifndef _LIBCPP___CXX03___EXPECTED_EXPECTED_H
+#define _LIBCPP___CXX03___EXPECTED_EXPECTED_H
#include <__cxx03/__assert>
#include <__cxx03/__config>
@@ -1871,4 +1871,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___EXPECTED_EXPECTED_H
+#endif // _LIBCPP___CXX03___EXPECTED_EXPECTED_H
diff --git a/libcxx/include/__cxx03/__expected/unexpect.h b/libcxx/include/__cxx03/__expected/unexpect.h
index 895f053a1e33..d8de027cabc5 100644
--- a/libcxx/include/__cxx03/__expected/unexpect.h
+++ b/libcxx/include/__cxx03/__expected/unexpect.h
@@ -6,8 +6,8 @@
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___EXPECTED_UNEXPECT_H
-#define _LIBCPP___EXPECTED_UNEXPECT_H
+#ifndef _LIBCPP___CXX03___EXPECTED_UNEXPECT_H
+#define _LIBCPP___CXX03___EXPECTED_UNEXPECT_H
#include <__cxx03/__config>
@@ -29,4 +29,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 23
-#endif // _LIBCPP___EXPECTED_UNEXPECT_H
+#endif // _LIBCPP___CXX03___EXPECTED_UNEXPECT_H
diff --git a/libcxx/include/__cxx03/__expected/unexpected.h b/libcxx/include/__cxx03/__expected/unexpected.h
index fe2ab407b415..bafa33a011ee 100644
--- a/libcxx/include/__cxx03/__expected/unexpected.h
+++ b/libcxx/include/__cxx03/__expected/unexpected.h
@@ -6,8 +6,8 @@
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___EXPECTED_UNEXPECTED_H
-#define _LIBCPP___EXPECTED_UNEXPECTED_H
+#ifndef _LIBCPP___CXX03___EXPECTED_UNEXPECTED_H
+#define _LIBCPP___CXX03___EXPECTED_UNEXPECTED_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/conjunction.h>
@@ -124,4 +124,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___EXPECTED_UNEXPECTED_H
+#endif // _LIBCPP___CXX03___EXPECTED_UNEXPECTED_H
diff --git a/libcxx/include/__cxx03/__filesystem/copy_options.h b/libcxx/include/__cxx03/__filesystem/copy_options.h
index c9adf3cd64eb..01abb5042b7e 100644
--- a/libcxx/include/__cxx03/__filesystem/copy_options.h
+++ b/libcxx/include/__cxx03/__filesystem/copy_options.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FILESYSTEM_COPY_OPTIONS_H
-#define _LIBCPP___FILESYSTEM_COPY_OPTIONS_H
+#ifndef _LIBCPP___CXX03___FILESYSTEM_COPY_OPTIONS_H
+#define _LIBCPP___CXX03___FILESYSTEM_COPY_OPTIONS_H
#include <__cxx03/__config>
@@ -66,4 +66,4 @@ _LIBCPP_END_NAMESPACE_FILESYSTEM
#endif // _LIBCPP_STD_VER >= 17
-#endif // _LIBCPP___FILESYSTEM_COPY_OPTIONS_H
+#endif // _LIBCPP___CXX03___FILESYSTEM_COPY_OPTIONS_H
diff --git a/libcxx/include/__cxx03/__filesystem/directory_entry.h b/libcxx/include/__cxx03/__filesystem/directory_entry.h
index a78f43d6b1c5..1a8ebf470bf8 100644
--- a/libcxx/include/__cxx03/__filesystem/directory_entry.h
+++ b/libcxx/include/__cxx03/__filesystem/directory_entry.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FILESYSTEM_DIRECTORY_ENTRY_H
-#define _LIBCPP___FILESYSTEM_DIRECTORY_ENTRY_H
+#ifndef _LIBCPP___CXX03___FILESYSTEM_DIRECTORY_ENTRY_H
+#define _LIBCPP___CXX03___FILESYSTEM_DIRECTORY_ENTRY_H
#include <__cxx03/__chrono/time_point.h>
#include <__cxx03/__compare/ordering.h>
@@ -432,4 +432,4 @@ _LIBCPP_END_NAMESPACE_FILESYSTEM
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___FILESYSTEM_DIRECTORY_ENTRY_H
+#endif // _LIBCPP___CXX03___FILESYSTEM_DIRECTORY_ENTRY_H
diff --git a/libcxx/include/__cxx03/__filesystem/directory_iterator.h b/libcxx/include/__cxx03/__filesystem/directory_iterator.h
index 667007f5c2cd..226ef7a27f94 100644
--- a/libcxx/include/__cxx03/__filesystem/directory_iterator.h
+++ b/libcxx/include/__cxx03/__filesystem/directory_iterator.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FILESYSTEM_DIRECTORY_ITERATOR_H
-#define _LIBCPP___FILESYSTEM_DIRECTORY_ITERATOR_H
+#ifndef _LIBCPP___CXX03___FILESYSTEM_DIRECTORY_ITERATOR_H
+#define _LIBCPP___CXX03___FILESYSTEM_DIRECTORY_ITERATOR_H
#include <__cxx03/__assert>
#include <__cxx03/__config>
@@ -148,4 +148,4 @@ _LIBCPP_AVAILABILITY_FILESYSTEM_LIBRARY inline constexpr bool
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___FILESYSTEM_DIRECTORY_ITERATOR_H
+#endif // _LIBCPP___CXX03___FILESYSTEM_DIRECTORY_ITERATOR_H
diff --git a/libcxx/include/__cxx03/__filesystem/directory_options.h b/libcxx/include/__cxx03/__filesystem/directory_options.h
index eeb87936f2bd..babdf9c911be 100644
--- a/libcxx/include/__cxx03/__filesystem/directory_options.h
+++ b/libcxx/include/__cxx03/__filesystem/directory_options.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FILESYSTEM_DIRECTORY_OPTIONS_H
-#define _LIBCPP___FILESYSTEM_DIRECTORY_OPTIONS_H
+#ifndef _LIBCPP___CXX03___FILESYSTEM_DIRECTORY_OPTIONS_H
+#define _LIBCPP___CXX03___FILESYSTEM_DIRECTORY_OPTIONS_H
#include <__cxx03/__config>
@@ -54,4 +54,4 @@ _LIBCPP_END_NAMESPACE_FILESYSTEM
#endif // _LIBCPP_STD_VER >= 17
-#endif // _LIBCPP___FILESYSTEM_DIRECTORY_OPTIONS_H
+#endif // _LIBCPP___CXX03___FILESYSTEM_DIRECTORY_OPTIONS_H
diff --git a/libcxx/include/__cxx03/__filesystem/file_status.h b/libcxx/include/__cxx03/__filesystem/file_status.h
index 0022518842af..1e5ea497434d 100644
--- a/libcxx/include/__cxx03/__filesystem/file_status.h
+++ b/libcxx/include/__cxx03/__filesystem/file_status.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FILESYSTEM_FILE_STATUS_H
-#define _LIBCPP___FILESYSTEM_FILE_STATUS_H
+#ifndef _LIBCPP___CXX03___FILESYSTEM_FILE_STATUS_H
+#define _LIBCPP___CXX03___FILESYSTEM_FILE_STATUS_H
#include <__cxx03/__config>
#include <__cxx03/__filesystem/file_type.h>
@@ -64,4 +64,4 @@ _LIBCPP_END_NAMESPACE_FILESYSTEM
#endif // _LIBCPP_STD_VER >= 17
-#endif // _LIBCPP___FILESYSTEM_FILE_STATUS_H
+#endif // _LIBCPP___CXX03___FILESYSTEM_FILE_STATUS_H
diff --git a/libcxx/include/__cxx03/__filesystem/file_time_type.h b/libcxx/include/__cxx03/__filesystem/file_time_type.h
index 1e964bbe3252..cd52453b0b87 100644
--- a/libcxx/include/__cxx03/__filesystem/file_time_type.h
+++ b/libcxx/include/__cxx03/__filesystem/file_time_type.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FILESYSTEM_FILE_TIME_TYPE_H
-#define _LIBCPP___FILESYSTEM_FILE_TIME_TYPE_H
+#ifndef _LIBCPP___CXX03___FILESYSTEM_FILE_TIME_TYPE_H
+#define _LIBCPP___CXX03___FILESYSTEM_FILE_TIME_TYPE_H
#include <__cxx03/__chrono/file_clock.h>
#include <__cxx03/__chrono/time_point.h>
@@ -28,4 +28,4 @@ _LIBCPP_END_NAMESPACE_FILESYSTEM
#endif // _LIBCPP_STD_VER >= 17
-#endif // _LIBCPP___FILESYSTEM_FILE_TIME_TYPE_H
+#endif // _LIBCPP___CXX03___FILESYSTEM_FILE_TIME_TYPE_H
diff --git a/libcxx/include/__cxx03/__filesystem/file_type.h b/libcxx/include/__cxx03/__filesystem/file_type.h
index 392ca2b57c26..34f0aba30712 100644
--- a/libcxx/include/__cxx03/__filesystem/file_type.h
+++ b/libcxx/include/__cxx03/__filesystem/file_type.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FILESYSTEM_FILE_TYPE_H
-#define _LIBCPP___FILESYSTEM_FILE_TYPE_H
+#ifndef _LIBCPP___CXX03___FILESYSTEM_FILE_TYPE_H
+#define _LIBCPP___CXX03___FILESYSTEM_FILE_TYPE_H
#include <__cxx03/__config>
@@ -39,4 +39,4 @@ _LIBCPP_END_NAMESPACE_FILESYSTEM
#endif // _LIBCPP_STD_VER >= 17
-#endif // _LIBCPP___FILESYSTEM_FILE_TYPE_H
+#endif // _LIBCPP___CXX03___FILESYSTEM_FILE_TYPE_H
diff --git a/libcxx/include/__cxx03/__filesystem/filesystem_error.h b/libcxx/include/__cxx03/__filesystem/filesystem_error.h
index 8b68bac2e36f..ef9e0d784643 100644
--- a/libcxx/include/__cxx03/__filesystem/filesystem_error.h
+++ b/libcxx/include/__cxx03/__filesystem/filesystem_error.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FILESYSTEM_FILESYSTEM_ERROR_H
-#define _LIBCPP___FILESYSTEM_FILESYSTEM_ERROR_H
+#ifndef _LIBCPP___CXX03___FILESYSTEM_FILESYSTEM_ERROR_H
+#define _LIBCPP___CXX03___FILESYSTEM_FILESYSTEM_ERROR_H
#include <__cxx03/__config>
#include <__cxx03/__filesystem/path.h>
@@ -85,4 +85,4 @@ _LIBCPP_END_NAMESPACE_FILESYSTEM
#endif // _LIBCPP_STD_VER >= 17
-#endif // _LIBCPP___FILESYSTEM_FILESYSTEM_ERROR_H
+#endif // _LIBCPP___CXX03___FILESYSTEM_FILESYSTEM_ERROR_H
diff --git a/libcxx/include/__cxx03/__filesystem/operations.h b/libcxx/include/__cxx03/__filesystem/operations.h
index 90b90bbaace9..fdb3dab858f5 100644
--- a/libcxx/include/__cxx03/__filesystem/operations.h
+++ b/libcxx/include/__cxx03/__filesystem/operations.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FILESYSTEM_OPERATIONS_H
-#define _LIBCPP___FILESYSTEM_OPERATIONS_H
+#ifndef _LIBCPP___CXX03___FILESYSTEM_OPERATIONS_H
+#define _LIBCPP___CXX03___FILESYSTEM_OPERATIONS_H
#include <__cxx03/__chrono/time_point.h>
#include <__cxx03/__config>
@@ -307,4 +307,4 @@ _LIBCPP_END_NAMESPACE_FILESYSTEM
#endif // _LIBCPP_STD_VER >= 17 && !defined(_LIBCPP_HAS_NO_FILESYSTEM)
-#endif // _LIBCPP___FILESYSTEM_OPERATIONS_H
+#endif // _LIBCPP___CXX03___FILESYSTEM_OPERATIONS_H
diff --git a/libcxx/include/__cxx03/__filesystem/path.h b/libcxx/include/__cxx03/__filesystem/path.h
index 815d881d8a09..e5eed68e4d6c 100644
--- a/libcxx/include/__cxx03/__filesystem/path.h
+++ b/libcxx/include/__cxx03/__filesystem/path.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FILESYSTEM_PATH_H
-#define _LIBCPP___FILESYSTEM_PATH_H
+#ifndef _LIBCPP___CXX03___FILESYSTEM_PATH_H
+#define _LIBCPP___CXX03___FILESYSTEM_PATH_H
#include <__cxx03/__algorithm/replace.h>
#include <__cxx03/__algorithm/replace_copy.h>
@@ -928,4 +928,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___FILESYSTEM_PATH_H
+#endif // _LIBCPP___CXX03___FILESYSTEM_PATH_H
diff --git a/libcxx/include/__cxx03/__filesystem/path_iterator.h b/libcxx/include/__cxx03/__filesystem/path_iterator.h
index c439782a2a6a..121626b4b6ca 100644
--- a/libcxx/include/__cxx03/__filesystem/path_iterator.h
+++ b/libcxx/include/__cxx03/__filesystem/path_iterator.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FILESYSTEM_PATH_ITERATOR_H
-#define _LIBCPP___FILESYSTEM_PATH_ITERATOR_H
+#ifndef _LIBCPP___CXX03___FILESYSTEM_PATH_ITERATOR_H
+#define _LIBCPP___CXX03___FILESYSTEM_PATH_ITERATOR_H
#include <__cxx03/__assert>
#include <__cxx03/__config>
@@ -112,4 +112,4 @@ _LIBCPP_END_NAMESPACE_FILESYSTEM
#endif // _LIBCPP_STD_VER >= 17
-#endif // _LIBCPP___FILESYSTEM_PATH_ITERATOR_H
+#endif // _LIBCPP___CXX03___FILESYSTEM_PATH_ITERATOR_H
diff --git a/libcxx/include/__cxx03/__filesystem/perm_options.h b/libcxx/include/__cxx03/__filesystem/perm_options.h
index bfd7941cf100..bebb3038bf6e 100644
--- a/libcxx/include/__cxx03/__filesystem/perm_options.h
+++ b/libcxx/include/__cxx03/__filesystem/perm_options.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FILESYSTEM_PERM_OPTIONS_H
-#define _LIBCPP___FILESYSTEM_PERM_OPTIONS_H
+#ifndef _LIBCPP___CXX03___FILESYSTEM_PERM_OPTIONS_H
+#define _LIBCPP___CXX03___FILESYSTEM_PERM_OPTIONS_H
#include <__cxx03/__config>
@@ -54,4 +54,4 @@ _LIBCPP_END_NAMESPACE_FILESYSTEM
#endif // _LIBCPP_STD_VER >= 17
-#endif // _LIBCPP___FILESYSTEM_PERM_OPTIONS_H
+#endif // _LIBCPP___CXX03___FILESYSTEM_PERM_OPTIONS_H
diff --git a/libcxx/include/__cxx03/__filesystem/perms.h b/libcxx/include/__cxx03/__filesystem/perms.h
index d14023730938..139352c3a8f8 100644
--- a/libcxx/include/__cxx03/__filesystem/perms.h
+++ b/libcxx/include/__cxx03/__filesystem/perms.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FILESYSTEM_PERMS_H
-#define _LIBCPP___FILESYSTEM_PERMS_H
+#ifndef _LIBCPP___CXX03___FILESYSTEM_PERMS_H
+#define _LIBCPP___CXX03___FILESYSTEM_PERMS_H
#include <__cxx03/__config>
@@ -77,4 +77,4 @@ _LIBCPP_END_NAMESPACE_FILESYSTEM
#endif // _LIBCPP_STD_VER >= 17
-#endif // _LIBCPP___FILESYSTEM_PERMS_H
+#endif // _LIBCPP___CXX03___FILESYSTEM_PERMS_H
diff --git a/libcxx/include/__cxx03/__filesystem/recursive_directory_iterator.h b/libcxx/include/__cxx03/__filesystem/recursive_directory_iterator.h
index 43da731cc5b9..a459bd3db4bb 100644
--- a/libcxx/include/__cxx03/__filesystem/recursive_directory_iterator.h
+++ b/libcxx/include/__cxx03/__filesystem/recursive_directory_iterator.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FILESYSTEM_RECURSIVE_DIRECTORY_ITERATOR_H
-#define _LIBCPP___FILESYSTEM_RECURSIVE_DIRECTORY_ITERATOR_H
+#ifndef _LIBCPP___CXX03___FILESYSTEM_RECURSIVE_DIRECTORY_ITERATOR_H
+#define _LIBCPP___CXX03___FILESYSTEM_RECURSIVE_DIRECTORY_ITERATOR_H
#include <__cxx03/__config>
#include <__cxx03/__filesystem/directory_entry.h>
@@ -161,4 +161,4 @@ _LIBCPP_AVAILABILITY_FILESYSTEM_LIBRARY inline constexpr bool
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___FILESYSTEM_RECURSIVE_DIRECTORY_ITERATOR_H
+#endif // _LIBCPP___CXX03___FILESYSTEM_RECURSIVE_DIRECTORY_ITERATOR_H
diff --git a/libcxx/include/__cxx03/__filesystem/space_info.h b/libcxx/include/__cxx03/__filesystem/space_info.h
index 8e2f26024979..0a998f87329a 100644
--- a/libcxx/include/__cxx03/__filesystem/space_info.h
+++ b/libcxx/include/__cxx03/__filesystem/space_info.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FILESYSTEM_SPACE_INFO_H
-#define _LIBCPP___FILESYSTEM_SPACE_INFO_H
+#ifndef _LIBCPP___CXX03___FILESYSTEM_SPACE_INFO_H
+#define _LIBCPP___CXX03___FILESYSTEM_SPACE_INFO_H
#include <__cxx03/__config>
#include <__cxx03/cstdint>
@@ -35,4 +35,4 @@ _LIBCPP_END_NAMESPACE_FILESYSTEM
#endif // _LIBCPP_STD_VER >= 17
-#endif // _LIBCPP___FILESYSTEM_SPACE_INFO_H
+#endif // _LIBCPP___CXX03___FILESYSTEM_SPACE_INFO_H
diff --git a/libcxx/include/__cxx03/__filesystem/u8path.h b/libcxx/include/__cxx03/__filesystem/u8path.h
index 7f1fe89bf252..f60ef6a83f5c 100644
--- a/libcxx/include/__cxx03/__filesystem/u8path.h
+++ b/libcxx/include/__cxx03/__filesystem/u8path.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FILESYSTEM_U8PATH_H
-#define _LIBCPP___FILESYSTEM_U8PATH_H
+#ifndef _LIBCPP___CXX03___FILESYSTEM_U8PATH_H
+#define _LIBCPP___CXX03___FILESYSTEM_U8PATH_H
#include <__cxx03/__algorithm/unwrap_iter.h>
#include <__cxx03/__config>
@@ -97,4 +97,4 @@ _LIBCPP_END_NAMESPACE_FILESYSTEM
#endif // _LIBCPP_STD_VER >= 17
-#endif // _LIBCPP___FILESYSTEM_U8PATH_H
+#endif // _LIBCPP___CXX03___FILESYSTEM_U8PATH_H
diff --git a/libcxx/include/__cxx03/__format/buffer.h b/libcxx/include/__cxx03/__format/buffer.h
index d4162086b84f..167b06d7fd22 100644
--- a/libcxx/include/__cxx03/__format/buffer.h
+++ b/libcxx/include/__cxx03/__format/buffer.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_BUFFER_H
-#define _LIBCPP___FORMAT_BUFFER_H
+#ifndef _LIBCPP___CXX03___FORMAT_BUFFER_H
+#define _LIBCPP___CXX03___FORMAT_BUFFER_H
#include <__cxx03/__algorithm/copy_n.h>
#include <__cxx03/__algorithm/fill_n.h>
@@ -652,4 +652,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___FORMAT_BUFFER_H
+#endif // _LIBCPP___CXX03___FORMAT_BUFFER_H
diff --git a/libcxx/include/__cxx03/__format/concepts.h b/libcxx/include/__cxx03/__format/concepts.h
index ffe937e207ff..90fcb7ed0b8f 100644
--- a/libcxx/include/__cxx03/__format/concepts.h
+++ b/libcxx/include/__cxx03/__format/concepts.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_CONCEPTS_H
-#define _LIBCPP___FORMAT_CONCEPTS_H
+#ifndef _LIBCPP___CXX03___FORMAT_CONCEPTS_H
+#define _LIBCPP___CXX03___FORMAT_CONCEPTS_H
#include <__cxx03/__concepts/same_as.h>
#include <__cxx03/__concepts/semiregular.h>
@@ -80,4 +80,4 @@ concept __fmt_pair_like =
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FORMAT_CONCEPTS_H
+#endif // _LIBCPP___CXX03___FORMAT_CONCEPTS_H
diff --git a/libcxx/include/__cxx03/__format/container_adaptor.h b/libcxx/include/__cxx03/__format/container_adaptor.h
index 5d47677d8d53..42c0d14be61a 100644
--- a/libcxx/include/__cxx03/__format/container_adaptor.h
+++ b/libcxx/include/__cxx03/__format/container_adaptor.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_CONTAINER_ADAPTOR_H
-#define _LIBCPP___FORMAT_CONTAINER_ADAPTOR_H
+#ifndef _LIBCPP___CXX03___FORMAT_CONTAINER_ADAPTOR_H
+#define _LIBCPP___CXX03___FORMAT_CONTAINER_ADAPTOR_H
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
@@ -70,4 +70,4 @@ struct _LIBCPP_TEMPLATE_VIS formatter<stack<_Tp, _Container>, _CharT>
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FORMAT_CONTAINER_ADAPTOR_H
+#endif // _LIBCPP___CXX03___FORMAT_CONTAINER_ADAPTOR_H
diff --git a/libcxx/include/__cxx03/__format/enable_insertable.h b/libcxx/include/__cxx03/__format/enable_insertable.h
index 8bcae600a54e..d52ca8cfd442 100644
--- a/libcxx/include/__cxx03/__format/enable_insertable.h
+++ b/libcxx/include/__cxx03/__format/enable_insertable.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_ENABLE_INSERTABLE_H
-#define _LIBCPP___FORMAT_ENABLE_INSERTABLE_H
+#ifndef _LIBCPP___CXX03___FORMAT_ENABLE_INSERTABLE_H
+#define _LIBCPP___CXX03___FORMAT_ENABLE_INSERTABLE_H
#include <__cxx03/__config>
@@ -32,4 +32,4 @@ inline constexpr bool __enable_insertable = false;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FORMAT_ENABLE_INSERTABLE_H
+#endif // _LIBCPP___CXX03___FORMAT_ENABLE_INSERTABLE_H
diff --git a/libcxx/include/__cxx03/__format/escaped_output_table.h b/libcxx/include/__cxx03/__format/escaped_output_table.h
index 0039968566f8..c5142849865b 100644
--- a/libcxx/include/__cxx03/__format/escaped_output_table.h
+++ b/libcxx/include/__cxx03/__format/escaped_output_table.h
@@ -58,8 +58,8 @@
// use or other dealings in these Data Files or Software without prior
// written authorization of the copyright holder.
-#ifndef _LIBCPP___FORMAT_ESCAPED_OUTPUT_TABLE_H
-#define _LIBCPP___FORMAT_ESCAPED_OUTPUT_TABLE_H
+#ifndef _LIBCPP___CXX03___FORMAT_ESCAPED_OUTPUT_TABLE_H
+#define _LIBCPP___CXX03___FORMAT_ESCAPED_OUTPUT_TABLE_H
#include <__cxx03/__algorithm/ranges_upper_bound.h>
#include <__cxx03/__config>
@@ -860,4 +860,4 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[711] = {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FORMAT_ESCAPED_OUTPUT_TABLE_H
+#endif // _LIBCPP___CXX03___FORMAT_ESCAPED_OUTPUT_TABLE_H
diff --git a/libcxx/include/__cxx03/__format/extended_grapheme_cluster_table.h b/libcxx/include/__cxx03/__format/extended_grapheme_cluster_table.h
index d83838bbc83a..c26b870d3037 100644
--- a/libcxx/include/__cxx03/__format/extended_grapheme_cluster_table.h
+++ b/libcxx/include/__cxx03/__format/extended_grapheme_cluster_table.h
@@ -58,8 +58,8 @@
// use or other dealings in these Data Files or Software without prior
// written authorization of the copyright holder.
-#ifndef _LIBCPP___FORMAT_EXTENDED_GRAPHEME_CLUSTER_TABLE_H
-#define _LIBCPP___FORMAT_EXTENDED_GRAPHEME_CLUSTER_TABLE_H
+#ifndef _LIBCPP___CXX03___FORMAT_EXTENDED_GRAPHEME_CLUSTER_TABLE_H
+#define _LIBCPP___CXX03___FORMAT_EXTENDED_GRAPHEME_CLUSTER_TABLE_H
#include <__cxx03/__algorithm/ranges_upper_bound.h>
#include <__cxx03/__config>
@@ -1660,4 +1660,4 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[1496] = {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FORMAT_EXTENDED_GRAPHEME_CLUSTER_TABLE_H
+#endif // _LIBCPP___CXX03___FORMAT_EXTENDED_GRAPHEME_CLUSTER_TABLE_H
diff --git a/libcxx/include/__cxx03/__format/format_arg.h b/libcxx/include/__cxx03/__format/format_arg.h
index 3d37555c0e2d..cf9bf75e60df 100644
--- a/libcxx/include/__cxx03/__format/format_arg.h
+++ b/libcxx/include/__cxx03/__format/format_arg.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_FORMAT_ARG_H
-#define _LIBCPP___FORMAT_FORMAT_ARG_H
+#ifndef _LIBCPP___CXX03___FORMAT_FORMAT_ARG_H
+#define _LIBCPP___CXX03___FORMAT_FORMAT_ARG_H
#include <__cxx03/__assert>
#include <__cxx03/__concepts/arithmetic.h>
@@ -398,4 +398,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___FORMAT_FORMAT_ARG_H
+#endif // _LIBCPP___CXX03___FORMAT_FORMAT_ARG_H
diff --git a/libcxx/include/__cxx03/__format/format_arg_store.h b/libcxx/include/__cxx03/__format/format_arg_store.h
index 836a5a2ffc45..1116b53edc20 100644
--- a/libcxx/include/__cxx03/__format/format_arg_store.h
+++ b/libcxx/include/__cxx03/__format/format_arg_store.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_FORMAT_ARG_STORE_H
-#define _LIBCPP___FORMAT_FORMAT_ARG_STORE_H
+#ifndef _LIBCPP___CXX03___FORMAT_FORMAT_ARG_STORE_H
+#define _LIBCPP___CXX03___FORMAT_FORMAT_ARG_STORE_H
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
@@ -263,4 +263,4 @@ struct _LIBCPP_TEMPLATE_VIS __format_arg_store {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FORMAT_FORMAT_ARG_STORE_H
+#endif // _LIBCPP___CXX03___FORMAT_FORMAT_ARG_STORE_H
diff --git a/libcxx/include/__cxx03/__format/format_args.h b/libcxx/include/__cxx03/__format/format_args.h
index 494ba91cf55a..702b8763d31e 100644
--- a/libcxx/include/__cxx03/__format/format_args.h
+++ b/libcxx/include/__cxx03/__format/format_args.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_FORMAT_ARGS_H
-#define _LIBCPP___FORMAT_FORMAT_ARGS_H
+#ifndef _LIBCPP___CXX03___FORMAT_FORMAT_ARGS_H
+#define _LIBCPP___CXX03___FORMAT_FORMAT_ARGS_H
#include <__cxx03/__config>
#include <__cxx03/__format/format_arg.h>
@@ -75,4 +75,4 @@ basic_format_args(__format_arg_store<_Context, _Args...>) -> basic_format_args<_
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FORMAT_FORMAT_ARGS_H
+#endif // _LIBCPP___CXX03___FORMAT_FORMAT_ARGS_H
diff --git a/libcxx/include/__cxx03/__format/format_context.h b/libcxx/include/__cxx03/__format/format_context.h
index 04f2d69a247d..7f1011581133 100644
--- a/libcxx/include/__cxx03/__format/format_context.h
+++ b/libcxx/include/__cxx03/__format/format_context.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_FORMAT_CONTEXT_H
-#define _LIBCPP___FORMAT_FORMAT_CONTEXT_H
+#ifndef _LIBCPP___CXX03___FORMAT_FORMAT_CONTEXT_H
+#define _LIBCPP___CXX03___FORMAT_FORMAT_CONTEXT_H
#include <__cxx03/__concepts/same_as.h>
#include <__cxx03/__config>
@@ -217,4 +217,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___FORMAT_FORMAT_CONTEXT_H
+#endif // _LIBCPP___CXX03___FORMAT_FORMAT_CONTEXT_H
diff --git a/libcxx/include/__cxx03/__format/format_error.h b/libcxx/include/__cxx03/__format/format_error.h
index 701bf3ad0dcc..c0a2959131e4 100644
--- a/libcxx/include/__cxx03/__format/format_error.h
+++ b/libcxx/include/__cxx03/__format/format_error.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_FORMAT_ERROR_H
-#define _LIBCPP___FORMAT_FORMAT_ERROR_H
+#ifndef _LIBCPP___CXX03___FORMAT_FORMAT_ERROR_H
+#define _LIBCPP___CXX03___FORMAT_FORMAT_ERROR_H
#include <__cxx03/__config>
#include <__cxx03/__verbose_abort>
@@ -47,4 +47,4 @@ _LIBCPP_NORETURN inline _LIBCPP_HIDE_FROM_ABI void __throw_format_error(const ch
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FORMAT_FORMAT_ERROR_H
+#endif // _LIBCPP___CXX03___FORMAT_FORMAT_ERROR_H
diff --git a/libcxx/include/__cxx03/__format/format_functions.h b/libcxx/include/__cxx03/__format/format_functions.h
index bc9056dd0bde..d3a1bc46c8a7 100644
--- a/libcxx/include/__cxx03/__format/format_functions.h
+++ b/libcxx/include/__cxx03/__format/format_functions.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_FORMAT_FUNCTIONS
-#define _LIBCPP___FORMAT_FORMAT_FUNCTIONS
+#ifndef _LIBCPP___CXX03___FORMAT_FORMAT_FUNCTIONS
+#define _LIBCPP___CXX03___FORMAT_FORMAT_FUNCTIONS
#include <__cxx03/__algorithm/clamp.h>
#include <__cxx03/__concepts/convertible_to.h>
@@ -677,4 +677,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___FORMAT_FORMAT_FUNCTIONS
+#endif // _LIBCPP___CXX03___FORMAT_FORMAT_FUNCTIONS
diff --git a/libcxx/include/__cxx03/__format/format_parse_context.h b/libcxx/include/__cxx03/__format/format_parse_context.h
index 1df545987659..81338506aee6 100644
--- a/libcxx/include/__cxx03/__format/format_parse_context.h
+++ b/libcxx/include/__cxx03/__format/format_parse_context.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_FORMAT_PARSE_CONTEXT_H
-#define _LIBCPP___FORMAT_FORMAT_PARSE_CONTEXT_H
+#ifndef _LIBCPP___CXX03___FORMAT_FORMAT_PARSE_CONTEXT_H
+#define _LIBCPP___CXX03___FORMAT_FORMAT_PARSE_CONTEXT_H
#include <__cxx03/__config>
#include <__cxx03/__format/format_error.h>
@@ -102,4 +102,4 @@ using wformat_parse_context = basic_format_parse_context<wchar_t>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FORMAT_FORMAT_PARSE_CONTEXT_H
+#endif // _LIBCPP___CXX03___FORMAT_FORMAT_PARSE_CONTEXT_H
diff --git a/libcxx/include/__cxx03/__format/format_string.h b/libcxx/include/__cxx03/__format/format_string.h
index c48719337372..6a7276419167 100644
--- a/libcxx/include/__cxx03/__format/format_string.h
+++ b/libcxx/include/__cxx03/__format/format_string.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_FORMAT_STRING_H
-#define _LIBCPP___FORMAT_FORMAT_STRING_H
+#ifndef _LIBCPP___CXX03___FORMAT_FORMAT_STRING_H
+#define _LIBCPP___CXX03___FORMAT_FORMAT_STRING_H
#include <__cxx03/__assert>
#include <__cxx03/__config>
@@ -157,4 +157,4 @@ __parse_arg_id(_Iterator __begin, _Iterator __end, auto& __parse_ctx) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FORMAT_FORMAT_STRING_H
+#endif // _LIBCPP___CXX03___FORMAT_FORMAT_STRING_H
diff --git a/libcxx/include/__cxx03/__format/format_to_n_result.h b/libcxx/include/__cxx03/__format/format_to_n_result.h
index 8797432922eb..65e7031f5764 100644
--- a/libcxx/include/__cxx03/__format/format_to_n_result.h
+++ b/libcxx/include/__cxx03/__format/format_to_n_result.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_FORMAT_TO_N_RESULT_H
-#define _LIBCPP___FORMAT_FORMAT_TO_N_RESULT_H
+#ifndef _LIBCPP___CXX03___FORMAT_FORMAT_TO_N_RESULT_H
+#define _LIBCPP___CXX03___FORMAT_FORMAT_TO_N_RESULT_H
#include <__cxx03/__config>
#include <__cxx03/__iterator/incrementable_traits.h>
@@ -32,4 +32,4 @@ _LIBCPP_CTAD_SUPPORTED_FOR_TYPE(format_to_n_result);
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FORMAT_FORMAT_TO_N_RESULT_H
+#endif // _LIBCPP___CXX03___FORMAT_FORMAT_TO_N_RESULT_H
diff --git a/libcxx/include/__cxx03/__format/formatter.h b/libcxx/include/__cxx03/__format/formatter.h
index 98457d0a2c65..9afc9dfce3cb 100644
--- a/libcxx/include/__cxx03/__format/formatter.h
+++ b/libcxx/include/__cxx03/__format/formatter.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_FORMATTER_H
-#define _LIBCPP___FORMAT_FORMATTER_H
+#ifndef _LIBCPP___CXX03___FORMAT_FORMATTER_H
+#define _LIBCPP___CXX03___FORMAT_FORMATTER_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/format.h>
@@ -50,4 +50,4 @@ _LIBCPP_HIDE_FROM_ABI constexpr void __set_debug_format(_Tp& __formatter) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FORMAT_FORMATTER_H
+#endif // _LIBCPP___CXX03___FORMAT_FORMATTER_H
diff --git a/libcxx/include/__cxx03/__format/formatter_bool.h b/libcxx/include/__cxx03/__format/formatter_bool.h
index dd8e97bfc7f4..12a29c2c5604 100644
--- a/libcxx/include/__cxx03/__format/formatter_bool.h
+++ b/libcxx/include/__cxx03/__format/formatter_bool.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_FORMATTER_BOOL_H
-#define _LIBCPP___FORMAT_FORMATTER_BOOL_H
+#ifndef _LIBCPP___CXX03___FORMAT_FORMATTER_BOOL_H
+#define _LIBCPP___CXX03___FORMAT_FORMATTER_BOOL_H
#include <__cxx03/__algorithm/copy.h>
#include <__cxx03/__assert>
@@ -73,4 +73,4 @@ public:
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FORMAT_FORMATTER_BOOL_H
+#endif // _LIBCPP___CXX03___FORMAT_FORMATTER_BOOL_H
diff --git a/libcxx/include/__cxx03/__format/formatter_char.h b/libcxx/include/__cxx03/__format/formatter_char.h
index b743433c2891..f0a7d153ea34 100644
--- a/libcxx/include/__cxx03/__format/formatter_char.h
+++ b/libcxx/include/__cxx03/__format/formatter_char.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_FORMATTER_CHAR_H
-#define _LIBCPP___FORMAT_FORMATTER_CHAR_H
+#ifndef _LIBCPP___CXX03___FORMAT_FORMATTER_CHAR_H
+#define _LIBCPP___CXX03___FORMAT_FORMATTER_CHAR_H
#include <__cxx03/__concepts/same_as.h>
#include <__cxx03/__config>
@@ -90,4 +90,4 @@ struct _LIBCPP_TEMPLATE_VIS formatter<wchar_t, wchar_t> : public __formatter_cha
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FORMAT_FORMATTER_CHAR_H
+#endif // _LIBCPP___CXX03___FORMAT_FORMATTER_CHAR_H
diff --git a/libcxx/include/__cxx03/__format/formatter_floating_point.h b/libcxx/include/__cxx03/__format/formatter_floating_point.h
index 36663fb90716..9f7eec0addcf 100644
--- a/libcxx/include/__cxx03/__format/formatter_floating_point.h
+++ b/libcxx/include/__cxx03/__format/formatter_floating_point.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_FORMATTER_FLOATING_POINT_H
-#define _LIBCPP___FORMAT_FORMATTER_FLOATING_POINT_H
+#ifndef _LIBCPP___CXX03___FORMAT_FORMATTER_FLOATING_POINT_H
+#define _LIBCPP___CXX03___FORMAT_FORMATTER_FLOATING_POINT_H
#include <__cxx03/__algorithm/copy_n.h>
#include <__cxx03/__algorithm/find.h>
@@ -780,4 +780,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___FORMAT_FORMATTER_FLOATING_POINT_H
+#endif // _LIBCPP___CXX03___FORMAT_FORMATTER_FLOATING_POINT_H
diff --git a/libcxx/include/__cxx03/__format/formatter_integer.h b/libcxx/include/__cxx03/__format/formatter_integer.h
index 0d4dd15de4f9..365b44093ede 100644
--- a/libcxx/include/__cxx03/__format/formatter_integer.h
+++ b/libcxx/include/__cxx03/__format/formatter_integer.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_FORMATTER_INTEGER_H
-#define _LIBCPP___FORMAT_FORMATTER_INTEGER_H
+#ifndef _LIBCPP___CXX03___FORMAT_FORMATTER_INTEGER_H
+#define _LIBCPP___CXX03___FORMAT_FORMATTER_INTEGER_H
#include <__cxx03/__concepts/arithmetic.h>
#include <__cxx03/__config>
@@ -92,4 +92,4 @@ struct _LIBCPP_TEMPLATE_VIS formatter<__uint128_t, _CharT> : public __formatter_
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FORMAT_FORMATTER_INTEGER_H
+#endif // _LIBCPP___CXX03___FORMAT_FORMATTER_INTEGER_H
diff --git a/libcxx/include/__cxx03/__format/formatter_integral.h b/libcxx/include/__cxx03/__format/formatter_integral.h
index 6bab83124449..fc846549dabd 100644
--- a/libcxx/include/__cxx03/__format/formatter_integral.h
+++ b/libcxx/include/__cxx03/__format/formatter_integral.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_FORMATTER_INTEGRAL_H
-#define _LIBCPP___FORMAT_FORMATTER_INTEGRAL_H
+#ifndef _LIBCPP___CXX03___FORMAT_FORMATTER_INTEGRAL_H
+#define _LIBCPP___CXX03___FORMAT_FORMATTER_INTEGRAL_H
#include <__cxx03/__charconv/to_chars_integral.h>
#include <__cxx03/__charconv/to_chars_result.h>
@@ -442,4 +442,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___FORMAT_FORMATTER_INTEGRAL_H
+#endif // _LIBCPP___CXX03___FORMAT_FORMATTER_INTEGRAL_H
diff --git a/libcxx/include/__cxx03/__format/formatter_output.h b/libcxx/include/__cxx03/__format/formatter_output.h
index edf6909de750..1f3ab7f2ff69 100644
--- a/libcxx/include/__cxx03/__format/formatter_output.h
+++ b/libcxx/include/__cxx03/__format/formatter_output.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_FORMATTER_OUTPUT_H
-#define _LIBCPP___FORMAT_FORMATTER_OUTPUT_H
+#ifndef _LIBCPP___CXX03___FORMAT_FORMATTER_OUTPUT_H
+#define _LIBCPP___CXX03___FORMAT_FORMATTER_OUTPUT_H
#include <__cxx03/__algorithm/ranges_copy.h>
#include <__cxx03/__algorithm/ranges_fill_n.h>
@@ -332,4 +332,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___FORMAT_FORMATTER_OUTPUT_H
+#endif // _LIBCPP___CXX03___FORMAT_FORMATTER_OUTPUT_H
diff --git a/libcxx/include/__cxx03/__format/formatter_pointer.h b/libcxx/include/__cxx03/__format/formatter_pointer.h
index 166a2e93b622..906d62a83e33 100644
--- a/libcxx/include/__cxx03/__format/formatter_pointer.h
+++ b/libcxx/include/__cxx03/__format/formatter_pointer.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_FORMATTER_POINTER_H
-#define _LIBCPP___FORMAT_FORMATTER_POINTER_H
+#ifndef _LIBCPP___CXX03___FORMAT_FORMATTER_POINTER_H
+#define _LIBCPP___CXX03___FORMAT_FORMATTER_POINTER_H
#include <__cxx03/__config>
#include <__cxx03/__format/concepts.h>
@@ -69,4 +69,4 @@ struct _LIBCPP_TEMPLATE_VIS formatter<const void*, _CharT> : public __formatter_
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FORMAT_FORMATTER_POINTER_H
+#endif // _LIBCPP___CXX03___FORMAT_FORMATTER_POINTER_H
diff --git a/libcxx/include/__cxx03/__format/formatter_string.h b/libcxx/include/__cxx03/__format/formatter_string.h
index 9cc862a4545c..024f7936875e 100644
--- a/libcxx/include/__cxx03/__format/formatter_string.h
+++ b/libcxx/include/__cxx03/__format/formatter_string.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_FORMATTER_STRING_H
-#define _LIBCPP___FORMAT_FORMATTER_STRING_H
+#ifndef _LIBCPP___CXX03___FORMAT_FORMATTER_STRING_H
+#define _LIBCPP___CXX03___FORMAT_FORMATTER_STRING_H
#include <__cxx03/__config>
#include <__cxx03/__format/concepts.h>
@@ -147,4 +147,4 @@ struct _LIBCPP_TEMPLATE_VIS formatter<basic_string_view<_CharT, _Traits>, _CharT
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FORMAT_FORMATTER_STRING_H
+#endif // _LIBCPP___CXX03___FORMAT_FORMATTER_STRING_H
diff --git a/libcxx/include/__cxx03/__format/formatter_tuple.h b/libcxx/include/__cxx03/__format/formatter_tuple.h
index 911552f66350..0a5ce4e070a6 100644
--- a/libcxx/include/__cxx03/__format/formatter_tuple.h
+++ b/libcxx/include/__cxx03/__format/formatter_tuple.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_FORMATTER_TUPLE_H
-#define _LIBCPP___FORMAT_FORMATTER_TUPLE_H
+#ifndef _LIBCPP___CXX03___FORMAT_FORMATTER_TUPLE_H
+#define _LIBCPP___CXX03___FORMAT_FORMATTER_TUPLE_H
#include <__cxx03/__algorithm/ranges_copy.h>
#include <__cxx03/__chrono/statically_widen.h>
@@ -147,4 +147,4 @@ struct _LIBCPP_TEMPLATE_VIS formatter<tuple<_Args...>, _CharT>
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FORMAT_FORMATTER_TUPLE_H
+#endif // _LIBCPP___CXX03___FORMAT_FORMATTER_TUPLE_H
diff --git a/libcxx/include/__cxx03/__format/indic_conjunct_break_table.h b/libcxx/include/__cxx03/__format/indic_conjunct_break_table.h
index b02c2c324573..37fbde299873 100644
--- a/libcxx/include/__cxx03/__format/indic_conjunct_break_table.h
+++ b/libcxx/include/__cxx03/__format/indic_conjunct_break_table.h
@@ -58,8 +58,8 @@
// use or other dealings in these Data Files or Software without prior
// written authorization of the copyright holder.
-#ifndef _LIBCPP___FORMAT_INDIC_CONJUNCT_BREAK_TABLE_H
-#define _LIBCPP___FORMAT_INDIC_CONJUNCT_BREAK_TABLE_H
+#ifndef _LIBCPP___CXX03___FORMAT_INDIC_CONJUNCT_BREAK_TABLE_H
+#define _LIBCPP___CXX03___FORMAT_INDIC_CONJUNCT_BREAK_TABLE_H
#include <__cxx03/__algorithm/ranges_upper_bound.h>
#include <__cxx03/__config>
@@ -347,4 +347,4 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr uint32_t __entries[201] = {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FORMAT_INDIC_CONJUNCT_BREAK_TABLE_H
+#endif // _LIBCPP___CXX03___FORMAT_INDIC_CONJUNCT_BREAK_TABLE_H
diff --git a/libcxx/include/__cxx03/__format/parser_std_format_spec.h b/libcxx/include/__cxx03/__format/parser_std_format_spec.h
index 1afb5b2c5dd1..394b6e655e72 100644
--- a/libcxx/include/__cxx03/__format/parser_std_format_spec.h
+++ b/libcxx/include/__cxx03/__format/parser_std_format_spec.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_PARSER_STD_FORMAT_SPEC_H
-#define _LIBCPP___FORMAT_PARSER_STD_FORMAT_SPEC_H
+#ifndef _LIBCPP___CXX03___FORMAT_PARSER_STD_FORMAT_SPEC_H
+#define _LIBCPP___CXX03___FORMAT_PARSER_STD_FORMAT_SPEC_H
/// \file Contains the std-format-spec parser.
///
@@ -1169,4 +1169,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___FORMAT_PARSER_STD_FORMAT_SPEC_H
+#endif // _LIBCPP___CXX03___FORMAT_PARSER_STD_FORMAT_SPEC_H
diff --git a/libcxx/include/__cxx03/__format/range_default_formatter.h b/libcxx/include/__cxx03/__format/range_default_formatter.h
index c0e07870430e..ca51a0f0a822 100644
--- a/libcxx/include/__cxx03/__format/range_default_formatter.h
+++ b/libcxx/include/__cxx03/__format/range_default_formatter.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_RANGE_DEFAULT_FORMATTER_H
-#define _LIBCPP___FORMAT_RANGE_DEFAULT_FORMATTER_H
+#ifndef _LIBCPP___CXX03___FORMAT_RANGE_DEFAULT_FORMATTER_H
+#define _LIBCPP___CXX03___FORMAT_RANGE_DEFAULT_FORMATTER_H
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
@@ -211,4 +211,4 @@ struct _LIBCPP_TEMPLATE_VIS formatter<_Rp, _CharT> : __range_default_formatter<f
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FORMAT_RANGE_DEFAULT_FORMATTER_H
+#endif // _LIBCPP___CXX03___FORMAT_RANGE_DEFAULT_FORMATTER_H
diff --git a/libcxx/include/__cxx03/__format/range_formatter.h b/libcxx/include/__cxx03/__format/range_formatter.h
index 57bb5ff726ba..0b6ee4401fc7 100644
--- a/libcxx/include/__cxx03/__format/range_formatter.h
+++ b/libcxx/include/__cxx03/__format/range_formatter.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_RANGE_FORMATTER_H
-#define _LIBCPP___FORMAT_RANGE_FORMATTER_H
+#ifndef _LIBCPP___CXX03___FORMAT_RANGE_FORMATTER_H
+#define _LIBCPP___CXX03___FORMAT_RANGE_FORMATTER_H
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
@@ -261,4 +261,4 @@ private:
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FORMAT_RANGE_FORMATTER_H
+#endif // _LIBCPP___CXX03___FORMAT_RANGE_FORMATTER_H
diff --git a/libcxx/include/__cxx03/__format/unicode.h b/libcxx/include/__cxx03/__format/unicode.h
index 5cf1a8967ab9..e6e9b895df9a 100644
--- a/libcxx/include/__cxx03/__format/unicode.h
+++ b/libcxx/include/__cxx03/__format/unicode.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_UNICODE_H
-#define _LIBCPP___FORMAT_UNICODE_H
+#ifndef _LIBCPP___CXX03___FORMAT_UNICODE_H
+#define _LIBCPP___CXX03___FORMAT_UNICODE_H
#include <__cxx03/__assert>
#include <__cxx03/__bit/countl.h>
@@ -599,4 +599,4 @@ private:
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FORMAT_UNICODE_H
+#endif // _LIBCPP___CXX03___FORMAT_UNICODE_H
diff --git a/libcxx/include/__cxx03/__format/width_estimation_table.h b/libcxx/include/__cxx03/__format/width_estimation_table.h
index 2f0367d1c8f9..0929c4bbf0f0 100644
--- a/libcxx/include/__cxx03/__format/width_estimation_table.h
+++ b/libcxx/include/__cxx03/__format/width_estimation_table.h
@@ -58,8 +58,8 @@
// use or other dealings in these Data Files or Software without prior
// written authorization of the copyright holder.
-#ifndef _LIBCPP___FORMAT_WIDTH_ESTIMATION_TABLE_H
-#define _LIBCPP___FORMAT_WIDTH_ESTIMATION_TABLE_H
+#ifndef _LIBCPP___CXX03___FORMAT_WIDTH_ESTIMATION_TABLE_H
+#define _LIBCPP___CXX03___FORMAT_WIDTH_ESTIMATION_TABLE_H
#include <__cxx03/__algorithm/ranges_upper_bound.h>
#include <__cxx03/__config>
@@ -267,4 +267,4 @@ inline constexpr uint32_t __table_upper_bound = 0x0003fffd;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FORMAT_WIDTH_ESTIMATION_TABLE_H
+#endif // _LIBCPP___CXX03___FORMAT_WIDTH_ESTIMATION_TABLE_H
diff --git a/libcxx/include/__cxx03/__format/write_escaped.h b/libcxx/include/__cxx03/__format/write_escaped.h
index 82e65ca988eb..5711e7c539d0 100644
--- a/libcxx/include/__cxx03/__format/write_escaped.h
+++ b/libcxx/include/__cxx03/__format/write_escaped.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FORMAT_WRITE_ESCAPED_H
-#define _LIBCPP___FORMAT_WRITE_ESCAPED_H
+#ifndef _LIBCPP___CXX03___FORMAT_WRITE_ESCAPED_H
+#define _LIBCPP___CXX03___FORMAT_WRITE_ESCAPED_H
#include <__cxx03/__algorithm/ranges_copy.h>
#include <__cxx03/__algorithm/ranges_for_each.h>
@@ -239,4 +239,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___FORMAT_WRITE_ESCAPED_H
+#endif // _LIBCPP___CXX03___FORMAT_WRITE_ESCAPED_H
diff --git a/libcxx/include/__cxx03/__functional/binary_function.h b/libcxx/include/__cxx03/__functional/binary_function.h
index 0e54bc5e3c61..cc247eacb8e3 100644
--- a/libcxx/include/__cxx03/__functional/binary_function.h
+++ b/libcxx/include/__cxx03/__functional/binary_function.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_BINARY_FUNCTION_H
-#define _LIBCPP___FUNCTIONAL_BINARY_FUNCTION_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_BINARY_FUNCTION_H
+#define _LIBCPP___CXX03___FUNCTIONAL_BINARY_FUNCTION_H
#include <__cxx03/__config>
@@ -51,4 +51,4 @@ using __binary_function = __binary_function_keep_layout_base<_Arg1, _Arg2, _Resu
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FUNCTIONAL_BINARY_FUNCTION_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_BINARY_FUNCTION_H
diff --git a/libcxx/include/__cxx03/__functional/binary_negate.h b/libcxx/include/__cxx03/__functional/binary_negate.h
index 60dfb1991865..e2173d72dc40 100644
--- a/libcxx/include/__cxx03/__functional/binary_negate.h
+++ b/libcxx/include/__cxx03/__functional/binary_negate.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_BINARY_NEGATE_H
-#define _LIBCPP___FUNCTIONAL_BINARY_NEGATE_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_BINARY_NEGATE_H
+#define _LIBCPP___CXX03___FUNCTIONAL_BINARY_NEGATE_H
#include <__cxx03/__config>
#include <__cxx03/__functional/binary_function.h>
@@ -48,4 +48,4 @@ not2(const _Predicate& __pred) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FUNCTIONAL_BINARY_NEGATE_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_BINARY_NEGATE_H
diff --git a/libcxx/include/__cxx03/__functional/bind.h b/libcxx/include/__cxx03/__functional/bind.h
index 5a1a76a6f1f7..70c4be05ce65 100644
--- a/libcxx/include/__cxx03/__functional/bind.h
+++ b/libcxx/include/__cxx03/__functional/bind.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_BIND_H
-#define _LIBCPP___FUNCTIONAL_BIND_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_BIND_H
+#define _LIBCPP___CXX03___FUNCTIONAL_BIND_H
#include <__cxx03/__config>
#include <__cxx03/__functional/invoke.h>
@@ -293,4 +293,4 @@ bind(_Fp&& __f, _BoundArgs&&... __bound_args) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FUNCTIONAL_BIND_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_BIND_H
diff --git a/libcxx/include/__cxx03/__functional/bind_back.h b/libcxx/include/__cxx03/__functional/bind_back.h
index fef99f185237..2e333b1b14d6 100644
--- a/libcxx/include/__cxx03/__functional/bind_back.h
+++ b/libcxx/include/__cxx03/__functional/bind_back.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_BIND_BACK_H
-#define _LIBCPP___FUNCTIONAL_BIND_BACK_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_BIND_BACK_H
+#define _LIBCPP___CXX03___FUNCTIONAL_BIND_BACK_H
#include <__cxx03/__config>
#include <__cxx03/__functional/invoke.h>
@@ -80,4 +80,4 @@ _LIBCPP_HIDE_FROM_ABI constexpr auto bind_back(_Fn&& __f, _Args&&... __args) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FUNCTIONAL_BIND_BACK_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_BIND_BACK_H
diff --git a/libcxx/include/__cxx03/__functional/bind_front.h b/libcxx/include/__cxx03/__functional/bind_front.h
index 1156f53be096..6447c2d1bc2e 100644
--- a/libcxx/include/__cxx03/__functional/bind_front.h
+++ b/libcxx/include/__cxx03/__functional/bind_front.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_BIND_FRONT_H
-#define _LIBCPP___FUNCTIONAL_BIND_FRONT_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_BIND_FRONT_H
+#define _LIBCPP___CXX03___FUNCTIONAL_BIND_FRONT_H
#include <__cxx03/__config>
#include <__cxx03/__functional/invoke.h>
@@ -51,4 +51,4 @@ _LIBCPP_HIDE_FROM_ABI constexpr auto bind_front(_Fn&& __f, _Args&&... __args) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FUNCTIONAL_BIND_FRONT_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_BIND_FRONT_H
diff --git a/libcxx/include/__cxx03/__functional/binder1st.h b/libcxx/include/__cxx03/__functional/binder1st.h
index 1f2f7ebb9c85..21c136ff16d8 100644
--- a/libcxx/include/__cxx03/__functional/binder1st.h
+++ b/libcxx/include/__cxx03/__functional/binder1st.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_BINDER1ST_H
-#define _LIBCPP___FUNCTIONAL_BINDER1ST_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_BINDER1ST_H
+#define _LIBCPP___CXX03___FUNCTIONAL_BINDER1ST_H
#include <__cxx03/__config>
#include <__cxx03/__functional/unary_function.h>
@@ -51,4 +51,4 @@ bind1st(const _Operation& __op, const _Tp& __x) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FUNCTIONAL_BINDER1ST_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_BINDER1ST_H
diff --git a/libcxx/include/__cxx03/__functional/binder2nd.h b/libcxx/include/__cxx03/__functional/binder2nd.h
index d70fab8c93b4..397215b3d9e1 100644
--- a/libcxx/include/__cxx03/__functional/binder2nd.h
+++ b/libcxx/include/__cxx03/__functional/binder2nd.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_BINDER2ND_H
-#define _LIBCPP___FUNCTIONAL_BINDER2ND_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_BINDER2ND_H
+#define _LIBCPP___CXX03___FUNCTIONAL_BINDER2ND_H
#include <__cxx03/__config>
#include <__cxx03/__functional/unary_function.h>
@@ -51,4 +51,4 @@ bind2nd(const _Operation& __op, const _Tp& __x) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FUNCTIONAL_BINDER2ND_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_BINDER2ND_H
diff --git a/libcxx/include/__cxx03/__functional/boyer_moore_searcher.h b/libcxx/include/__cxx03/__functional/boyer_moore_searcher.h
index e7724ce6f44c..384c4b53cc27 100644
--- a/libcxx/include/__cxx03/__functional/boyer_moore_searcher.h
+++ b/libcxx/include/__cxx03/__functional/boyer_moore_searcher.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_BOYER_MOORE_SEARCHER_H
-#define _LIBCPP___FUNCTIONAL_BOYER_MOORE_SEARCHER_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_BOYER_MOORE_SEARCHER_H
+#define _LIBCPP___CXX03___FUNCTIONAL_BOYER_MOORE_SEARCHER_H
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
@@ -303,4 +303,4 @@ _LIBCPP_POP_MACROS
#endif // _LIBCPP_STD_VER >= 17
-#endif // _LIBCPP___FUNCTIONAL_BOYER_MOORE_SEARCHER_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_BOYER_MOORE_SEARCHER_H
diff --git a/libcxx/include/__cxx03/__functional/compose.h b/libcxx/include/__cxx03/__functional/compose.h
index 504a7e1ca142..afb6358ad535 100644
--- a/libcxx/include/__cxx03/__functional/compose.h
+++ b/libcxx/include/__cxx03/__functional/compose.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_COMPOSE_H
-#define _LIBCPP___FUNCTIONAL_COMPOSE_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_COMPOSE_H
+#define _LIBCPP___CXX03___FUNCTIONAL_COMPOSE_H
#include <__cxx03/__config>
#include <__cxx03/__functional/invoke.h>
@@ -50,4 +50,4 @@ _LIBCPP_HIDE_FROM_ABI constexpr auto __compose(_Fn1&& __f1, _Fn2&& __f2) noexcep
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FUNCTIONAL_COMPOSE_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_COMPOSE_H
diff --git a/libcxx/include/__cxx03/__functional/default_searcher.h b/libcxx/include/__cxx03/__functional/default_searcher.h
index 90ee48fc5e93..f1ad66990c25 100644
--- a/libcxx/include/__cxx03/__functional/default_searcher.h
+++ b/libcxx/include/__cxx03/__functional/default_searcher.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_DEFAULT_SEARCHER_H
-#define _LIBCPP___FUNCTIONAL_DEFAULT_SEARCHER_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_DEFAULT_SEARCHER_H
+#define _LIBCPP___CXX03___FUNCTIONAL_DEFAULT_SEARCHER_H
#include <__cxx03/__algorithm/search.h>
#include <__cxx03/__config>
@@ -51,4 +51,4 @@ _LIBCPP_CTAD_SUPPORTED_FOR_TYPE(default_searcher);
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FUNCTIONAL_DEFAULT_SEARCHER_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_DEFAULT_SEARCHER_H
diff --git a/libcxx/include/__cxx03/__functional/function.h b/libcxx/include/__cxx03/__functional/function.h
index fe3cc8accac6..1d60391494da 100644
--- a/libcxx/include/__cxx03/__functional/function.h
+++ b/libcxx/include/__cxx03/__functional/function.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_FUNCTION_H
-#define _LIBCPP___FUNCTIONAL_FUNCTION_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_FUNCTION_H
+#define _LIBCPP___CXX03___FUNCTIONAL_FUNCTION_H
#include <__cxx03/__assert>
#include <__cxx03/__config>
@@ -1045,4 +1045,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___FUNCTIONAL_FUNCTION_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_FUNCTION_H
diff --git a/libcxx/include/__cxx03/__functional/hash.h b/libcxx/include/__cxx03/__functional/hash.h
index 216d2ae4d1bc..15473a857243 100644
--- a/libcxx/include/__cxx03/__functional/hash.h
+++ b/libcxx/include/__cxx03/__functional/hash.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_HASH_H
-#define _LIBCPP___FUNCTIONAL_HASH_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_HASH_H
+#define _LIBCPP___CXX03___FUNCTIONAL_HASH_H
#include <__cxx03/__config>
#include <__cxx03/__functional/unary_function.h>
@@ -539,4 +539,4 @@ using __enable_hash_helper _LIBCPP_NODEBUG = _Type;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FUNCTIONAL_HASH_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_HASH_H
diff --git a/libcxx/include/__cxx03/__functional/identity.h b/libcxx/include/__cxx03/__functional/identity.h
index 7d016af84f85..61e5ebdb31e6 100644
--- a/libcxx/include/__cxx03/__functional/identity.h
+++ b/libcxx/include/__cxx03/__functional/identity.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_IDENTITY_H
-#define _LIBCPP___FUNCTIONAL_IDENTITY_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_IDENTITY_H
+#define _LIBCPP___CXX03___FUNCTIONAL_IDENTITY_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/functional.h>
@@ -62,4 +62,4 @@ struct __is_identity<reference_wrapper<const identity> > : true_type {};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FUNCTIONAL_IDENTITY_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_IDENTITY_H
diff --git a/libcxx/include/__cxx03/__functional/invoke.h b/libcxx/include/__cxx03/__functional/invoke.h
index a9c039bc0379..d17a2d58e471 100644
--- a/libcxx/include/__cxx03/__functional/invoke.h
+++ b/libcxx/include/__cxx03/__functional/invoke.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_INVOKE_H
-#define _LIBCPP___FUNCTIONAL_INVOKE_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_INVOKE_H
+#define _LIBCPP___CXX03___FUNCTIONAL_INVOKE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/invoke.h>
@@ -51,4 +51,4 @@ invoke_r(_Fn&& __f, _Args&&... __args) noexcept(is_nothrow_invocable_r_v<_Result
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FUNCTIONAL_INVOKE_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_INVOKE_H
diff --git a/libcxx/include/__cxx03/__functional/is_transparent.h b/libcxx/include/__cxx03/__functional/is_transparent.h
index de978871404b..b630aca63367 100644
--- a/libcxx/include/__cxx03/__functional/is_transparent.h
+++ b/libcxx/include/__cxx03/__functional/is_transparent.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_IS_TRANSPARENT
-#define _LIBCPP___FUNCTIONAL_IS_TRANSPARENT
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_IS_TRANSPARENT
+#define _LIBCPP___CXX03___FUNCTIONAL_IS_TRANSPARENT
#include <__cxx03/__config>
#include <__cxx03/__type_traits/void_t.h>
@@ -31,4 +31,4 @@ inline const bool __is_transparent_v<_Tp, _Up, __void_t<typename _Tp::is_transpa
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FUNCTIONAL_IS_TRANSPARENT
+#endif // _LIBCPP___CXX03___FUNCTIONAL_IS_TRANSPARENT
diff --git a/libcxx/include/__cxx03/__functional/mem_fn.h b/libcxx/include/__cxx03/__functional/mem_fn.h
index 31bf5a86bffd..b3257f8302f1 100644
--- a/libcxx/include/__cxx03/__functional/mem_fn.h
+++ b/libcxx/include/__cxx03/__functional/mem_fn.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_MEM_FN_H
-#define _LIBCPP___FUNCTIONAL_MEM_FN_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_MEM_FN_H
+#define _LIBCPP___CXX03___FUNCTIONAL_MEM_FN_H
#include <__cxx03/__config>
#include <__cxx03/__functional/binary_function.h>
@@ -51,4 +51,4 @@ inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 __mem_fn<_Rp _Tp::*>
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FUNCTIONAL_MEM_FN_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_MEM_FN_H
diff --git a/libcxx/include/__cxx03/__functional/mem_fun_ref.h b/libcxx/include/__cxx03/__functional/mem_fun_ref.h
index e0e2f29b95d1..ef962231dc92 100644
--- a/libcxx/include/__cxx03/__functional/mem_fun_ref.h
+++ b/libcxx/include/__cxx03/__functional/mem_fun_ref.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_MEM_FUN_REF_H
-#define _LIBCPP___FUNCTIONAL_MEM_FUN_REF_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_MEM_FUN_REF_H
+#define _LIBCPP___CXX03___FUNCTIONAL_MEM_FUN_REF_H
#include <__cxx03/__config>
#include <__cxx03/__functional/binary_function.h>
@@ -143,4 +143,4 @@ mem_fun_ref(_Sp (_Tp::*__f)(_Ap) const) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FUNCTIONAL_MEM_FUN_REF_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_MEM_FUN_REF_H
diff --git a/libcxx/include/__cxx03/__functional/not_fn.h b/libcxx/include/__cxx03/__functional/not_fn.h
index 8b9264af64c5..a6c648bc0beb 100644
--- a/libcxx/include/__cxx03/__functional/not_fn.h
+++ b/libcxx/include/__cxx03/__functional/not_fn.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_NOT_FN_H
-#define _LIBCPP___FUNCTIONAL_NOT_FN_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_NOT_FN_H
+#define _LIBCPP___CXX03___FUNCTIONAL_NOT_FN_H
#include <__cxx03/__config>
#include <__cxx03/__functional/invoke.h>
@@ -50,4 +50,4 @@ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 auto not_fn(_Fn&& __f) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FUNCTIONAL_NOT_FN_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_NOT_FN_H
diff --git a/libcxx/include/__cxx03/__functional/operations.h b/libcxx/include/__cxx03/__functional/operations.h
index c05579e35e83..ddbe71bdc8b6 100644
--- a/libcxx/include/__cxx03/__functional/operations.h
+++ b/libcxx/include/__cxx03/__functional/operations.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_OPERATIONS_H
-#define _LIBCPP___FUNCTIONAL_OPERATIONS_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_OPERATIONS_H
+#define _LIBCPP___CXX03___FUNCTIONAL_OPERATIONS_H
#include <__cxx03/__config>
#include <__cxx03/__functional/binary_function.h>
@@ -538,4 +538,4 @@ struct _LIBCPP_TEMPLATE_VIS logical_or<void> {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FUNCTIONAL_OPERATIONS_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_OPERATIONS_H
diff --git a/libcxx/include/__cxx03/__functional/perfect_forward.h b/libcxx/include/__cxx03/__functional/perfect_forward.h
index 45ecb68250dc..230e0dc21b42 100644
--- a/libcxx/include/__cxx03/__functional/perfect_forward.h
+++ b/libcxx/include/__cxx03/__functional/perfect_forward.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_PERFECT_FORWARD_H
-#define _LIBCPP___FUNCTIONAL_PERFECT_FORWARD_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_PERFECT_FORWARD_H
+#define _LIBCPP___CXX03___FUNCTIONAL_PERFECT_FORWARD_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -101,4 +101,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___FUNCTIONAL_PERFECT_FORWARD_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_PERFECT_FORWARD_H
diff --git a/libcxx/include/__cxx03/__functional/pointer_to_binary_function.h b/libcxx/include/__cxx03/__functional/pointer_to_binary_function.h
index d033f9050f0c..72474255d7fe 100644
--- a/libcxx/include/__cxx03/__functional/pointer_to_binary_function.h
+++ b/libcxx/include/__cxx03/__functional/pointer_to_binary_function.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_POINTER_TO_BINARY_FUNCTION_H
-#define _LIBCPP___FUNCTIONAL_POINTER_TO_BINARY_FUNCTION_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_POINTER_TO_BINARY_FUNCTION_H
+#define _LIBCPP___CXX03___FUNCTIONAL_POINTER_TO_BINARY_FUNCTION_H
#include <__cxx03/__config>
#include <__cxx03/__functional/binary_function.h>
@@ -41,4 +41,4 @@ ptr_fun(_Result (*__f)(_Arg1, _Arg2)) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FUNCTIONAL_POINTER_TO_BINARY_FUNCTION_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_POINTER_TO_BINARY_FUNCTION_H
diff --git a/libcxx/include/__cxx03/__functional/pointer_to_unary_function.h b/libcxx/include/__cxx03/__functional/pointer_to_unary_function.h
index 9e7f62915c91..8540ad07f3ec 100644
--- a/libcxx/include/__cxx03/__functional/pointer_to_unary_function.h
+++ b/libcxx/include/__cxx03/__functional/pointer_to_unary_function.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_POINTER_TO_UNARY_FUNCTION_H
-#define _LIBCPP___FUNCTIONAL_POINTER_TO_UNARY_FUNCTION_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_POINTER_TO_UNARY_FUNCTION_H
+#define _LIBCPP___CXX03___FUNCTIONAL_POINTER_TO_UNARY_FUNCTION_H
#include <__cxx03/__config>
#include <__cxx03/__functional/unary_function.h>
@@ -41,4 +41,4 @@ ptr_fun(_Result (*__f)(_Arg)) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FUNCTIONAL_POINTER_TO_UNARY_FUNCTION_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_POINTER_TO_UNARY_FUNCTION_H
diff --git a/libcxx/include/__cxx03/__functional/ranges_operations.h b/libcxx/include/__cxx03/__functional/ranges_operations.h
index e8a2b367c935..e48593824852 100644
--- a/libcxx/include/__cxx03/__functional/ranges_operations.h
+++ b/libcxx/include/__cxx03/__functional/ranges_operations.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_RANGES_OPERATIONS_H
-#define _LIBCPP___FUNCTIONAL_RANGES_OPERATIONS_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_RANGES_OPERATIONS_H
+#define _LIBCPP___CXX03___FUNCTIONAL_RANGES_OPERATIONS_H
#include <__cxx03/__concepts/equality_comparable.h>
#include <__cxx03/__concepts/totally_ordered.h>
@@ -106,4 +106,4 @@ inline const bool __desugars_to_v<__less_tag, ranges::less, _Tp, _Up> = true;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FUNCTIONAL_RANGES_OPERATIONS_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_RANGES_OPERATIONS_H
diff --git a/libcxx/include/__cxx03/__functional/reference_wrapper.h b/libcxx/include/__cxx03/__functional/reference_wrapper.h
index 73788e1fdb89..e217bdf54335 100644
--- a/libcxx/include/__cxx03/__functional/reference_wrapper.h
+++ b/libcxx/include/__cxx03/__functional/reference_wrapper.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_REFERENCE_WRAPPER_H
-#define _LIBCPP___FUNCTIONAL_REFERENCE_WRAPPER_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_REFERENCE_WRAPPER_H
+#define _LIBCPP___CXX03___FUNCTIONAL_REFERENCE_WRAPPER_H
#include <__cxx03/__compare/synth_three_way.h>
#include <__cxx03/__concepts/boolean_testable.h>
@@ -151,4 +151,4 @@ void cref(const _Tp&&) = delete;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FUNCTIONAL_REFERENCE_WRAPPER_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_REFERENCE_WRAPPER_H
diff --git a/libcxx/include/__cxx03/__functional/unary_function.h b/libcxx/include/__cxx03/__functional/unary_function.h
index 9b1e336f15fa..45ba29ee2cac 100644
--- a/libcxx/include/__cxx03/__functional/unary_function.h
+++ b/libcxx/include/__cxx03/__functional/unary_function.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_UNARY_FUNCTION_H
-#define _LIBCPP___FUNCTIONAL_UNARY_FUNCTION_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_UNARY_FUNCTION_H
+#define _LIBCPP___CXX03___FUNCTIONAL_UNARY_FUNCTION_H
#include <__cxx03/__config>
@@ -48,4 +48,4 @@ using __unary_function = __unary_function_keep_layout_base<_Arg, _Result>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FUNCTIONAL_UNARY_FUNCTION_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_UNARY_FUNCTION_H
diff --git a/libcxx/include/__cxx03/__functional/unary_negate.h b/libcxx/include/__cxx03/__functional/unary_negate.h
index 7154d234b007..4d527865f378 100644
--- a/libcxx/include/__cxx03/__functional/unary_negate.h
+++ b/libcxx/include/__cxx03/__functional/unary_negate.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_UNARY_NEGATE_H
-#define _LIBCPP___FUNCTIONAL_UNARY_NEGATE_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_UNARY_NEGATE_H
+#define _LIBCPP___CXX03___FUNCTIONAL_UNARY_NEGATE_H
#include <__cxx03/__config>
#include <__cxx03/__functional/unary_function.h>
@@ -45,4 +45,4 @@ not1(const _Predicate& __pred) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FUNCTIONAL_UNARY_NEGATE_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_UNARY_NEGATE_H
diff --git a/libcxx/include/__cxx03/__functional/weak_result_type.h b/libcxx/include/__cxx03/__functional/weak_result_type.h
index e1d62d634ca3..539989dda2d9 100644
--- a/libcxx/include/__cxx03/__functional/weak_result_type.h
+++ b/libcxx/include/__cxx03/__functional/weak_result_type.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_WEAK_RESULT_TYPE_H
-#define _LIBCPP___FUNCTIONAL_WEAK_RESULT_TYPE_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_WEAK_RESULT_TYPE_H
+#define _LIBCPP___CXX03___FUNCTIONAL_WEAK_RESULT_TYPE_H
#include <__cxx03/__config>
#include <__cxx03/__functional/binary_function.h>
@@ -228,4 +228,4 @@ struct __invoke_return {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FUNCTIONAL_WEAK_RESULT_TYPE_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_WEAK_RESULT_TYPE_H
diff --git a/libcxx/include/__cxx03/__fwd/array.h b/libcxx/include/__cxx03/__fwd/array.h
index 36343371a227..f2648a1986e2 100644
--- a/libcxx/include/__cxx03/__fwd/array.h
+++ b/libcxx/include/__cxx03/__fwd/array.h
@@ -6,8 +6,8 @@
//
//===---------------------------------------------------------------------===//
-#ifndef _LIBCPP___FWD_ARRAY_H
-#define _LIBCPP___FWD_ARRAY_H
+#ifndef _LIBCPP___CXX03___FWD_ARRAY_H
+#define _LIBCPP___CXX03___FWD_ARRAY_H
#include <__cxx03/__config>
#include <__cxx03/cstddef>
@@ -43,4 +43,4 @@ struct __is_std_array<array<_Tp, _Size> > : true_type {};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FWD_ARRAY_H
+#endif // _LIBCPP___CXX03___FWD_ARRAY_H
diff --git a/libcxx/include/__cxx03/__fwd/bit_reference.h b/libcxx/include/__cxx03/__fwd/bit_reference.h
index 6bda18429c39..e04a47ff97a6 100644
--- a/libcxx/include/__cxx03/__fwd/bit_reference.h
+++ b/libcxx/include/__cxx03/__fwd/bit_reference.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FWD_BIT_REFERENCE_H
-#define _LIBCPP___FWD_BIT_REFERENCE_H
+#ifndef _LIBCPP___CXX03___FWD_BIT_REFERENCE_H
+#define _LIBCPP___CXX03___FWD_BIT_REFERENCE_H
#include <__cxx03/__config>
@@ -22,4 +22,4 @@ class __bit_iterator;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FWD_BIT_REFERENCE_H
+#endif // _LIBCPP___CXX03___FWD_BIT_REFERENCE_H
diff --git a/libcxx/include/__cxx03/__fwd/complex.h b/libcxx/include/__cxx03/__fwd/complex.h
index e734f2db76fe..bb1ae20ab3bf 100644
--- a/libcxx/include/__cxx03/__fwd/complex.h
+++ b/libcxx/include/__cxx03/__fwd/complex.h
@@ -6,8 +6,8 @@
//
//===---------------------------------------------------------------------===//
-#ifndef _LIBCPP___FWD_COMPLEX_H
-#define _LIBCPP___FWD_COMPLEX_H
+#ifndef _LIBCPP___CXX03___FWD_COMPLEX_H
+#define _LIBCPP___CXX03___FWD_COMPLEX_H
#include <__cxx03/__config>
#include <__cxx03/cstddef>
@@ -39,4 +39,4 @@ _LIBCPP_HIDE_FROM_ABI constexpr const _Tp&& get(const complex<_Tp>&&) noexcept;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FWD_COMPLEX_H
+#endif // _LIBCPP___CXX03___FWD_COMPLEX_H
diff --git a/libcxx/include/__cxx03/__fwd/deque.h b/libcxx/include/__cxx03/__fwd/deque.h
index 31aa8c379982..7d1c6f79d0d7 100644
--- a/libcxx/include/__cxx03/__fwd/deque.h
+++ b/libcxx/include/__cxx03/__fwd/deque.h
@@ -6,8 +6,8 @@
//
//===---------------------------------------------------------------------===//
-#ifndef _LIBCPP___FWD_DEQUE_H
-#define _LIBCPP___FWD_DEQUE_H
+#ifndef _LIBCPP___CXX03___FWD_DEQUE_H
+#define _LIBCPP___CXX03___FWD_DEQUE_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/memory.h>
@@ -23,4 +23,4 @@ class _LIBCPP_TEMPLATE_VIS deque;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FWD_DEQUE_H
+#endif // _LIBCPP___CXX03___FWD_DEQUE_H
diff --git a/libcxx/include/__cxx03/__fwd/format.h b/libcxx/include/__cxx03/__fwd/format.h
index 277743336327..3da3fd728266 100644
--- a/libcxx/include/__cxx03/__fwd/format.h
+++ b/libcxx/include/__cxx03/__fwd/format.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FWD_FORMAT_H
-#define _LIBCPP___FWD_FORMAT_H
+#ifndef _LIBCPP___CXX03___FWD_FORMAT_H
+#define _LIBCPP___CXX03___FWD_FORMAT_H
#include <__cxx03/__config>
#include <__cxx03/__iterator/concepts.h>
@@ -35,4 +35,4 @@ struct _LIBCPP_TEMPLATE_VIS formatter;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FWD_FORMAT_H
+#endif // _LIBCPP___CXX03___FWD_FORMAT_H
diff --git a/libcxx/include/__cxx03/__fwd/fstream.h b/libcxx/include/__cxx03/__fwd/fstream.h
index 717cb8c583d2..8cc5d2b9efd4 100644
--- a/libcxx/include/__cxx03/__fwd/fstream.h
+++ b/libcxx/include/__cxx03/__fwd/fstream.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FWD_FSTREAM_H
-#define _LIBCPP___FWD_FSTREAM_H
+#ifndef _LIBCPP___CXX03___FWD_FSTREAM_H
+#define _LIBCPP___CXX03___FWD_FSTREAM_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/string.h>
@@ -50,4 +50,4 @@ class _LIBCPP_PREFERRED_NAME(fstream) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERR
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FWD_FSTREAM_H
+#endif // _LIBCPP___CXX03___FWD_FSTREAM_H
diff --git a/libcxx/include/__cxx03/__fwd/functional.h b/libcxx/include/__cxx03/__fwd/functional.h
index e19b802d178c..924874ca7005 100644
--- a/libcxx/include/__cxx03/__fwd/functional.h
+++ b/libcxx/include/__cxx03/__fwd/functional.h
@@ -6,8 +6,8 @@
//
//===---------------------------------------------------------------------===//
-#ifndef _LIBCPP___FWD_FUNCTIONAL_H
-#define _LIBCPP___FWD_FUNCTIONAL_H
+#ifndef _LIBCPP___CXX03___FWD_FUNCTIONAL_H
+#define _LIBCPP___CXX03___FWD_FUNCTIONAL_H
#include <__cxx03/__config>
@@ -25,4 +25,4 @@ class _LIBCPP_TEMPLATE_VIS reference_wrapper;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FWD_FUNCTIONAL_H
+#endif // _LIBCPP___CXX03___FWD_FUNCTIONAL_H
diff --git a/libcxx/include/__cxx03/__fwd/ios.h b/libcxx/include/__cxx03/__fwd/ios.h
index f5ba74c9067b..dc03e8c6bab2 100644
--- a/libcxx/include/__cxx03/__fwd/ios.h
+++ b/libcxx/include/__cxx03/__fwd/ios.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FWD_IOS_H
-#define _LIBCPP___FWD_IOS_H
+#ifndef _LIBCPP___CXX03___FWD_IOS_H
+#define _LIBCPP___CXX03___FWD_IOS_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/string.h>
@@ -40,4 +40,4 @@ using streamoff = long long; // for char_traits in <string>
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FWD_IOS_H
+#endif // _LIBCPP___CXX03___FWD_IOS_H
diff --git a/libcxx/include/__cxx03/__fwd/istream.h b/libcxx/include/__cxx03/__fwd/istream.h
index 8975ac26baf6..f3edc7859c64 100644
--- a/libcxx/include/__cxx03/__fwd/istream.h
+++ b/libcxx/include/__cxx03/__fwd/istream.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FWD_ISTREAM_H
-#define _LIBCPP___FWD_ISTREAM_H
+#ifndef _LIBCPP___CXX03___FWD_ISTREAM_H
+#define _LIBCPP___CXX03___FWD_ISTREAM_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/string.h>
@@ -40,4 +40,4 @@ class _LIBCPP_PREFERRED_NAME(iostream) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFER
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FWD_ISTREAM_H
+#endif // _LIBCPP___CXX03___FWD_ISTREAM_H
diff --git a/libcxx/include/__cxx03/__fwd/mdspan.h b/libcxx/include/__cxx03/__fwd/mdspan.h
index 369da43a2029..50209798a144 100644
--- a/libcxx/include/__cxx03/__fwd/mdspan.h
+++ b/libcxx/include/__cxx03/__fwd/mdspan.h
@@ -14,8 +14,8 @@
//
//===---------------------------------------------------------------------===//
-#ifndef _LIBCPP___MDSPAN_LAYOUTS_H
-#define _LIBCPP___MDSPAN_LAYOUTS_H
+#ifndef _LIBCPP___CXX03___MDSPAN_LAYOUTS_H
+#define _LIBCPP___CXX03___MDSPAN_LAYOUTS_H
#include <__cxx03/__config>
@@ -54,4 +54,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___MDSPAN_LAYOUTS_H
+#endif // _LIBCPP___CXX03___MDSPAN_LAYOUTS_H
diff --git a/libcxx/include/__cxx03/__fwd/memory.h b/libcxx/include/__cxx03/__fwd/memory.h
index 109c0f6c051c..df76b1747c20 100644
--- a/libcxx/include/__cxx03/__fwd/memory.h
+++ b/libcxx/include/__cxx03/__fwd/memory.h
@@ -6,8 +6,8 @@
//
//===---------------------------------------------------------------------===//
-#ifndef _LIBCPP___FWD_MEMORY_H
-#define _LIBCPP___FWD_MEMORY_H
+#ifndef _LIBCPP___CXX03___FWD_MEMORY_H
+#define _LIBCPP___CXX03___FWD_MEMORY_H
#include <__cxx03/__config>
@@ -22,4 +22,4 @@ class _LIBCPP_TEMPLATE_VIS allocator;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FWD_MEMORY_H
+#endif // _LIBCPP___CXX03___FWD_MEMORY_H
diff --git a/libcxx/include/__cxx03/__fwd/memory_resource.h b/libcxx/include/__cxx03/__fwd/memory_resource.h
index 1a12dcfdaf62..aefa00a12a83 100644
--- a/libcxx/include/__cxx03/__fwd/memory_resource.h
+++ b/libcxx/include/__cxx03/__fwd/memory_resource.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FWD_MEMORY_RESOURCE_H
-#define _LIBCPP___FWD_MEMORY_RESOURCE_H
+#ifndef _LIBCPP___CXX03___FWD_MEMORY_RESOURCE_H
+#define _LIBCPP___CXX03___FWD_MEMORY_RESOURCE_H
#include <__cxx03/__config>
@@ -24,4 +24,4 @@ class _LIBCPP_AVAILABILITY_PMR _LIBCPP_TEMPLATE_VIS polymorphic_allocator;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FWD_MEMORY_RESOURCE_H
+#endif // _LIBCPP___CXX03___FWD_MEMORY_RESOURCE_H
diff --git a/libcxx/include/__cxx03/__fwd/ostream.h b/libcxx/include/__cxx03/__fwd/ostream.h
index 5660ac50aac4..b5061e6d3bc6 100644
--- a/libcxx/include/__cxx03/__fwd/ostream.h
+++ b/libcxx/include/__cxx03/__fwd/ostream.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FWD_OSTREAM_H
-#define _LIBCPP___FWD_OSTREAM_H
+#ifndef _LIBCPP___CXX03___FWD_OSTREAM_H
+#define _LIBCPP___CXX03___FWD_OSTREAM_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/string.h>
@@ -32,4 +32,4 @@ class _LIBCPP_PREFERRED_NAME(ostream) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERR
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FWD_OSTREAM_H
+#endif // _LIBCPP___CXX03___FWD_OSTREAM_H
diff --git a/libcxx/include/__cxx03/__fwd/pair.h b/libcxx/include/__cxx03/__fwd/pair.h
index 36656b454e0a..092374b50960 100644
--- a/libcxx/include/__cxx03/__fwd/pair.h
+++ b/libcxx/include/__cxx03/__fwd/pair.h
@@ -6,8 +6,8 @@
//
//===---------------------------------------------------------------------===//
-#ifndef _LIBCPP___FWD_PAIR_H
-#define _LIBCPP___FWD_PAIR_H
+#ifndef _LIBCPP___CXX03___FWD_PAIR_H
+#define _LIBCPP___CXX03___FWD_PAIR_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/tuple.h>
@@ -42,4 +42,4 @@ get(const pair<_T1, _T2>&&) _NOEXCEPT;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FWD_PAIR_H
+#endif // _LIBCPP___CXX03___FWD_PAIR_H
diff --git a/libcxx/include/__cxx03/__fwd/queue.h b/libcxx/include/__cxx03/__fwd/queue.h
index 54afd5113ba8..c2f68089d0e3 100644
--- a/libcxx/include/__cxx03/__fwd/queue.h
+++ b/libcxx/include/__cxx03/__fwd/queue.h
@@ -6,8 +6,8 @@
//
//===---------------------------------------------------------------------===//
-#ifndef _LIBCPP___FWD_QUEUE_H
-#define _LIBCPP___FWD_QUEUE_H
+#ifndef _LIBCPP___CXX03___FWD_QUEUE_H
+#define _LIBCPP___CXX03___FWD_QUEUE_H
#include <__cxx03/__config>
#include <__cxx03/__functional/operations.h>
@@ -28,4 +28,4 @@ class _LIBCPP_TEMPLATE_VIS priority_queue;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FWD_QUEUE_H
+#endif // _LIBCPP___CXX03___FWD_QUEUE_H
diff --git a/libcxx/include/__cxx03/__fwd/span.h b/libcxx/include/__cxx03/__fwd/span.h
index 47ed3eca5af4..415a3c5ba8a5 100644
--- a/libcxx/include/__cxx03/__fwd/span.h
+++ b/libcxx/include/__cxx03/__fwd/span.h
@@ -7,8 +7,8 @@
//
//===---------------------------------------------------------------------===//
-#ifndef _LIBCPP___FWD_SPAN_H
-#define _LIBCPP___FWD_SPAN_H
+#ifndef _LIBCPP___CXX03___FWD_SPAN_H
+#define _LIBCPP___CXX03___FWD_SPAN_H
#include <__cxx03/__config>
#include <__cxx03/cstddef>
@@ -35,4 +35,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___FWD_SPAN_H
+#endif // _LIBCPP___CXX03___FWD_SPAN_H
diff --git a/libcxx/include/__cxx03/__fwd/sstream.h b/libcxx/include/__cxx03/__fwd/sstream.h
index cbb53942c821..32ae42cd7b02 100644
--- a/libcxx/include/__cxx03/__fwd/sstream.h
+++ b/libcxx/include/__cxx03/__fwd/sstream.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FWD_SSTREAM_H
-#define _LIBCPP___FWD_SSTREAM_H
+#ifndef _LIBCPP___CXX03___FWD_SSTREAM_H
+#define _LIBCPP___CXX03___FWD_SSTREAM_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/memory.h>
@@ -55,4 +55,4 @@ class _LIBCPP_PREFERRED_NAME(stringstream)
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FWD_SSTREAM_H
+#endif // _LIBCPP___CXX03___FWD_SSTREAM_H
diff --git a/libcxx/include/__cxx03/__fwd/stack.h b/libcxx/include/__cxx03/__fwd/stack.h
index ddd7a6761587..715356e91b41 100644
--- a/libcxx/include/__cxx03/__fwd/stack.h
+++ b/libcxx/include/__cxx03/__fwd/stack.h
@@ -6,8 +6,8 @@
//
//===---------------------------------------------------------------------===//
-#ifndef _LIBCPP___FWD_STACK_H
-#define _LIBCPP___FWD_STACK_H
+#ifndef _LIBCPP___CXX03___FWD_STACK_H
+#define _LIBCPP___CXX03___FWD_STACK_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/deque.h>
@@ -23,4 +23,4 @@ class _LIBCPP_TEMPLATE_VIS stack;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FWD_STACK_H
+#endif // _LIBCPP___CXX03___FWD_STACK_H
diff --git a/libcxx/include/__cxx03/__fwd/streambuf.h b/libcxx/include/__cxx03/__fwd/streambuf.h
index 0b448836aaef..d22be50ce8ad 100644
--- a/libcxx/include/__cxx03/__fwd/streambuf.h
+++ b/libcxx/include/__cxx03/__fwd/streambuf.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FWD_STREAMBUF_H
-#define _LIBCPP___FWD_STREAMBUF_H
+#ifndef _LIBCPP___CXX03___FWD_STREAMBUF_H
+#define _LIBCPP___CXX03___FWD_STREAMBUF_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/string.h>
@@ -32,4 +32,4 @@ class _LIBCPP_PREFERRED_NAME(streambuf) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFE
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FWD_STREAMBUF_H
+#endif // _LIBCPP___CXX03___FWD_STREAMBUF_H
diff --git a/libcxx/include/__cxx03/__fwd/string.h b/libcxx/include/__cxx03/__fwd/string.h
index 07042b205e8c..21c2584c6e95 100644
--- a/libcxx/include/__cxx03/__fwd/string.h
+++ b/libcxx/include/__cxx03/__fwd/string.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FWD_STRING_H
-#define _LIBCPP___FWD_STRING_H
+#ifndef _LIBCPP___CXX03___FWD_STRING_H
+#define _LIBCPP___CXX03___FWD_STRING_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/memory.h>
@@ -104,4 +104,4 @@ class _LIBCPP_PREFERRED_NAME(string)
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FWD_STRING_H
+#endif // _LIBCPP___CXX03___FWD_STRING_H
diff --git a/libcxx/include/__cxx03/__fwd/string_view.h b/libcxx/include/__cxx03/__fwd/string_view.h
index 25ee230d20b3..76c608b46b1c 100644
--- a/libcxx/include/__cxx03/__fwd/string_view.h
+++ b/libcxx/include/__cxx03/__fwd/string_view.h
@@ -7,8 +7,8 @@
//
//===---------------------------------------------------------------------===//
-#ifndef _LIBCPP___FWD_STRING_VIEW_H
-#define _LIBCPP___FWD_STRING_VIEW_H
+#ifndef _LIBCPP___CXX03___FWD_STRING_VIEW_H
+#define _LIBCPP___CXX03___FWD_STRING_VIEW_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/string.h>
@@ -47,4 +47,4 @@ class _LIBCPP_PREFERRED_NAME(string_view)
// clang-format on
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FWD_STRING_VIEW_H
+#endif // _LIBCPP___CXX03___FWD_STRING_VIEW_H
diff --git a/libcxx/include/__cxx03/__fwd/subrange.h b/libcxx/include/__cxx03/__fwd/subrange.h
index aebbd866daeb..34ba3504d049 100644
--- a/libcxx/include/__cxx03/__fwd/subrange.h
+++ b/libcxx/include/__cxx03/__fwd/subrange.h
@@ -6,8 +6,8 @@
//
//===---------------------------------------------------------------------===//
-#ifndef _LIBCPP___FWD_SUBRANGE_H
-#define _LIBCPP___FWD_SUBRANGE_H
+#ifndef _LIBCPP___CXX03___FWD_SUBRANGE_H
+#define _LIBCPP___CXX03___FWD_SUBRANGE_H
#include <__cxx03/__concepts/copyable.h>
#include <__cxx03/__config>
@@ -46,4 +46,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___FWD_SUBRANGE_H
+#endif // _LIBCPP___CXX03___FWD_SUBRANGE_H
diff --git a/libcxx/include/__cxx03/__fwd/tuple.h b/libcxx/include/__cxx03/__fwd/tuple.h
index 75f7e6d16aec..fed99583f199 100644
--- a/libcxx/include/__cxx03/__fwd/tuple.h
+++ b/libcxx/include/__cxx03/__fwd/tuple.h
@@ -6,8 +6,8 @@
//
//===---------------------------------------------------------------------===//
-#ifndef _LIBCPP___FWD_TUPLE_H
-#define _LIBCPP___FWD_TUPLE_H
+#ifndef _LIBCPP___CXX03___FWD_TUPLE_H
+#define _LIBCPP___CXX03___FWD_TUPLE_H
#include <__cxx03/__config>
#include <__cxx03/cstddef>
@@ -49,4 +49,4 @@ get(const tuple<_Tp...>&&) _NOEXCEPT;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FWD_TUPLE_H
+#endif // _LIBCPP___CXX03___FWD_TUPLE_H
diff --git a/libcxx/include/__cxx03/__fwd/vector.h b/libcxx/include/__cxx03/__fwd/vector.h
index 3ed34e9f9ef9..4133173d765c 100644
--- a/libcxx/include/__cxx03/__fwd/vector.h
+++ b/libcxx/include/__cxx03/__fwd/vector.h
@@ -6,8 +6,8 @@
//
//===---------------------------------------------------------------------===//
-#ifndef _LIBCPP___FWD_VECTOR_H
-#define _LIBCPP___FWD_VECTOR_H
+#ifndef _LIBCPP___CXX03___FWD_VECTOR_H
+#define _LIBCPP___CXX03___FWD_VECTOR_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/memory.h>
@@ -23,4 +23,4 @@ class _LIBCPP_TEMPLATE_VIS vector;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FWD_VECTOR_H
+#endif // _LIBCPP___CXX03___FWD_VECTOR_H
diff --git a/libcxx/include/__cxx03/__hash_table b/libcxx/include/__cxx03/__hash_table
index 348dcaf01e8c..4a27681442c2 100644
--- a/libcxx/include/__cxx03/__hash_table
+++ b/libcxx/include/__cxx03/__hash_table
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___HASH_TABLE
-#define _LIBCPP___HASH_TABLE
+#ifndef _LIBCPP___CXX03___HASH_TABLE
+#define _LIBCPP___CXX03___HASH_TABLE
#include <__cxx03/__algorithm/max.h>
#include <__cxx03/__algorithm/min.h>
@@ -2041,4 +2041,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___HASH_TABLE
+#endif // _LIBCPP___CXX03___HASH_TABLE
diff --git a/libcxx/include/__cxx03/__ios/fpos.h b/libcxx/include/__cxx03/__ios/fpos.h
index 20904d3f5469..5f16bfd4caec 100644
--- a/libcxx/include/__cxx03/__ios/fpos.h
+++ b/libcxx/include/__cxx03/__ios/fpos.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___IOS_FPOS_H
-#define _LIBCPP___IOS_FPOS_H
+#ifndef _LIBCPP___CXX03___IOS_FPOS_H
+#define _LIBCPP___CXX03___IOS_FPOS_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/ios.h>
@@ -73,4 +73,4 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const fpos<_StateT>& __x, const fpo
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___IOS_FPOS_H
+#endif // _LIBCPP___CXX03___IOS_FPOS_H
diff --git a/libcxx/include/__cxx03/__iterator/access.h b/libcxx/include/__cxx03/__iterator/access.h
index 2d7b4d16d47c..2d61d4a879d4 100644
--- a/libcxx/include/__cxx03/__iterator/access.h
+++ b/libcxx/include/__cxx03/__iterator/access.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_ACCESS_H
-#define _LIBCPP___ITERATOR_ACCESS_H
+#ifndef _LIBCPP___CXX03___ITERATOR_ACCESS_H
+#define _LIBCPP___CXX03___ITERATOR_ACCESS_H
#include <__cxx03/__config>
#include <__cxx03/cstddef>
@@ -92,4 +92,4 @@ _LIBCPP_HIDE_FROM_ABI typename _Cp::const_iterator end(const _Cp& __c) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_ACCESS_H
+#endif // _LIBCPP___CXX03___ITERATOR_ACCESS_H
diff --git a/libcxx/include/__cxx03/__iterator/advance.h b/libcxx/include/__cxx03/__iterator/advance.h
index b481652fbed9..ac4904829b7e 100644
--- a/libcxx/include/__cxx03/__iterator/advance.h
+++ b/libcxx/include/__cxx03/__iterator/advance.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_ADVANCE_H
-#define _LIBCPP___ITERATOR_ADVANCE_H
+#ifndef _LIBCPP___CXX03___ITERATOR_ADVANCE_H
+#define _LIBCPP___CXX03___ITERATOR_ADVANCE_H
#include <__cxx03/__assert>
#include <__cxx03/__concepts/assignable.h>
@@ -202,4 +202,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ITERATOR_ADVANCE_H
+#endif // _LIBCPP___CXX03___ITERATOR_ADVANCE_H
diff --git a/libcxx/include/__cxx03/__iterator/aliasing_iterator.h b/libcxx/include/__cxx03/__iterator/aliasing_iterator.h
index a3cb555606cb..93da1d28ef09 100644
--- a/libcxx/include/__cxx03/__iterator/aliasing_iterator.h
+++ b/libcxx/include/__cxx03/__iterator/aliasing_iterator.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_ALIASING_ITERATOR_H
-#define _LIBCPP___ITERATOR_ALIASING_ITERATOR_H
+#ifndef _LIBCPP___CXX03___ITERATOR_ALIASING_ITERATOR_H
+#define _LIBCPP___CXX03___ITERATOR_ALIASING_ITERATOR_H
#include <__cxx03/__config>
#include <__cxx03/__iterator/iterator_traits.h>
@@ -124,4 +124,4 @@ using __aliasing_iterator = typename __aliasing_iterator_wrapper<_BaseT, _Alias>
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_ALIASING_ITERATOR_H
+#endif // _LIBCPP___CXX03___ITERATOR_ALIASING_ITERATOR_H
diff --git a/libcxx/include/__cxx03/__iterator/back_insert_iterator.h b/libcxx/include/__cxx03/__iterator/back_insert_iterator.h
index 2d3885951d13..962639a2746b 100644
--- a/libcxx/include/__cxx03/__iterator/back_insert_iterator.h
+++ b/libcxx/include/__cxx03/__iterator/back_insert_iterator.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_BACK_INSERT_ITERATOR_H
-#define _LIBCPP___ITERATOR_BACK_INSERT_ITERATOR_H
+#ifndef _LIBCPP___CXX03___ITERATOR_BACK_INSERT_ITERATOR_H
+#define _LIBCPP___CXX03___ITERATOR_BACK_INSERT_ITERATOR_H
#include <__cxx03/__config>
#include <__cxx03/__iterator/iterator.h>
@@ -82,4 +82,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ITERATOR_BACK_INSERT_ITERATOR_H
+#endif // _LIBCPP___CXX03___ITERATOR_BACK_INSERT_ITERATOR_H
diff --git a/libcxx/include/__cxx03/__iterator/bounded_iter.h b/libcxx/include/__cxx03/__iterator/bounded_iter.h
index dc93be089b1b..d361e74283de 100644
--- a/libcxx/include/__cxx03/__iterator/bounded_iter.h
+++ b/libcxx/include/__cxx03/__iterator/bounded_iter.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_BOUNDED_ITER_H
-#define _LIBCPP___ITERATOR_BOUNDED_ITER_H
+#ifndef _LIBCPP___CXX03___ITERATOR_BOUNDED_ITER_H
+#define _LIBCPP___CXX03___ITERATOR_BOUNDED_ITER_H
#include <__cxx03/__assert>
#include <__cxx03/__compare/ordering.h>
@@ -280,4 +280,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ITERATOR_BOUNDED_ITER_H
+#endif // _LIBCPP___CXX03___ITERATOR_BOUNDED_ITER_H
diff --git a/libcxx/include/__cxx03/__iterator/common_iterator.h b/libcxx/include/__cxx03/__iterator/common_iterator.h
index 5d052c0d2300..6083a23e67a8 100644
--- a/libcxx/include/__cxx03/__iterator/common_iterator.h
+++ b/libcxx/include/__cxx03/__iterator/common_iterator.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_COMMON_ITERATOR_H
-#define _LIBCPP___ITERATOR_COMMON_ITERATOR_H
+#ifndef _LIBCPP___CXX03___ITERATOR_COMMON_ITERATOR_H
+#define _LIBCPP___CXX03___ITERATOR_COMMON_ITERATOR_H
#include <__cxx03/__assert>
#include <__cxx03/__concepts/assignable.h>
@@ -296,4 +296,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ITERATOR_COMMON_ITERATOR_H
+#endif // _LIBCPP___CXX03___ITERATOR_COMMON_ITERATOR_H
diff --git a/libcxx/include/__cxx03/__iterator/concepts.h b/libcxx/include/__cxx03/__iterator/concepts.h
index 4973ce8987ef..af7d0c9a0541 100644
--- a/libcxx/include/__cxx03/__iterator/concepts.h
+++ b/libcxx/include/__cxx03/__iterator/concepts.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_CONCEPTS_H
-#define _LIBCPP___ITERATOR_CONCEPTS_H
+#ifndef _LIBCPP___CXX03___ITERATOR_CONCEPTS_H
+#define _LIBCPP___CXX03___ITERATOR_CONCEPTS_H
#include <__cxx03/__concepts/arithmetic.h>
#include <__cxx03/__concepts/assignable.h>
@@ -254,4 +254,4 @@ using __has_random_access_iterator_category_or_concept
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_CONCEPTS_H
+#endif // _LIBCPP___CXX03___ITERATOR_CONCEPTS_H
diff --git a/libcxx/include/__cxx03/__iterator/counted_iterator.h b/libcxx/include/__cxx03/__iterator/counted_iterator.h
index 161ec54a1a3b..9d6004dc90b8 100644
--- a/libcxx/include/__cxx03/__iterator/counted_iterator.h
+++ b/libcxx/include/__cxx03/__iterator/counted_iterator.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_COUNTED_ITERATOR_H
-#define _LIBCPP___ITERATOR_COUNTED_ITERATOR_H
+#ifndef _LIBCPP___CXX03___ITERATOR_COUNTED_ITERATOR_H
+#define _LIBCPP___CXX03___ITERATOR_COUNTED_ITERATOR_H
#include <__cxx03/__assert>
#include <__cxx03/__concepts/assignable.h>
@@ -286,4 +286,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ITERATOR_COUNTED_ITERATOR_H
+#endif // _LIBCPP___CXX03___ITERATOR_COUNTED_ITERATOR_H
diff --git a/libcxx/include/__cxx03/__iterator/cpp17_iterator_concepts.h b/libcxx/include/__cxx03/__iterator/cpp17_iterator_concepts.h
index 938884e5f69a..aed3527aee08 100644
--- a/libcxx/include/__cxx03/__iterator/cpp17_iterator_concepts.h
+++ b/libcxx/include/__cxx03/__iterator/cpp17_iterator_concepts.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_CPP17_ITERATOR_CONCEPTS_H
-#define _LIBCPP___ITERATOR_CPP17_ITERATOR_CONCEPTS_H
+#ifndef _LIBCPP___CXX03___ITERATOR_CPP17_ITERATOR_CONCEPTS_H
+#define _LIBCPP___CXX03___ITERATOR_CPP17_ITERATOR_CONCEPTS_H
#include <__cxx03/__concepts/boolean_testable.h>
#include <__cxx03/__concepts/convertible_to.h>
@@ -187,4 +187,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ITERATOR_CPP17_ITERATOR_CONCEPTS_H
+#endif // _LIBCPP___CXX03___ITERATOR_CPP17_ITERATOR_CONCEPTS_H
diff --git a/libcxx/include/__cxx03/__iterator/data.h b/libcxx/include/__cxx03/__iterator/data.h
index d4f26608d9c4..58047e4b6c75 100644
--- a/libcxx/include/__cxx03/__iterator/data.h
+++ b/libcxx/include/__cxx03/__iterator/data.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_DATA_H
-#define _LIBCPP___ITERATOR_DATA_H
+#ifndef _LIBCPP___CXX03___ITERATOR_DATA_H
+#define _LIBCPP___CXX03___ITERATOR_DATA_H
#include <__cxx03/__config>
#include <__cxx03/cstddef>
@@ -46,4 +46,4 @@ _LIBCPP_HIDE_FROM_ABI constexpr const _Ep* data(initializer_list<_Ep> __il) noex
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_DATA_H
+#endif // _LIBCPP___CXX03___ITERATOR_DATA_H
diff --git a/libcxx/include/__cxx03/__iterator/default_sentinel.h b/libcxx/include/__cxx03/__iterator/default_sentinel.h
index fd05aeb59bce..7e1099a3d11c 100644
--- a/libcxx/include/__cxx03/__iterator/default_sentinel.h
+++ b/libcxx/include/__cxx03/__iterator/default_sentinel.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_DEFAULT_SENTINEL_H
-#define _LIBCPP___ITERATOR_DEFAULT_SENTINEL_H
+#ifndef _LIBCPP___CXX03___ITERATOR_DEFAULT_SENTINEL_H
+#define _LIBCPP___CXX03___ITERATOR_DEFAULT_SENTINEL_H
#include <__cxx03/__config>
@@ -27,4 +27,4 @@ inline constexpr default_sentinel_t default_sentinel{};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_DEFAULT_SENTINEL_H
+#endif // _LIBCPP___CXX03___ITERATOR_DEFAULT_SENTINEL_H
diff --git a/libcxx/include/__cxx03/__iterator/distance.h b/libcxx/include/__cxx03/__iterator/distance.h
index 20f2771efc43..91dcc3291379 100644
--- a/libcxx/include/__cxx03/__iterator/distance.h
+++ b/libcxx/include/__cxx03/__iterator/distance.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_DISTANCE_H
-#define _LIBCPP___ITERATOR_DISTANCE_H
+#ifndef _LIBCPP___CXX03___ITERATOR_DISTANCE_H
+#define _LIBCPP___CXX03___ITERATOR_DISTANCE_H
#include <__cxx03/__config>
#include <__cxx03/__iterator/concepts.h>
@@ -96,4 +96,4 @@ inline constexpr auto distance = __distance::__fn{};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_DISTANCE_H
+#endif // _LIBCPP___CXX03___ITERATOR_DISTANCE_H
diff --git a/libcxx/include/__cxx03/__iterator/empty.h b/libcxx/include/__cxx03/__iterator/empty.h
index 0bdb951ee12d..20f505e789c1 100644
--- a/libcxx/include/__cxx03/__iterator/empty.h
+++ b/libcxx/include/__cxx03/__iterator/empty.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_EMPTY_H
-#define _LIBCPP___ITERATOR_EMPTY_H
+#ifndef _LIBCPP___CXX03___ITERATOR_EMPTY_H
+#define _LIBCPP___CXX03___ITERATOR_EMPTY_H
#include <__cxx03/__config>
#include <__cxx03/cstddef>
@@ -42,4 +42,4 @@ template <class _Ep>
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_EMPTY_H
+#endif // _LIBCPP___CXX03___ITERATOR_EMPTY_H
diff --git a/libcxx/include/__cxx03/__iterator/erase_if_container.h b/libcxx/include/__cxx03/__iterator/erase_if_container.h
index 11edc9c1312c..c83eccd133d1 100644
--- a/libcxx/include/__cxx03/__iterator/erase_if_container.h
+++ b/libcxx/include/__cxx03/__iterator/erase_if_container.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_ERASE_IF_CONTAINER_H
-#define _LIBCPP___ITERATOR_ERASE_IF_CONTAINER_H
+#ifndef _LIBCPP___CXX03___ITERATOR_ERASE_IF_CONTAINER_H
+#define _LIBCPP___CXX03___ITERATOR_ERASE_IF_CONTAINER_H
#include <__cxx03/__config>
@@ -40,4 +40,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ITERATOR_ERASE_IF_CONTAINER_H
+#endif // _LIBCPP___CXX03___ITERATOR_ERASE_IF_CONTAINER_H
diff --git a/libcxx/include/__cxx03/__iterator/front_insert_iterator.h b/libcxx/include/__cxx03/__iterator/front_insert_iterator.h
index f28b82840f2d..9c2b987806f5 100644
--- a/libcxx/include/__cxx03/__iterator/front_insert_iterator.h
+++ b/libcxx/include/__cxx03/__iterator/front_insert_iterator.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_FRONT_INSERT_ITERATOR_H
-#define _LIBCPP___ITERATOR_FRONT_INSERT_ITERATOR_H
+#ifndef _LIBCPP___CXX03___ITERATOR_FRONT_INSERT_ITERATOR_H
+#define _LIBCPP___CXX03___ITERATOR_FRONT_INSERT_ITERATOR_H
#include <__cxx03/__config>
#include <__cxx03/__iterator/iterator.h>
@@ -80,4 +80,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ITERATOR_FRONT_INSERT_ITERATOR_H
+#endif // _LIBCPP___CXX03___ITERATOR_FRONT_INSERT_ITERATOR_H
diff --git a/libcxx/include/__cxx03/__iterator/incrementable_traits.h b/libcxx/include/__cxx03/__iterator/incrementable_traits.h
index 8eb730bfe8ad..e861f80ecb4d 100644
--- a/libcxx/include/__cxx03/__iterator/incrementable_traits.h
+++ b/libcxx/include/__cxx03/__iterator/incrementable_traits.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_INCREMENTABLE_TRAITS_H
-#define _LIBCPP___ITERATOR_INCREMENTABLE_TRAITS_H
+#ifndef _LIBCPP___CXX03___ITERATOR_INCREMENTABLE_TRAITS_H
+#define _LIBCPP___CXX03___ITERATOR_INCREMENTABLE_TRAITS_H
#include <__cxx03/__concepts/arithmetic.h>
#include <__cxx03/__config>
@@ -76,4 +76,4 @@ using iter_difference_t =
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_INCREMENTABLE_TRAITS_H
+#endif // _LIBCPP___CXX03___ITERATOR_INCREMENTABLE_TRAITS_H
diff --git a/libcxx/include/__cxx03/__iterator/indirectly_comparable.h b/libcxx/include/__cxx03/__iterator/indirectly_comparable.h
index caef64e6f083..56de2de09ecc 100644
--- a/libcxx/include/__cxx03/__iterator/indirectly_comparable.h
+++ b/libcxx/include/__cxx03/__iterator/indirectly_comparable.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_INDIRECTLY_COMPARABLE_H
-#define _LIBCPP___ITERATOR_INDIRECTLY_COMPARABLE_H
+#ifndef _LIBCPP___CXX03___ITERATOR_INDIRECTLY_COMPARABLE_H
+#define _LIBCPP___CXX03___ITERATOR_INDIRECTLY_COMPARABLE_H
#include <__cxx03/__config>
#include <__cxx03/__functional/identity.h>
@@ -30,4 +30,4 @@ concept indirectly_comparable = indirect_binary_predicate<_Rp, projected<_I1, _P
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_INDIRECTLY_COMPARABLE_H
+#endif // _LIBCPP___CXX03___ITERATOR_INDIRECTLY_COMPARABLE_H
diff --git a/libcxx/include/__cxx03/__iterator/insert_iterator.h b/libcxx/include/__cxx03/__iterator/insert_iterator.h
index 1f0320acda85..ef063ab73fce 100644
--- a/libcxx/include/__cxx03/__iterator/insert_iterator.h
+++ b/libcxx/include/__cxx03/__iterator/insert_iterator.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_INSERT_ITERATOR_H
-#define _LIBCPP___ITERATOR_INSERT_ITERATOR_H
+#ifndef _LIBCPP___CXX03___ITERATOR_INSERT_ITERATOR_H
+#define _LIBCPP___CXX03___ITERATOR_INSERT_ITERATOR_H
#include <__cxx03/__config>
#include <__cxx03/__iterator/iterator.h>
@@ -92,4 +92,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ITERATOR_INSERT_ITERATOR_H
+#endif // _LIBCPP___CXX03___ITERATOR_INSERT_ITERATOR_H
diff --git a/libcxx/include/__cxx03/__iterator/istream_iterator.h b/libcxx/include/__cxx03/__iterator/istream_iterator.h
index af0f477358a7..71ca4ebc4a38 100644
--- a/libcxx/include/__cxx03/__iterator/istream_iterator.h
+++ b/libcxx/include/__cxx03/__iterator/istream_iterator.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_ISTREAM_ITERATOR_H
-#define _LIBCPP___ITERATOR_ISTREAM_ITERATOR_H
+#ifndef _LIBCPP___CXX03___ITERATOR_ISTREAM_ITERATOR_H
+#define _LIBCPP___CXX03___ITERATOR_ISTREAM_ITERATOR_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/istream.h>
@@ -98,4 +98,4 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const istream_iterator<_Tp, _CharT,
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_ISTREAM_ITERATOR_H
+#endif // _LIBCPP___CXX03___ITERATOR_ISTREAM_ITERATOR_H
diff --git a/libcxx/include/__cxx03/__iterator/istreambuf_iterator.h b/libcxx/include/__cxx03/__iterator/istreambuf_iterator.h
index 73da59517284..768747d490cc 100644
--- a/libcxx/include/__cxx03/__iterator/istreambuf_iterator.h
+++ b/libcxx/include/__cxx03/__iterator/istreambuf_iterator.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_ISTREAMBUF_ITERATOR_H
-#define _LIBCPP___ITERATOR_ISTREAMBUF_ITERATOR_H
+#ifndef _LIBCPP___CXX03___ITERATOR_ISTREAMBUF_ITERATOR_H
+#define _LIBCPP___CXX03___ITERATOR_ISTREAMBUF_ITERATOR_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/istream.h>
@@ -106,4 +106,4 @@ operator!=(const istreambuf_iterator<_CharT, _Traits>& __a, const istreambuf_ite
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_ISTREAMBUF_ITERATOR_H
+#endif // _LIBCPP___CXX03___ITERATOR_ISTREAMBUF_ITERATOR_H
diff --git a/libcxx/include/__cxx03/__iterator/iter_move.h b/libcxx/include/__cxx03/__iterator/iter_move.h
index f45baaaf63c1..ad33ea065f00 100644
--- a/libcxx/include/__cxx03/__iterator/iter_move.h
+++ b/libcxx/include/__cxx03/__iterator/iter_move.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_ITER_MOVE_H
-#define _LIBCPP___ITERATOR_ITER_MOVE_H
+#ifndef _LIBCPP___CXX03___ITERATOR_ITER_MOVE_H
+#define _LIBCPP___CXX03___ITERATOR_ITER_MOVE_H
#include <__cxx03/__concepts/class_or_enum.h>
#include <__cxx03/__config>
@@ -100,4 +100,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ITERATOR_ITER_MOVE_H
+#endif // _LIBCPP___CXX03___ITERATOR_ITER_MOVE_H
diff --git a/libcxx/include/__cxx03/__iterator/iter_swap.h b/libcxx/include/__cxx03/__iterator/iter_swap.h
index c3a7e164ff6f..b61092dee724 100644
--- a/libcxx/include/__cxx03/__iterator/iter_swap.h
+++ b/libcxx/include/__cxx03/__iterator/iter_swap.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_ITER_SWAP_H
-#define _LIBCPP___ITERATOR_ITER_SWAP_H
+#ifndef _LIBCPP___CXX03___ITERATOR_ITER_SWAP_H
+#define _LIBCPP___CXX03___ITERATOR_ITER_SWAP_H
#include <__cxx03/__concepts/class_or_enum.h>
#include <__cxx03/__concepts/swappable.h>
@@ -105,4 +105,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ITERATOR_ITER_SWAP_H
+#endif // _LIBCPP___CXX03___ITERATOR_ITER_SWAP_H
diff --git a/libcxx/include/__cxx03/__iterator/iterator.h b/libcxx/include/__cxx03/__iterator/iterator.h
index 5d9648ce6a06..60114ffc5b4d 100644
--- a/libcxx/include/__cxx03/__iterator/iterator.h
+++ b/libcxx/include/__cxx03/__iterator/iterator.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_ITERATOR_H
-#define _LIBCPP___ITERATOR_ITERATOR_H
+#ifndef _LIBCPP___CXX03___ITERATOR_ITERATOR_H
+#define _LIBCPP___CXX03___ITERATOR_ITERATOR_H
#include <__cxx03/__config>
#include <__cxx03/cstddef>
@@ -30,4 +30,4 @@ struct _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 iterator {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_ITERATOR_H
+#endif // _LIBCPP___CXX03___ITERATOR_ITERATOR_H
diff --git a/libcxx/include/__cxx03/__iterator/iterator_traits.h b/libcxx/include/__cxx03/__iterator/iterator_traits.h
index 7efd0c81c930..66bab3ddd7e5 100644
--- a/libcxx/include/__cxx03/__iterator/iterator_traits.h
+++ b/libcxx/include/__cxx03/__iterator/iterator_traits.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_ITERATOR_TRAITS_H
-#define _LIBCPP___ITERATOR_ITERATOR_TRAITS_H
+#ifndef _LIBCPP___CXX03___ITERATOR_ITERATOR_TRAITS_H
+#define _LIBCPP___CXX03___ITERATOR_ITERATOR_TRAITS_H
#include <__cxx03/__concepts/arithmetic.h>
#include <__cxx03/__concepts/constructible.h>
@@ -525,4 +525,4 @@ using iter_value_t =
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_ITERATOR_TRAITS_H
+#endif // _LIBCPP___CXX03___ITERATOR_ITERATOR_TRAITS_H
diff --git a/libcxx/include/__cxx03/__iterator/iterator_with_data.h b/libcxx/include/__cxx03/__iterator/iterator_with_data.h
index fb7aafc38a30..e6aa66922237 100644
--- a/libcxx/include/__cxx03/__iterator/iterator_with_data.h
+++ b/libcxx/include/__cxx03/__iterator/iterator_with_data.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_ITERATOR_WITH_DATA_H
-#define _LIBCPP___ITERATOR_ITERATOR_WITH_DATA_H
+#ifndef _LIBCPP___CXX03___ITERATOR_ITERATOR_WITH_DATA_H
+#define _LIBCPP___CXX03___ITERATOR_ITERATOR_WITH_DATA_H
#include <__cxx03/__compare/compare_three_way_result.h>
#include <__cxx03/__compare/three_way_comparable.h>
@@ -102,4 +102,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ITERATOR_ITERATOR_WITH_DATA_H
+#endif // _LIBCPP___CXX03___ITERATOR_ITERATOR_WITH_DATA_H
diff --git a/libcxx/include/__cxx03/__iterator/mergeable.h b/libcxx/include/__cxx03/__iterator/mergeable.h
index a20134defa87..5e54fd28a33f 100644
--- a/libcxx/include/__cxx03/__iterator/mergeable.h
+++ b/libcxx/include/__cxx03/__iterator/mergeable.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_MERGEABLE_H
-#define _LIBCPP___ITERATOR_MERGEABLE_H
+#ifndef _LIBCPP___CXX03___ITERATOR_MERGEABLE_H
+#define _LIBCPP___CXX03___ITERATOR_MERGEABLE_H
#include <__cxx03/__config>
#include <__cxx03/__functional/identity.h>
@@ -39,4 +39,4 @@ concept mergeable =
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_MERGEABLE_H
+#endif // _LIBCPP___CXX03___ITERATOR_MERGEABLE_H
diff --git a/libcxx/include/__cxx03/__iterator/move_iterator.h b/libcxx/include/__cxx03/__iterator/move_iterator.h
index 701f51a272da..0fbcfdd0c1d9 100644
--- a/libcxx/include/__cxx03/__iterator/move_iterator.h
+++ b/libcxx/include/__cxx03/__iterator/move_iterator.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_MOVE_ITERATOR_H
-#define _LIBCPP___ITERATOR_MOVE_ITERATOR_H
+#ifndef _LIBCPP___CXX03___ITERATOR_MOVE_ITERATOR_H
+#define _LIBCPP___CXX03___ITERATOR_MOVE_ITERATOR_H
#include <__cxx03/__compare/compare_three_way_result.h>
#include <__cxx03/__compare/three_way_comparable.h>
@@ -344,4 +344,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ITERATOR_MOVE_ITERATOR_H
+#endif // _LIBCPP___CXX03___ITERATOR_MOVE_ITERATOR_H
diff --git a/libcxx/include/__cxx03/__iterator/move_sentinel.h b/libcxx/include/__cxx03/__iterator/move_sentinel.h
index 8518bcf39ea9..cb4cf95a8c6e 100644
--- a/libcxx/include/__cxx03/__iterator/move_sentinel.h
+++ b/libcxx/include/__cxx03/__iterator/move_sentinel.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_MOVE_SENTINEL_H
-#define _LIBCPP___ITERATOR_MOVE_SENTINEL_H
+#ifndef _LIBCPP___CXX03___ITERATOR_MOVE_SENTINEL_H
+#define _LIBCPP___CXX03___ITERATOR_MOVE_SENTINEL_H
#include <__cxx03/__concepts/assignable.h>
#include <__cxx03/__concepts/convertible_to.h>
@@ -58,4 +58,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___ITERATOR_MOVE_SENTINEL_H
+#endif // _LIBCPP___CXX03___ITERATOR_MOVE_SENTINEL_H
diff --git a/libcxx/include/__cxx03/__iterator/next.h b/libcxx/include/__cxx03/__iterator/next.h
index 554760347606..459702fd4374 100644
--- a/libcxx/include/__cxx03/__iterator/next.h
+++ b/libcxx/include/__cxx03/__iterator/next.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_NEXT_H
-#define _LIBCPP___ITERATOR_NEXT_H
+#ifndef _LIBCPP___CXX03___ITERATOR_NEXT_H
+#define _LIBCPP___CXX03___ITERATOR_NEXT_H
#include <__cxx03/__assert>
#include <__cxx03/__config>
@@ -80,4 +80,4 @@ inline constexpr auto next = __next::__fn{};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_NEXT_H
+#endif // _LIBCPP___CXX03___ITERATOR_NEXT_H
diff --git a/libcxx/include/__cxx03/__iterator/ostream_iterator.h b/libcxx/include/__cxx03/__iterator/ostream_iterator.h
index 40f737831f40..100cc54045bb 100644
--- a/libcxx/include/__cxx03/__iterator/ostream_iterator.h
+++ b/libcxx/include/__cxx03/__iterator/ostream_iterator.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_OSTREAM_ITERATOR_H
-#define _LIBCPP___ITERATOR_OSTREAM_ITERATOR_H
+#ifndef _LIBCPP___CXX03___ITERATOR_OSTREAM_ITERATOR_H
+#define _LIBCPP___CXX03___ITERATOR_OSTREAM_ITERATOR_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/ostream.h>
@@ -72,4 +72,4 @@ public:
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_OSTREAM_ITERATOR_H
+#endif // _LIBCPP___CXX03___ITERATOR_OSTREAM_ITERATOR_H
diff --git a/libcxx/include/__cxx03/__iterator/ostreambuf_iterator.h b/libcxx/include/__cxx03/__iterator/ostreambuf_iterator.h
index 363279ce684e..b5472b33b771 100644
--- a/libcxx/include/__cxx03/__iterator/ostreambuf_iterator.h
+++ b/libcxx/include/__cxx03/__iterator/ostreambuf_iterator.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_OSTREAMBUF_ITERATOR_H
-#define _LIBCPP___ITERATOR_OSTREAMBUF_ITERATOR_H
+#ifndef _LIBCPP___CXX03___ITERATOR_OSTREAMBUF_ITERATOR_H
+#define _LIBCPP___CXX03___ITERATOR_OSTREAMBUF_ITERATOR_H
#include <__cxx03/__config>
#include <__cxx03/__iterator/iterator.h>
@@ -69,4 +69,4 @@ public:
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_OSTREAMBUF_ITERATOR_H
+#endif // _LIBCPP___CXX03___ITERATOR_OSTREAMBUF_ITERATOR_H
diff --git a/libcxx/include/__cxx03/__iterator/permutable.h b/libcxx/include/__cxx03/__iterator/permutable.h
index c2641de963de..368c4089f131 100644
--- a/libcxx/include/__cxx03/__iterator/permutable.h
+++ b/libcxx/include/__cxx03/__iterator/permutable.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_PERMUTABLE_H
-#define _LIBCPP___ITERATOR_PERMUTABLE_H
+#ifndef _LIBCPP___CXX03___ITERATOR_PERMUTABLE_H
+#define _LIBCPP___CXX03___ITERATOR_PERMUTABLE_H
#include <__cxx03/__config>
#include <__cxx03/__iterator/concepts.h>
@@ -31,4 +31,4 @@ concept permutable =
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_PERMUTABLE_H
+#endif // _LIBCPP___CXX03___ITERATOR_PERMUTABLE_H
diff --git a/libcxx/include/__cxx03/__iterator/prev.h b/libcxx/include/__cxx03/__iterator/prev.h
index 7256f2d0a0fa..c272e52a9349 100644
--- a/libcxx/include/__cxx03/__iterator/prev.h
+++ b/libcxx/include/__cxx03/__iterator/prev.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_PREV_H
-#define _LIBCPP___ITERATOR_PREV_H
+#ifndef _LIBCPP___CXX03___ITERATOR_PREV_H
+#define _LIBCPP___CXX03___ITERATOR_PREV_H
#include <__cxx03/__assert>
#include <__cxx03/__config>
@@ -73,4 +73,4 @@ inline constexpr auto prev = __prev::__fn{};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_PREV_H
+#endif // _LIBCPP___CXX03___ITERATOR_PREV_H
diff --git a/libcxx/include/__cxx03/__iterator/projected.h b/libcxx/include/__cxx03/__iterator/projected.h
index 582d19212062..b80b7d56da89 100644
--- a/libcxx/include/__cxx03/__iterator/projected.h
+++ b/libcxx/include/__cxx03/__iterator/projected.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_PROJECTED_H
-#define _LIBCPP___ITERATOR_PROJECTED_H
+#ifndef _LIBCPP___CXX03___ITERATOR_PROJECTED_H
+#define _LIBCPP___CXX03___ITERATOR_PROJECTED_H
#include <__cxx03/__config>
#include <__cxx03/__iterator/concepts.h>
@@ -50,4 +50,4 @@ using projected = typename __projected_impl<_It, _Proj>::__type;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_PROJECTED_H
+#endif // _LIBCPP___CXX03___ITERATOR_PROJECTED_H
diff --git a/libcxx/include/__cxx03/__iterator/ranges_iterator_traits.h b/libcxx/include/__cxx03/__iterator/ranges_iterator_traits.h
index 0dddc1657539..b2333ace6d63 100644
--- a/libcxx/include/__cxx03/__iterator/ranges_iterator_traits.h
+++ b/libcxx/include/__cxx03/__iterator/ranges_iterator_traits.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_RANGES_ITERATOR_TRAITS_H
-#define _LIBCPP___ITERATOR_RANGES_ITERATOR_TRAITS_H
+#ifndef _LIBCPP___CXX03___ITERATOR_RANGES_ITERATOR_TRAITS_H
+#define _LIBCPP___CXX03___ITERATOR_RANGES_ITERATOR_TRAITS_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/pair.h>
@@ -37,4 +37,4 @@ using __range_to_alloc_type =
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_RANGES_ITERATOR_TRAITS_H
+#endif // _LIBCPP___CXX03___ITERATOR_RANGES_ITERATOR_TRAITS_H
diff --git a/libcxx/include/__cxx03/__iterator/readable_traits.h b/libcxx/include/__cxx03/__iterator/readable_traits.h
index 07ef5e30ae46..c7b21649d8a1 100644
--- a/libcxx/include/__cxx03/__iterator/readable_traits.h
+++ b/libcxx/include/__cxx03/__iterator/readable_traits.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_READABLE_TRAITS_H
-#define _LIBCPP___ITERATOR_READABLE_TRAITS_H
+#ifndef _LIBCPP___CXX03___ITERATOR_READABLE_TRAITS_H
+#define _LIBCPP___CXX03___ITERATOR_READABLE_TRAITS_H
#include <__cxx03/__concepts/same_as.h>
#include <__cxx03/__config>
@@ -78,4 +78,4 @@ struct indirectly_readable_traits<_Tp> : __cond_value_type<typename _Tp::value_t
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_READABLE_TRAITS_H
+#endif // _LIBCPP___CXX03___ITERATOR_READABLE_TRAITS_H
diff --git a/libcxx/include/__cxx03/__iterator/reverse_access.h b/libcxx/include/__cxx03/__iterator/reverse_access.h
index f307fd8b01b5..bea5b1412c1f 100644
--- a/libcxx/include/__cxx03/__iterator/reverse_access.h
+++ b/libcxx/include/__cxx03/__iterator/reverse_access.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_REVERSE_ACCESS_H
-#define _LIBCPP___ITERATOR_REVERSE_ACCESS_H
+#ifndef _LIBCPP___CXX03___ITERATOR_REVERSE_ACCESS_H
+#define _LIBCPP___CXX03___ITERATOR_REVERSE_ACCESS_H
#include <__cxx03/__config>
#include <__cxx03/__iterator/reverse_iterator.h>
@@ -77,4 +77,4 @@ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17 auto crend(const _Cp& __c) -
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_REVERSE_ACCESS_H
+#endif // _LIBCPP___CXX03___ITERATOR_REVERSE_ACCESS_H
diff --git a/libcxx/include/__cxx03/__iterator/reverse_iterator.h b/libcxx/include/__cxx03/__iterator/reverse_iterator.h
index 000da25a0f33..b95ca27ff5fb 100644
--- a/libcxx/include/__cxx03/__iterator/reverse_iterator.h
+++ b/libcxx/include/__cxx03/__iterator/reverse_iterator.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_REVERSE_ITERATOR_H
-#define _LIBCPP___ITERATOR_REVERSE_ITERATOR_H
+#ifndef _LIBCPP___CXX03___ITERATOR_REVERSE_ITERATOR_H
+#define _LIBCPP___CXX03___ITERATOR_REVERSE_ITERATOR_H
#include <__cxx03/__algorithm/unwrap_iter.h>
#include <__cxx03/__compare/compare_three_way_result.h>
@@ -343,4 +343,4 @@ struct __unwrap_iter_impl<reverse_iterator<reverse_iterator<_Iter> >, __b> {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_REVERSE_ITERATOR_H
+#endif // _LIBCPP___CXX03___ITERATOR_REVERSE_ITERATOR_H
diff --git a/libcxx/include/__cxx03/__iterator/segmented_iterator.h b/libcxx/include/__cxx03/__iterator/segmented_iterator.h
index 93cd8e195eb0..7e353d620dc8 100644
--- a/libcxx/include/__cxx03/__iterator/segmented_iterator.h
+++ b/libcxx/include/__cxx03/__iterator/segmented_iterator.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___SEGMENTED_ITERATOR_H
-#define _LIBCPP___SEGMENTED_ITERATOR_H
+#ifndef _LIBCPP___CXX03___SEGMENTED_ITERATOR_H
+#define _LIBCPP___CXX03___SEGMENTED_ITERATOR_H
// Segmented iterators are iterators over (not necessarily contiguous) sub-ranges.
//
@@ -76,4 +76,4 @@ using __is_segmented_iterator = __has_specialization<__segmented_iterator_traits
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___SEGMENTED_ITERATOR_H
+#endif // _LIBCPP___CXX03___SEGMENTED_ITERATOR_H
diff --git a/libcxx/include/__cxx03/__iterator/size.h b/libcxx/include/__cxx03/__iterator/size.h
index 3e8c2537f723..b0374a6c59e1 100644
--- a/libcxx/include/__cxx03/__iterator/size.h
+++ b/libcxx/include/__cxx03/__iterator/size.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_SIZE_H
-#define _LIBCPP___ITERATOR_SIZE_H
+#ifndef _LIBCPP___CXX03___ITERATOR_SIZE_H
+#define _LIBCPP___CXX03___ITERATOR_SIZE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/common_type.h>
@@ -56,4 +56,4 @@ _LIBCPP_DIAGNOSTIC_POP
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_SIZE_H
+#endif // _LIBCPP___CXX03___ITERATOR_SIZE_H
diff --git a/libcxx/include/__cxx03/__iterator/sortable.h b/libcxx/include/__cxx03/__iterator/sortable.h
index 5c32629ff55d..ae82f0f61543 100644
--- a/libcxx/include/__cxx03/__iterator/sortable.h
+++ b/libcxx/include/__cxx03/__iterator/sortable.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_SORTABLE_H
-#define _LIBCPP___ITERATOR_SORTABLE_H
+#ifndef _LIBCPP___CXX03___ITERATOR_SORTABLE_H
+#define _LIBCPP___CXX03___ITERATOR_SORTABLE_H
#include <__cxx03/__config>
#include <__cxx03/__functional/identity.h>
@@ -32,4 +32,4 @@ concept sortable = permutable<_Iter> && indirect_strict_weak_order<_Comp, projec
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_SORTABLE_H
+#endif // _LIBCPP___CXX03___ITERATOR_SORTABLE_H
diff --git a/libcxx/include/__cxx03/__iterator/unreachable_sentinel.h b/libcxx/include/__cxx03/__iterator/unreachable_sentinel.h
index 29d76409728f..6184692b4074 100644
--- a/libcxx/include/__cxx03/__iterator/unreachable_sentinel.h
+++ b/libcxx/include/__cxx03/__iterator/unreachable_sentinel.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_UNREACHABLE_SENTINEL_H
-#define _LIBCPP___ITERATOR_UNREACHABLE_SENTINEL_H
+#ifndef _LIBCPP___CXX03___ITERATOR_UNREACHABLE_SENTINEL_H
+#define _LIBCPP___CXX03___ITERATOR_UNREACHABLE_SENTINEL_H
#include <__cxx03/__config>
#include <__cxx03/__iterator/concepts.h>
@@ -34,4 +34,4 @@ inline constexpr unreachable_sentinel_t unreachable_sentinel{};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_UNREACHABLE_SENTINEL_H
+#endif // _LIBCPP___CXX03___ITERATOR_UNREACHABLE_SENTINEL_H
diff --git a/libcxx/include/__cxx03/__iterator/wrap_iter.h b/libcxx/include/__cxx03/__iterator/wrap_iter.h
index 5ef909c19f4d..8e7df1349097 100644
--- a/libcxx/include/__cxx03/__iterator/wrap_iter.h
+++ b/libcxx/include/__cxx03/__iterator/wrap_iter.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ITERATOR_WRAP_ITER_H
-#define _LIBCPP___ITERATOR_WRAP_ITER_H
+#ifndef _LIBCPP___CXX03___ITERATOR_WRAP_ITER_H
+#define _LIBCPP___CXX03___ITERATOR_WRAP_ITER_H
#include <__cxx03/__compare/ordering.h>
#include <__cxx03/__compare/three_way_comparable.h>
@@ -241,4 +241,4 @@ struct _LIBCPP_TEMPLATE_VIS pointer_traits<__wrap_iter<_It> > {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ITERATOR_WRAP_ITER_H
+#endif // _LIBCPP___CXX03___ITERATOR_WRAP_ITER_H
diff --git a/libcxx/include/__cxx03/__locale b/libcxx/include/__cxx03/__locale
index 7324aa2390ce..383b56a1942e 100644
--- a/libcxx/include/__cxx03/__locale
+++ b/libcxx/include/__cxx03/__locale
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___LOCALE
-#define _LIBCPP___LOCALE
+#ifndef _LIBCPP___CXX03___LOCALE
+#define _LIBCPP___CXX03___LOCALE
#include <__cxx03/__config>
#include <__cxx03/__locale_dir/locale_base_api.h>
@@ -1510,4 +1510,4 @@ private:
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___LOCALE
+#endif // _LIBCPP___CXX03___LOCALE
diff --git a/libcxx/include/__cxx03/__locale_dir/locale_base_api.h b/libcxx/include/__cxx03/__locale_dir/locale_base_api.h
index e62ebb17765d..a20f0952f52c 100644
--- a/libcxx/include/__cxx03/__locale_dir/locale_base_api.h
+++ b/libcxx/include/__cxx03/__locale_dir/locale_base_api.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___LOCALE_DIR_LOCALE_BASE_API_H
-#define _LIBCPP___LOCALE_DIR_LOCALE_BASE_API_H
+#ifndef _LIBCPP___CXX03___LOCALE_DIR_LOCALE_BASE_API_H
+#define _LIBCPP___CXX03___LOCALE_DIR_LOCALE_BASE_API_H
#if defined(_LIBCPP_MSVCRT_LIKE)
# include <__cxx03/__locale_dir/locale_base_api/win32.h>
@@ -95,4 +95,4 @@ except that locale_t is used instead of the current global locale.
The variadic functions may be implemented as templates with a parameter pack instead of variadic functions.
*/
-#endif // _LIBCPP___LOCALE_DIR_LOCALE_BASE_API_H
+#endif // _LIBCPP___CXX03___LOCALE_DIR_LOCALE_BASE_API_H
diff --git a/libcxx/include/__cxx03/__locale_dir/locale_base_api/android.h b/libcxx/include/__cxx03/__locale_dir/locale_base_api/android.h
index b943c82c6229..265dbf892a54 100644
--- a/libcxx/include/__cxx03/__locale_dir/locale_base_api/android.h
+++ b/libcxx/include/__cxx03/__locale_dir/locale_base_api/android.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___LOCALE_LOCALE_BASE_API_ANDROID_H
-#define _LIBCPP___LOCALE_LOCALE_BASE_API_ANDROID_H
+#ifndef _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_ANDROID_H
+#define _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_ANDROID_H
#include <__cxx03/stdlib.h>
@@ -47,4 +47,4 @@ inline _LIBCPP_HIDE_FROM_ABI double strtod_l(const char* __nptr, char** __endptr
# endif // __NDK_MAJOR__ <= 16
#endif // __has_include(<android/ndk-version.h>)
-#endif // _LIBCPP___LOCALE_LOCALE_BASE_API_ANDROID_H
+#endif // _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_ANDROID_H
diff --git a/libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_defaults.h b/libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_defaults.h
index 1f9607209842..35bf30c07fde 100644
--- a/libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_defaults.h
+++ b/libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_defaults.h
@@ -11,8 +11,8 @@
// we will define the mapping from an internal macro to the real BSD symbol.
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___LOCALE_LOCALE_BASE_API_BSD_LOCALE_DEFAULTS_H
-#define _LIBCPP___LOCALE_LOCALE_BASE_API_BSD_LOCALE_DEFAULTS_H
+#ifndef _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_BSD_LOCALE_DEFAULTS_H
+#define _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_BSD_LOCALE_DEFAULTS_H
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
@@ -33,4 +33,4 @@
#define __libcpp_asprintf_l(...) asprintf_l(__VA_ARGS__)
#define __libcpp_sscanf_l(...) sscanf_l(__VA_ARGS__)
-#endif // _LIBCPP___LOCALE_LOCALE_BASE_API_BSD_LOCALE_DEFAULTS_H
+#endif // _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_BSD_LOCALE_DEFAULTS_H
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 129cacb317ee..a73b724df6c1 100644
--- a/libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
+++ b/libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
@@ -10,13 +10,13 @@
// of those functions for non-BSD platforms.
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___LOCALE_LOCALE_BASE_API_BSD_LOCALE_FALLBACKS_H
-#define _LIBCPP___LOCALE_LOCALE_BASE_API_BSD_LOCALE_FALLBACKS_H
+#ifndef _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_BSD_LOCALE_FALLBACKS_H
+#define _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_BSD_LOCALE_FALLBACKS_H
#include <__cxx03/__locale_dir/locale_base_api/locale_guard.h>
#include <__cxx03/cstdio>
-#include <__cxx03/stdarg.h>
#include <__cxx03/stdlib.h>
+#include <stdarg.h>
#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
# include <__cxx03/cwchar>
@@ -123,4 +123,4 @@ inline _LIBCPP_ATTRIBUTE_FORMAT(__scanf__, 3, 4) int __libcpp_sscanf_l(
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___LOCALE_LOCALE_BASE_API_BSD_LOCALE_FALLBACKS_H
+#endif // _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_BSD_LOCALE_FALLBACKS_H
diff --git a/libcxx/include/__cxx03/__locale_dir/locale_base_api/fuchsia.h b/libcxx/include/__cxx03/__locale_dir/locale_base_api/fuchsia.h
index 74d017d07435..6ee6a3a1c875 100644
--- a/libcxx/include/__cxx03/__locale_dir/locale_base_api/fuchsia.h
+++ b/libcxx/include/__cxx03/__locale_dir/locale_base_api/fuchsia.h
@@ -7,12 +7,12 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___LOCALE_LOCALE_BASE_API_FUCHSIA_H
-#define _LIBCPP___LOCALE_LOCALE_BASE_API_FUCHSIA_H
+#ifndef _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_FUCHSIA_H
+#define _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_FUCHSIA_H
#include <__cxx03/__support/xlocale/__posix_l_fallback.h>
#include <__cxx03/__support/xlocale/__strtonum_fallback.h>
#include <__cxx03/cstdlib>
#include <__cxx03/cwchar>
-#endif // _LIBCPP___LOCALE_LOCALE_BASE_API_FUCHSIA_H
+#endif // _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_FUCHSIA_H
diff --git a/libcxx/include/__cxx03/__locale_dir/locale_base_api/ibm.h b/libcxx/include/__cxx03/__locale_dir/locale_base_api/ibm.h
index ff4b2f8b272c..0fab9d24d84b 100644
--- a/libcxx/include/__cxx03/__locale_dir/locale_base_api/ibm.h
+++ b/libcxx/include/__cxx03/__locale_dir/locale_base_api/ibm.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___LOCALE_LOCALE_BASE_API_IBM_H
-#define _LIBCPP___LOCALE_LOCALE_BASE_API_IBM_H
+#ifndef _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_IBM_H
+#define _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_IBM_H
#if defined(__MVS__)
# include <__cxx03/__support/ibm/locale_mgmt_zos.h>
@@ -105,4 +105,4 @@ _LIBCPP_ATTRIBUTE_FORMAT(__printf__, 2, 0) int vasprintf(char** strp, const char
return str_size;
}
-#endif // _LIBCPP___LOCALE_LOCALE_BASE_API_IBM_H
+#endif // _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_IBM_H
diff --git a/libcxx/include/__cxx03/__locale_dir/locale_base_api/locale_guard.h b/libcxx/include/__cxx03/__locale_dir/locale_base_api/locale_guard.h
index 17eade28f35f..e3583634e432 100644
--- a/libcxx/include/__cxx03/__locale_dir/locale_base_api/locale_guard.h
+++ b/libcxx/include/__cxx03/__locale_dir/locale_base_api/locale_guard.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___LOCALE_LOCALE_BASE_API_LOCALE_GUARD_H
-#define _LIBCPP___LOCALE_LOCALE_BASE_API_LOCALE_GUARD_H
+#ifndef _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_LOCALE_GUARD_H
+#define _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_LOCALE_GUARD_H
#include <__cxx03/__config>
#include <__cxx03/__locale> // for locale_t
@@ -75,4 +75,4 @@ struct __libcpp_locale_guard {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___LOCALE_LOCALE_BASE_API_LOCALE_GUARD_H
+#endif // _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_LOCALE_GUARD_H
diff --git a/libcxx/include/__cxx03/__locale_dir/locale_base_api/musl.h b/libcxx/include/__cxx03/__locale_dir/locale_base_api/musl.h
index f67511f4a0bc..e2d23d49c9e4 100644
--- a/libcxx/include/__cxx03/__locale_dir/locale_base_api/musl.h
+++ b/libcxx/include/__cxx03/__locale_dir/locale_base_api/musl.h
@@ -14,8 +14,8 @@
// in Musl.
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___LOCALE_LOCALE_BASE_API_MUSL_H
-#define _LIBCPP___LOCALE_LOCALE_BASE_API_MUSL_H
+#ifndef _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_MUSL_H
+#define _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_MUSL_H
#include <__cxx03/cstdlib>
#include <__cxx03/cwchar>
@@ -28,4 +28,4 @@ inline _LIBCPP_HIDE_FROM_ABI unsigned long long strtoull_l(const char* __nptr, c
return ::strtoull(__nptr, __endptr, __base);
}
-#endif // _LIBCPP___LOCALE_LOCALE_BASE_API_MUSL_H
+#endif // _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_MUSL_H
diff --git a/libcxx/include/__cxx03/__locale_dir/locale_base_api/newlib.h b/libcxx/include/__cxx03/__locale_dir/locale_base_api/newlib.h
index a8c1cff16e6d..e52d90794556 100644
--- a/libcxx/include/__cxx03/__locale_dir/locale_base_api/newlib.h
+++ b/libcxx/include/__cxx03/__locale_dir/locale_base_api/newlib.h
@@ -6,7 +6,7 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___LOCALE_LOCALE_BASE_API_NEWLIB_H
-#define _LIBCPP___LOCALE_LOCALE_BASE_API_NEWLIB_H
+#ifndef _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_NEWLIB_H
+#define _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_NEWLIB_H
-#endif // _LIBCPP___LOCALE_LOCALE_BASE_API_NEWLIB_H
+#endif // _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_NEWLIB_H
diff --git a/libcxx/include/__cxx03/__locale_dir/locale_base_api/openbsd.h b/libcxx/include/__cxx03/__locale_dir/locale_base_api/openbsd.h
index effd9e0d76b1..6b64607d484d 100644
--- a/libcxx/include/__cxx03/__locale_dir/locale_base_api/openbsd.h
+++ b/libcxx/include/__cxx03/__locale_dir/locale_base_api/openbsd.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___LOCALE_LOCALE_BASE_API_OPENBSD_H
-#define _LIBCPP___LOCALE_LOCALE_BASE_API_OPENBSD_H
+#ifndef _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_OPENBSD_H
+#define _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_OPENBSD_H
#include <__cxx03/__support/xlocale/__strtonum_fallback.h>
#include <__cxx03/clocale>
@@ -16,4 +16,4 @@
#include <__cxx03/ctype.h>
#include <__cxx03/cwctype>
-#endif // _LIBCPP___LOCALE_LOCALE_BASE_API_OPENBSD_H
+#endif // _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_OPENBSD_H
diff --git a/libcxx/include/__cxx03/__locale_dir/locale_base_api/win32.h b/libcxx/include/__cxx03/__locale_dir/locale_base_api/win32.h
index 60b9435039f6..5f85acf88e6f 100644
--- a/libcxx/include/__cxx03/__locale_dir/locale_base_api/win32.h
+++ b/libcxx/include/__cxx03/__locale_dir/locale_base_api/win32.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___LOCALE_LOCALE_BASE_API_WIN32_H
-#define _LIBCPP___LOCALE_LOCALE_BASE_API_WIN32_H
+#ifndef _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_WIN32_H
+#define _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_WIN32_H
#include <__cxx03/__config>
#include <__cxx03/cstddef>
@@ -232,4 +232,4 @@ _LIBCPP_EXPORTED_FROM_ABI int vasprintf_l(char** __ret, locale_t __loc, const ch
// not-so-pressing FIXME: use locale to determine blank characters
inline int iswblank_l(wint_t __c, locale_t /*loc*/) { return (__c == L' ' || __c == L'\t'); }
-#endif // _LIBCPP___LOCALE_LOCALE_BASE_API_WIN32_H
+#endif // _LIBCPP___CXX03___LOCALE_LOCALE_BASE_API_WIN32_H
diff --git a/libcxx/include/__cxx03/__math/abs.h b/libcxx/include/__cxx03/__math/abs.h
index ad543e654c48..61fc58ac2269 100644
--- a/libcxx/include/__cxx03/__math/abs.h
+++ b/libcxx/include/__cxx03/__math/abs.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MATH_ABS_H
-#define _LIBCPP___MATH_ABS_H
+#ifndef _LIBCPP___CXX03___MATH_ABS_H
+#define _LIBCPP___CXX03___MATH_ABS_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -43,4 +43,4 @@ _LIBCPP_NODISCARD inline _LIBCPP_HIDE_FROM_ABI double fabs(_A1 __x) _NOEXCEPT {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MATH_ABS_H
+#endif // _LIBCPP___CXX03___MATH_ABS_H
diff --git a/libcxx/include/__cxx03/__math/copysign.h b/libcxx/include/__cxx03/__math/copysign.h
index e70d6ee28677..d20940604c6f 100644
--- a/libcxx/include/__cxx03/__math/copysign.h
+++ b/libcxx/include/__cxx03/__math/copysign.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MATH_COPYSIGN_H
-#define _LIBCPP___MATH_COPYSIGN_H
+#ifndef _LIBCPP___CXX03___MATH_COPYSIGN_H
+#define _LIBCPP___CXX03___MATH_COPYSIGN_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -42,4 +42,4 @@ _LIBCPP_NODISCARD inline _LIBCPP_HIDE_FROM_ABI typename __promote<_A1, _A2>::typ
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MATH_COPYSIGN_H
+#endif // _LIBCPP___CXX03___MATH_COPYSIGN_H
diff --git a/libcxx/include/__cxx03/__math/error_functions.h b/libcxx/include/__cxx03/__math/error_functions.h
index 47f506096676..25cf05998986 100644
--- a/libcxx/include/__cxx03/__math/error_functions.h
+++ b/libcxx/include/__cxx03/__math/error_functions.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MATH_ERROR_FUNCTIONS_H
-#define _LIBCPP___MATH_ERROR_FUNCTIONS_H
+#ifndef _LIBCPP___CXX03___MATH_ERROR_FUNCTIONS_H
+#define _LIBCPP___CXX03___MATH_ERROR_FUNCTIONS_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -57,4 +57,4 @@ inline _LIBCPP_HIDE_FROM_ABI double erfc(_A1 __x) _NOEXCEPT {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MATH_ERROR_FUNCTIONS_H
+#endif // _LIBCPP___CXX03___MATH_ERROR_FUNCTIONS_H
diff --git a/libcxx/include/__cxx03/__math/exponential_functions.h b/libcxx/include/__cxx03/__math/exponential_functions.h
index 2e988e170954..452d5d238f91 100644
--- a/libcxx/include/__cxx03/__math/exponential_functions.h
+++ b/libcxx/include/__cxx03/__math/exponential_functions.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MATH_EXPONENTIAL_FUNCTIONS_H
-#define _LIBCPP___MATH_EXPONENTIAL_FUNCTIONS_H
+#ifndef _LIBCPP___CXX03___MATH_EXPONENTIAL_FUNCTIONS_H
+#define _LIBCPP___CXX03___MATH_EXPONENTIAL_FUNCTIONS_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -168,4 +168,4 @@ inline _LIBCPP_HIDE_FROM_ABI typename __promote<_A1, _A2>::type pow(_A1 __x, _A2
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MATH_EXPONENTIAL_FUNCTIONS_H
+#endif // _LIBCPP___CXX03___MATH_EXPONENTIAL_FUNCTIONS_H
diff --git a/libcxx/include/__cxx03/__math/fdim.h b/libcxx/include/__cxx03/__math/fdim.h
index 5f0c8ae34eba..ac6fec44efcb 100644
--- a/libcxx/include/__cxx03/__math/fdim.h
+++ b/libcxx/include/__cxx03/__math/fdim.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MATH_FDIM_H
-#define _LIBCPP___MATH_FDIM_H
+#ifndef _LIBCPP___CXX03___MATH_FDIM_H
+#define _LIBCPP___CXX03___MATH_FDIM_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -45,4 +45,4 @@ inline _LIBCPP_HIDE_FROM_ABI typename __promote<_A1, _A2>::type fdim(_A1 __x, _A
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MATH_FDIM_H
+#endif // _LIBCPP___CXX03___MATH_FDIM_H
diff --git a/libcxx/include/__cxx03/__math/fma.h b/libcxx/include/__cxx03/__math/fma.h
index b58bc1a9855f..ce7e92a33037 100644
--- a/libcxx/include/__cxx03/__math/fma.h
+++ b/libcxx/include/__cxx03/__math/fma.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MATH_FMA_H
-#define _LIBCPP___MATH_FMA_H
+#ifndef _LIBCPP___CXX03___MATH_FMA_H
+#define _LIBCPP___CXX03___MATH_FMA_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -52,4 +52,4 @@ inline _LIBCPP_HIDE_FROM_ABI typename __promote<_A1, _A2, _A3>::type fma(_A1 __x
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MATH_FMA_H
+#endif // _LIBCPP___CXX03___MATH_FMA_H
diff --git a/libcxx/include/__cxx03/__math/gamma.h b/libcxx/include/__cxx03/__math/gamma.h
index 613ff0104def..4d104988e2c9 100644
--- a/libcxx/include/__cxx03/__math/gamma.h
+++ b/libcxx/include/__cxx03/__math/gamma.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MATH_GAMMA_H
-#define _LIBCPP___MATH_GAMMA_H
+#ifndef _LIBCPP___CXX03___MATH_GAMMA_H
+#define _LIBCPP___CXX03___MATH_GAMMA_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -59,4 +59,4 @@ inline _LIBCPP_HIDE_FROM_ABI double tgamma(_A1 __x) _NOEXCEPT {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MATH_GAMMA_H
+#endif // _LIBCPP___CXX03___MATH_GAMMA_H
diff --git a/libcxx/include/__cxx03/__math/hyperbolic_functions.h b/libcxx/include/__cxx03/__math/hyperbolic_functions.h
index 63070ee4f000..2b765ca923ca 100644
--- a/libcxx/include/__cxx03/__math/hyperbolic_functions.h
+++ b/libcxx/include/__cxx03/__math/hyperbolic_functions.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MATH_HYPERBOLIC_FUNCTIONS_H
-#define _LIBCPP___MATH_HYPERBOLIC_FUNCTIONS_H
+#ifndef _LIBCPP___CXX03___MATH_HYPERBOLIC_FUNCTIONS_H
+#define _LIBCPP___CXX03___MATH_HYPERBOLIC_FUNCTIONS_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -73,4 +73,4 @@ inline _LIBCPP_HIDE_FROM_ABI double tanh(_A1 __x) _NOEXCEPT {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MATH_HYPERBOLIC_FUNCTIONS_H
+#endif // _LIBCPP___CXX03___MATH_HYPERBOLIC_FUNCTIONS_H
diff --git a/libcxx/include/__cxx03/__math/hypot.h b/libcxx/include/__cxx03/__math/hypot.h
index cb032f0fd699..bd87fef5f5ed 100644
--- a/libcxx/include/__cxx03/__math/hypot.h
+++ b/libcxx/include/__cxx03/__math/hypot.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MATH_HYPOT_H
-#define _LIBCPP___MATH_HYPOT_H
+#ifndef _LIBCPP___CXX03___MATH_HYPOT_H
+#define _LIBCPP___CXX03___MATH_HYPOT_H
#include <__cxx03/__algorithm/max.h>
#include <__cxx03/__config>
@@ -106,4 +106,4 @@ _LIBCPP_HIDE_FROM_ABI typename __promote<_A1, _A2, _A3>::type hypot(_A1 __x, _A2
_LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___MATH_HYPOT_H
+#endif // _LIBCPP___CXX03___MATH_HYPOT_H
diff --git a/libcxx/include/__cxx03/__math/inverse_hyperbolic_functions.h b/libcxx/include/__cxx03/__math/inverse_hyperbolic_functions.h
index 0701ead8a32f..b48689d159af 100644
--- a/libcxx/include/__cxx03/__math/inverse_hyperbolic_functions.h
+++ b/libcxx/include/__cxx03/__math/inverse_hyperbolic_functions.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MATH_INVERSE_HYPERBOLIC_FUNCTIONS_H
-#define _LIBCPP___MATH_INVERSE_HYPERBOLIC_FUNCTIONS_H
+#ifndef _LIBCPP___CXX03___MATH_INVERSE_HYPERBOLIC_FUNCTIONS_H
+#define _LIBCPP___CXX03___MATH_INVERSE_HYPERBOLIC_FUNCTIONS_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -73,4 +73,4 @@ inline _LIBCPP_HIDE_FROM_ABI double atanh(_A1 __x) _NOEXCEPT {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MATH_INVERSE_HYPERBOLIC_FUNCTIONS_H
+#endif // _LIBCPP___CXX03___MATH_INVERSE_HYPERBOLIC_FUNCTIONS_H
diff --git a/libcxx/include/__cxx03/__math/inverse_trigonometric_functions.h b/libcxx/include/__cxx03/__math/inverse_trigonometric_functions.h
index 626295321627..573c9b1bdc87 100644
--- a/libcxx/include/__cxx03/__math/inverse_trigonometric_functions.h
+++ b/libcxx/include/__cxx03/__math/inverse_trigonometric_functions.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MATH_INVERSE_TRIGONOMETRIC_FUNCTIONS_H
-#define _LIBCPP___MATH_INVERSE_TRIGONOMETRIC_FUNCTIONS_H
+#ifndef _LIBCPP___CXX03___MATH_INVERSE_TRIGONOMETRIC_FUNCTIONS_H
+#define _LIBCPP___CXX03___MATH_INVERSE_TRIGONOMETRIC_FUNCTIONS_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -96,4 +96,4 @@ inline _LIBCPP_HIDE_FROM_ABI typename __promote<_A1, _A2>::type atan2(_A1 __y, _
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MATH_INVERSE_TRIGONOMETRIC_FUNCTIONS_H
+#endif // _LIBCPP___CXX03___MATH_INVERSE_TRIGONOMETRIC_FUNCTIONS_H
diff --git a/libcxx/include/__cxx03/__math/logarithms.h b/libcxx/include/__cxx03/__math/logarithms.h
index ad067abdb381..25473501435c 100644
--- a/libcxx/include/__cxx03/__math/logarithms.h
+++ b/libcxx/include/__cxx03/__math/logarithms.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MATH_LOGARITHMS_H
-#define _LIBCPP___MATH_LOGARITHMS_H
+#ifndef _LIBCPP___CXX03___MATH_LOGARITHMS_H
+#define _LIBCPP___CXX03___MATH_LOGARITHMS_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -121,4 +121,4 @@ inline _LIBCPP_HIDE_FROM_ABI double logb(_A1 __x) _NOEXCEPT {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MATH_LOGARITHMS_H
+#endif // _LIBCPP___CXX03___MATH_LOGARITHMS_H
diff --git a/libcxx/include/__cxx03/__math/min_max.h b/libcxx/include/__cxx03/__math/min_max.h
index 717c8cf57e86..4df5bc1ee0f7 100644
--- a/libcxx/include/__cxx03/__math/min_max.h
+++ b/libcxx/include/__cxx03/__math/min_max.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MATH_MIN_MAX_H
-#define _LIBCPP___MATH_MIN_MAX_H
+#ifndef _LIBCPP___CXX03___MATH_MIN_MAX_H
+#define _LIBCPP___CXX03___MATH_MIN_MAX_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -71,4 +71,4 @@ _LIBCPP_NODISCARD inline _LIBCPP_HIDE_FROM_ABI typename __promote<_A1, _A2>::typ
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MATH_MIN_MAX_H
+#endif // _LIBCPP___CXX03___MATH_MIN_MAX_H
diff --git a/libcxx/include/__cxx03/__math/modulo.h b/libcxx/include/__cxx03/__math/modulo.h
index 4fe58b1bf45d..5a6124187c5d 100644
--- a/libcxx/include/__cxx03/__math/modulo.h
+++ b/libcxx/include/__cxx03/__math/modulo.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MATH_MODULO_H
-#define _LIBCPP___MATH_MODULO_H
+#ifndef _LIBCPP___CXX03___MATH_MODULO_H
+#define _LIBCPP___CXX03___MATH_MODULO_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -60,4 +60,4 @@ inline _LIBCPP_HIDE_FROM_ABI long double modf(long double __x, long double* __y)
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MATH_MODULO_H
+#endif // _LIBCPP___CXX03___MATH_MODULO_H
diff --git a/libcxx/include/__cxx03/__math/remainder.h b/libcxx/include/__cxx03/__math/remainder.h
index e7d825f4c8e3..a9f750b6ddc3 100644
--- a/libcxx/include/__cxx03/__math/remainder.h
+++ b/libcxx/include/__cxx03/__math/remainder.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MATH_REMAINDER_H
-#define _LIBCPP___MATH_REMAINDER_H
+#ifndef _LIBCPP___CXX03___MATH_REMAINDER_H
+#define _LIBCPP___CXX03___MATH_REMAINDER_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -70,4 +70,4 @@ inline _LIBCPP_HIDE_FROM_ABI typename __promote<_A1, _A2>::type remquo(_A1 __x,
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MATH_REMAINDER_H
+#endif // _LIBCPP___CXX03___MATH_REMAINDER_H
diff --git a/libcxx/include/__cxx03/__math/roots.h b/libcxx/include/__cxx03/__math/roots.h
index bb78b70dcaac..77d9eead803c 100644
--- a/libcxx/include/__cxx03/__math/roots.h
+++ b/libcxx/include/__cxx03/__math/roots.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MATH_ROOTS_H
-#define _LIBCPP___MATH_ROOTS_H
+#ifndef _LIBCPP___CXX03___MATH_ROOTS_H
+#define _LIBCPP___CXX03___MATH_ROOTS_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -59,4 +59,4 @@ _LIBCPP_NODISCARD inline _LIBCPP_HIDE_FROM_ABI double cbrt(_A1 __x) _NOEXCEPT {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MATH_ROOTS_H
+#endif // _LIBCPP___CXX03___MATH_ROOTS_H
diff --git a/libcxx/include/__cxx03/__math/rounding_functions.h b/libcxx/include/__cxx03/__math/rounding_functions.h
index 69b021729e0a..e146d743e974 100644
--- a/libcxx/include/__cxx03/__math/rounding_functions.h
+++ b/libcxx/include/__cxx03/__math/rounding_functions.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MATH_ROUNDING_FUNCTIONS_H
-#define _LIBCPP___MATH_ROUNDING_FUNCTIONS_H
+#ifndef _LIBCPP___CXX03___MATH_ROUNDING_FUNCTIONS_H
+#define _LIBCPP___CXX03___MATH_ROUNDING_FUNCTIONS_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -242,4 +242,4 @@ _LIBCPP_NODISCARD inline _LIBCPP_HIDE_FROM_ABI double trunc(_A1 __x) _NOEXCEPT {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MATH_ROUNDING_FUNCTIONS_H
+#endif // _LIBCPP___CXX03___MATH_ROUNDING_FUNCTIONS_H
diff --git a/libcxx/include/__cxx03/__math/special_functions.h b/libcxx/include/__cxx03/__math/special_functions.h
index 27fb394e803e..38832215b89d 100644
--- a/libcxx/include/__cxx03/__math/special_functions.h
+++ b/libcxx/include/__cxx03/__math/special_functions.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MATH_SPECIAL_FUNCTIONS_H
-#define _LIBCPP___MATH_SPECIAL_FUNCTIONS_H
+#ifndef _LIBCPP___CXX03___MATH_SPECIAL_FUNCTIONS_H
+#define _LIBCPP___CXX03___MATH_SPECIAL_FUNCTIONS_H
#include <__cxx03/__config>
#include <__cxx03/__math/copysign.h>
@@ -81,4 +81,4 @@ _LIBCPP_HIDE_FROM_ABI double hermite(unsigned __n, _Integer __x) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MATH_SPECIAL_FUNCTIONS_H
+#endif // _LIBCPP___CXX03___MATH_SPECIAL_FUNCTIONS_H
diff --git a/libcxx/include/__cxx03/__math/traits.h b/libcxx/include/__cxx03/__math/traits.h
index 60823378a835..f62509c32c00 100644
--- a/libcxx/include/__cxx03/__math/traits.h
+++ b/libcxx/include/__cxx03/__math/traits.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MATH_TRAITS_H
-#define _LIBCPP___MATH_TRAITS_H
+#ifndef _LIBCPP___CXX03___MATH_TRAITS_H
+#define _LIBCPP___CXX03___MATH_TRAITS_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -185,4 +185,4 @@ _LIBCPP_NODISCARD inline _LIBCPP_HIDE_FROM_ABI bool isunordered(_A1 __x, _A2 __y
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MATH_TRAITS_H
+#endif // _LIBCPP___CXX03___MATH_TRAITS_H
diff --git a/libcxx/include/__cxx03/__math/trigonometric_functions.h b/libcxx/include/__cxx03/__math/trigonometric_functions.h
index 9d99f409cb20..6c23ae6bc854 100644
--- a/libcxx/include/__cxx03/__math/trigonometric_functions.h
+++ b/libcxx/include/__cxx03/__math/trigonometric_functions.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MATH_TRIGONOMETRIC_FUNCTIONS_H
-#define _LIBCPP___MATH_TRIGONOMETRIC_FUNCTIONS_H
+#ifndef _LIBCPP___CXX03___MATH_TRIGONOMETRIC_FUNCTIONS_H
+#define _LIBCPP___CXX03___MATH_TRIGONOMETRIC_FUNCTIONS_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -73,4 +73,4 @@ inline _LIBCPP_HIDE_FROM_ABI double tan(_A1 __x) _NOEXCEPT {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MATH_TRIGONOMETRIC_FUNCTIONS_H
+#endif // _LIBCPP___CXX03___MATH_TRIGONOMETRIC_FUNCTIONS_H
diff --git a/libcxx/include/__cxx03/__mbstate_t.h b/libcxx/include/__cxx03/__mbstate_t.h
index 302cc5ddc4db..6c7cfaaa8fe5 100644
--- a/libcxx/include/__cxx03/__mbstate_t.h
+++ b/libcxx/include/__cxx03/__mbstate_t.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MBSTATE_T_H
-#define _LIBCPP___MBSTATE_T_H
+#ifndef _LIBCPP___CXX03___MBSTATE_T_H
+#define _LIBCPP___CXX03___MBSTATE_T_H
#include <__cxx03/__config>
@@ -51,4 +51,4 @@
# error "We don't know how to get the definition of mbstate_t without <wchar.h> on your platform."
#endif
-#endif // _LIBCPP___MBSTATE_T_H
+#endif // _LIBCPP___CXX03___MBSTATE_T_H
diff --git a/libcxx/include/__cxx03/__mdspan/default_accessor.h b/libcxx/include/__cxx03/__mdspan/default_accessor.h
index 1745f077db70..1f7c33181856 100644
--- a/libcxx/include/__cxx03/__mdspan/default_accessor.h
+++ b/libcxx/include/__cxx03/__mdspan/default_accessor.h
@@ -14,8 +14,8 @@
//
//===---------------------------------------------------------------------===//
-#ifndef _LIBCPP___MDSPAN_DEFAULT_ACCESSOR_H
-#define _LIBCPP___MDSPAN_DEFAULT_ACCESSOR_H
+#ifndef _LIBCPP___CXX03___MDSPAN_DEFAULT_ACCESSOR_H
+#define _LIBCPP___CXX03___MDSPAN_DEFAULT_ACCESSOR_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/is_abstract.h>
@@ -63,4 +63,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___MDSPAN_DEFAULT_ACCESSOR_H
+#endif // _LIBCPP___CXX03___MDSPAN_DEFAULT_ACCESSOR_H
diff --git a/libcxx/include/__cxx03/__mdspan/extents.h b/libcxx/include/__cxx03/__mdspan/extents.h
index b6f2b6abf3f6..d6fc8b8af75a 100644
--- a/libcxx/include/__cxx03/__mdspan/extents.h
+++ b/libcxx/include/__cxx03/__mdspan/extents.h
@@ -14,8 +14,8 @@
//
//===---------------------------------------------------------------------===//
-#ifndef _LIBCPP___MDSPAN_EXTENTS_H
-#define _LIBCPP___MDSPAN_EXTENTS_H
+#ifndef _LIBCPP___CXX03___MDSPAN_EXTENTS_H
+#define _LIBCPP___CXX03___MDSPAN_EXTENTS_H
#include <__cxx03/__assert>
#include <__cxx03/__config>
@@ -529,4 +529,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___MDSPAN_EXTENTS_H
+#endif // _LIBCPP___CXX03___MDSPAN_EXTENTS_H
diff --git a/libcxx/include/__cxx03/__mdspan/layout_left.h b/libcxx/include/__cxx03/__mdspan/layout_left.h
index 017f278ab6db..7f667238818b 100644
--- a/libcxx/include/__cxx03/__mdspan/layout_left.h
+++ b/libcxx/include/__cxx03/__mdspan/layout_left.h
@@ -14,8 +14,8 @@
//
//===---------------------------------------------------------------------===//
-#ifndef _LIBCPP___MDSPAN_LAYOUT_LEFT_H
-#define _LIBCPP___MDSPAN_LAYOUT_LEFT_H
+#ifndef _LIBCPP___CXX03___MDSPAN_LAYOUT_LEFT_H
+#define _LIBCPP___CXX03___MDSPAN_LAYOUT_LEFT_H
#include <__cxx03/__assert>
#include <__cxx03/__config>
@@ -201,4 +201,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___MDSPAN_LAYOUT_LEFT_H
+#endif // _LIBCPP___CXX03___MDSPAN_LAYOUT_LEFT_H
diff --git a/libcxx/include/__cxx03/__mdspan/layout_right.h b/libcxx/include/__cxx03/__mdspan/layout_right.h
index 13d430cf6b5e..12dc5a1b558d 100644
--- a/libcxx/include/__cxx03/__mdspan/layout_right.h
+++ b/libcxx/include/__cxx03/__mdspan/layout_right.h
@@ -14,8 +14,8 @@
//
//===---------------------------------------------------------------------===//
-#ifndef _LIBCPP___MDSPAN_LAYOUT_RIGHT_H
-#define _LIBCPP___MDSPAN_LAYOUT_RIGHT_H
+#ifndef _LIBCPP___CXX03___MDSPAN_LAYOUT_RIGHT_H
+#define _LIBCPP___CXX03___MDSPAN_LAYOUT_RIGHT_H
#include <__cxx03/__assert>
#include <__cxx03/__config>
@@ -198,4 +198,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___MDSPAN_LAYOUT_RIGHT_H
+#endif // _LIBCPP___CXX03___MDSPAN_LAYOUT_RIGHT_H
diff --git a/libcxx/include/__cxx03/__mdspan/layout_stride.h b/libcxx/include/__cxx03/__mdspan/layout_stride.h
index 9b387ba6b9f6..d97ce1a55610 100644
--- a/libcxx/include/__cxx03/__mdspan/layout_stride.h
+++ b/libcxx/include/__cxx03/__mdspan/layout_stride.h
@@ -14,8 +14,8 @@
//
//===---------------------------------------------------------------------===//
-#ifndef _LIBCPP___MDSPAN_LAYOUT_STRIDE_H
-#define _LIBCPP___MDSPAN_LAYOUT_STRIDE_H
+#ifndef _LIBCPP___CXX03___MDSPAN_LAYOUT_STRIDE_H
+#define _LIBCPP___CXX03___MDSPAN_LAYOUT_STRIDE_H
#include <__cxx03/__assert>
#include <__cxx03/__config>
@@ -363,4 +363,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___MDSPAN_LAYOUT_STRIDE_H
+#endif // _LIBCPP___CXX03___MDSPAN_LAYOUT_STRIDE_H
diff --git a/libcxx/include/__cxx03/__mdspan/mdspan.h b/libcxx/include/__cxx03/__mdspan/mdspan.h
index 253ac1cbb1c4..a1f6f00d61b7 100644
--- a/libcxx/include/__cxx03/__mdspan/mdspan.h
+++ b/libcxx/include/__cxx03/__mdspan/mdspan.h
@@ -14,8 +14,8 @@
//
//===---------------------------------------------------------------------===//
-#ifndef _LIBCPP___MDSPAN_MDSPAN_H
-#define _LIBCPP___MDSPAN_MDSPAN_H
+#ifndef _LIBCPP___CXX03___MDSPAN_MDSPAN_H
+#define _LIBCPP___CXX03___MDSPAN_MDSPAN_H
#include <__cxx03/__assert>
#include <__cxx03/__config>
@@ -316,4 +316,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___MDSPAN_MDSPAN_H
+#endif // _LIBCPP___CXX03___MDSPAN_MDSPAN_H
diff --git a/libcxx/include/__cxx03/__memory/addressof.h b/libcxx/include/__cxx03/__memory/addressof.h
index 0f6b87588444..6c88ec87be1a 100644
--- a/libcxx/include/__cxx03/__memory/addressof.h
+++ b/libcxx/include/__cxx03/__memory/addressof.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_ADDRESSOF_H
-#define _LIBCPP___MEMORY_ADDRESSOF_H
+#ifndef _LIBCPP___CXX03___MEMORY_ADDRESSOF_H
+#define _LIBCPP___CXX03___MEMORY_ADDRESSOF_H
#include <__cxx03/__config>
@@ -58,4 +58,4 @@ _Tp* addressof(const _Tp&&) noexcept = delete;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MEMORY_ADDRESSOF_H
+#endif // _LIBCPP___CXX03___MEMORY_ADDRESSOF_H
diff --git a/libcxx/include/__cxx03/__memory/align.h b/libcxx/include/__cxx03/__memory/align.h
index 3ef7011bdb62..2b2085f21736 100644
--- a/libcxx/include/__cxx03/__memory/align.h
+++ b/libcxx/include/__cxx03/__memory/align.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_ALIGN_H
-#define _LIBCPP___MEMORY_ALIGN_H
+#ifndef _LIBCPP___CXX03___MEMORY_ALIGN_H
+#define _LIBCPP___CXX03___MEMORY_ALIGN_H
#include <__cxx03/__config>
#include <__cxx03/cstddef>
@@ -22,4 +22,4 @@ _LIBCPP_EXPORTED_FROM_ABI void* align(size_t __align, size_t __sz, void*& __ptr,
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MEMORY_ALIGN_H
+#endif // _LIBCPP___CXX03___MEMORY_ALIGN_H
diff --git a/libcxx/include/__cxx03/__memory/aligned_alloc.h b/libcxx/include/__cxx03/__memory/aligned_alloc.h
index 9e864f5a7ab0..af90baeabc14 100644
--- a/libcxx/include/__cxx03/__memory/aligned_alloc.h
+++ b/libcxx/include/__cxx03/__memory/aligned_alloc.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_ALIGNED_ALLOC_H
-#define _LIBCPP___MEMORY_ALIGNED_ALLOC_H
+#ifndef _LIBCPP___CXX03___MEMORY_ALIGNED_ALLOC_H
+#define _LIBCPP___CXX03___MEMORY_ALIGNED_ALLOC_H
#include <__cxx03/__config>
#include <__cxx03/cstddef>
@@ -61,4 +61,4 @@ inline _LIBCPP_HIDE_FROM_ABI void __libcpp_aligned_free(void* __ptr) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MEMORY_ALIGNED_ALLOC_H
+#endif // _LIBCPP___CXX03___MEMORY_ALIGNED_ALLOC_H
diff --git a/libcxx/include/__cxx03/__memory/allocate_at_least.h b/libcxx/include/__cxx03/__memory/allocate_at_least.h
index e8b4cd3a17e5..cb1810855a01 100644
--- a/libcxx/include/__cxx03/__memory/allocate_at_least.h
+++ b/libcxx/include/__cxx03/__memory/allocate_at_least.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_ALLOCATE_AT_LEAST_H
-#define _LIBCPP___MEMORY_ALLOCATE_AT_LEAST_H
+#ifndef _LIBCPP___CXX03___MEMORY_ALLOCATE_AT_LEAST_H
+#define _LIBCPP___CXX03___MEMORY_ALLOCATE_AT_LEAST_H
#include <__cxx03/__config>
#include <__cxx03/__memory/allocator_traits.h>
@@ -45,4 +45,4 @@ __allocate_at_least(_Alloc& __alloc, size_t __n) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MEMORY_ALLOCATE_AT_LEAST_H
+#endif // _LIBCPP___CXX03___MEMORY_ALLOCATE_AT_LEAST_H
diff --git a/libcxx/include/__cxx03/__memory/allocation_guard.h b/libcxx/include/__cxx03/__memory/allocation_guard.h
index a84ab2de7eb9..0a2712d1df99 100644
--- a/libcxx/include/__cxx03/__memory/allocation_guard.h
+++ b/libcxx/include/__cxx03/__memory/allocation_guard.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_ALLOCATION_GUARD_H
-#define _LIBCPP___MEMORY_ALLOCATION_GUARD_H
+#ifndef _LIBCPP___CXX03___MEMORY_ALLOCATION_GUARD_H
+#define _LIBCPP___CXX03___MEMORY_ALLOCATION_GUARD_H
#include <__cxx03/__config>
#include <__cxx03/__memory/addressof.h>
@@ -105,4 +105,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___MEMORY_ALLOCATION_GUARD_H
+#endif // _LIBCPP___CXX03___MEMORY_ALLOCATION_GUARD_H
diff --git a/libcxx/include/__cxx03/__memory/allocator.h b/libcxx/include/__cxx03/__memory/allocator.h
index e0066c6e89b9..06f270a0c008 100644
--- a/libcxx/include/__cxx03/__memory/allocator.h
+++ b/libcxx/include/__cxx03/__memory/allocator.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_ALLOCATOR_H
-#define _LIBCPP___MEMORY_ALLOCATOR_H
+#ifndef _LIBCPP___CXX03___MEMORY_ALLOCATOR_H
+#define _LIBCPP___CXX03___MEMORY_ALLOCATOR_H
#include <__cxx03/__config>
#include <__cxx03/__memory/addressof.h>
@@ -265,4 +265,4 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const allocator<_Tp>&, const alloca
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MEMORY_ALLOCATOR_H
+#endif // _LIBCPP___CXX03___MEMORY_ALLOCATOR_H
diff --git a/libcxx/include/__cxx03/__memory/allocator_arg_t.h b/libcxx/include/__cxx03/__memory/allocator_arg_t.h
index 5f40454dca75..3646b71e4265 100644
--- a/libcxx/include/__cxx03/__memory/allocator_arg_t.h
+++ b/libcxx/include/__cxx03/__memory/allocator_arg_t.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___FUNCTIONAL_ALLOCATOR_ARG_T_H
-#define _LIBCPP___FUNCTIONAL_ALLOCATOR_ARG_T_H
+#ifndef _LIBCPP___CXX03___FUNCTIONAL_ALLOCATOR_ARG_T_H
+#define _LIBCPP___CXX03___FUNCTIONAL_ALLOCATOR_ARG_T_H
#include <__cxx03/__config>
#include <__cxx03/__memory/uses_allocator.h>
@@ -72,4 +72,4 @@ __user_alloc_construct_impl(integral_constant<int, 2>, _Tp* __storage, const _Al
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___FUNCTIONAL_ALLOCATOR_ARG_T_H
+#endif // _LIBCPP___CXX03___FUNCTIONAL_ALLOCATOR_ARG_T_H
diff --git a/libcxx/include/__cxx03/__memory/allocator_destructor.h b/libcxx/include/__cxx03/__memory/allocator_destructor.h
index e009cd1d04aa..2c69c9156132 100644
--- a/libcxx/include/__cxx03/__memory/allocator_destructor.h
+++ b/libcxx/include/__cxx03/__memory/allocator_destructor.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_ALLOCATOR_DESTRUCTOR_H
-#define _LIBCPP___MEMORY_ALLOCATOR_DESTRUCTOR_H
+#ifndef _LIBCPP___CXX03___MEMORY_ALLOCATOR_DESTRUCTOR_H
+#define _LIBCPP___CXX03___MEMORY_ALLOCATOR_DESTRUCTOR_H
#include <__cxx03/__config>
#include <__cxx03/__memory/allocator_traits.h>
@@ -37,4 +37,4 @@ public:
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MEMORY_ALLOCATOR_DESTRUCTOR_H
+#endif // _LIBCPP___CXX03___MEMORY_ALLOCATOR_DESTRUCTOR_H
diff --git a/libcxx/include/__cxx03/__memory/allocator_traits.h b/libcxx/include/__cxx03/__memory/allocator_traits.h
index 9833df6c50bd..e70716c07015 100644
--- a/libcxx/include/__cxx03/__memory/allocator_traits.h
+++ b/libcxx/include/__cxx03/__memory/allocator_traits.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_ALLOCATOR_TRAITS_H
-#define _LIBCPP___MEMORY_ALLOCATOR_TRAITS_H
+#ifndef _LIBCPP___CXX03___MEMORY_ALLOCATOR_TRAITS_H
+#define _LIBCPP___CXX03___MEMORY_ALLOCATOR_TRAITS_H
#include <__cxx03/__config>
#include <__cxx03/__memory/construct_at.h>
@@ -421,4 +421,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___MEMORY_ALLOCATOR_TRAITS_H
+#endif // _LIBCPP___CXX03___MEMORY_ALLOCATOR_TRAITS_H
diff --git a/libcxx/include/__cxx03/__memory/assume_aligned.h b/libcxx/include/__cxx03/__memory/assume_aligned.h
index 3b345d4c5c5c..03a495aac580 100644
--- a/libcxx/include/__cxx03/__memory/assume_aligned.h
+++ b/libcxx/include/__cxx03/__memory/assume_aligned.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_ASSUME_ALIGNED_H
-#define _LIBCPP___MEMORY_ASSUME_ALIGNED_H
+#ifndef _LIBCPP___CXX03___MEMORY_ASSUME_ALIGNED_H
+#define _LIBCPP___CXX03___MEMORY_ASSUME_ALIGNED_H
#include <__cxx03/__assert>
#include <__cxx03/__config>
@@ -47,4 +47,4 @@ template <size_t _Np, class _Tp>
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MEMORY_ASSUME_ALIGNED_H
+#endif // _LIBCPP___CXX03___MEMORY_ASSUME_ALIGNED_H
diff --git a/libcxx/include/__cxx03/__memory/auto_ptr.h b/libcxx/include/__cxx03/__memory/auto_ptr.h
index f5695745d22e..d5d541e1547a 100644
--- a/libcxx/include/__cxx03/__memory/auto_ptr.h
+++ b/libcxx/include/__cxx03/__memory/auto_ptr.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_AUTO_PTR_H
-#define _LIBCPP___MEMORY_AUTO_PTR_H
+#ifndef _LIBCPP___CXX03___MEMORY_AUTO_PTR_H
+#define _LIBCPP___CXX03___MEMORY_AUTO_PTR_H
#include <__cxx03/__config>
@@ -89,4 +89,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
-#endif // _LIBCPP___MEMORY_AUTO_PTR_H
+#endif // _LIBCPP___CXX03___MEMORY_AUTO_PTR_H
diff --git a/libcxx/include/__cxx03/__memory/builtin_new_allocator.h b/libcxx/include/__cxx03/__memory/builtin_new_allocator.h
index e0284dfcff1e..e14a57e8a061 100644
--- a/libcxx/include/__cxx03/__memory/builtin_new_allocator.h
+++ b/libcxx/include/__cxx03/__memory/builtin_new_allocator.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_BUILTIN_NEW_ALLOCATOR_H
-#define _LIBCPP___MEMORY_BUILTIN_NEW_ALLOCATOR_H
+#ifndef _LIBCPP___CXX03___MEMORY_BUILTIN_NEW_ALLOCATOR_H
+#define _LIBCPP___CXX03___MEMORY_BUILTIN_NEW_ALLOCATOR_H
#include <__cxx03/__config>
#include <__cxx03/__memory/unique_ptr.h>
@@ -64,4 +64,4 @@ struct __builtin_new_allocator {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MEMORY_BUILTIN_NEW_ALLOCATOR_H
+#endif // _LIBCPP___CXX03___MEMORY_BUILTIN_NEW_ALLOCATOR_H
diff --git a/libcxx/include/__cxx03/__memory/compressed_pair.h b/libcxx/include/__cxx03/__memory/compressed_pair.h
index 2af34f02772e..086621d355d6 100644
--- a/libcxx/include/__cxx03/__memory/compressed_pair.h
+++ b/libcxx/include/__cxx03/__memory/compressed_pair.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_COMPRESSED_PAIR_H
-#define _LIBCPP___MEMORY_COMPRESSED_PAIR_H
+#ifndef _LIBCPP___CXX03___MEMORY_COMPRESSED_PAIR_H
+#define _LIBCPP___CXX03___MEMORY_COMPRESSED_PAIR_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/tuple.h>
@@ -168,4 +168,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___MEMORY_COMPRESSED_PAIR_H
+#endif // _LIBCPP___CXX03___MEMORY_COMPRESSED_PAIR_H
diff --git a/libcxx/include/__cxx03/__memory/concepts.h b/libcxx/include/__cxx03/__memory/concepts.h
index 85620202495e..ac57609c0b5c 100644
--- a/libcxx/include/__cxx03/__memory/concepts.h
+++ b/libcxx/include/__cxx03/__memory/concepts.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_CONCEPTS_H
-#define _LIBCPP___MEMORY_CONCEPTS_H
+#ifndef _LIBCPP___CXX03___MEMORY_CONCEPTS_H
+#define _LIBCPP___CXX03___MEMORY_CONCEPTS_H
#include <__cxx03/__concepts/same_as.h>
#include <__cxx03/__config>
@@ -60,4 +60,4 @@ concept __nothrow_forward_range = __nothrow_input_range<_Rp> && __nothrow_forwar
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MEMORY_CONCEPTS_H
+#endif // _LIBCPP___CXX03___MEMORY_CONCEPTS_H
diff --git a/libcxx/include/__cxx03/__memory/construct_at.h b/libcxx/include/__cxx03/__memory/construct_at.h
index 090e132a67ee..755cdbf9743d 100644
--- a/libcxx/include/__cxx03/__memory/construct_at.h
+++ b/libcxx/include/__cxx03/__memory/construct_at.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_CONSTRUCT_AT_H
-#define _LIBCPP___MEMORY_CONSTRUCT_AT_H
+#ifndef _LIBCPP___CXX03___MEMORY_CONSTRUCT_AT_H
+#define _LIBCPP___CXX03___MEMORY_CONSTRUCT_AT_H
#include <__cxx03/__assert>
#include <__cxx03/__config>
@@ -125,4 +125,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___MEMORY_CONSTRUCT_AT_H
+#endif // _LIBCPP___CXX03___MEMORY_CONSTRUCT_AT_H
diff --git a/libcxx/include/__cxx03/__memory/destruct_n.h b/libcxx/include/__cxx03/__memory/destruct_n.h
index f5a24a67ca52..a7dd2abd5598 100644
--- a/libcxx/include/__cxx03/__memory/destruct_n.h
+++ b/libcxx/include/__cxx03/__memory/destruct_n.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_DESTRUCT_N_H
-#define _LIBCPP___MEMORY_DESTRUCT_N_H
+#ifndef _LIBCPP___CXX03___MEMORY_DESTRUCT_N_H
+#define _LIBCPP___CXX03___MEMORY_DESTRUCT_N_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -60,4 +60,4 @@ public:
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MEMORY_DESTRUCT_N_H
+#endif // _LIBCPP___CXX03___MEMORY_DESTRUCT_N_H
diff --git a/libcxx/include/__cxx03/__memory/inout_ptr.h b/libcxx/include/__cxx03/__memory/inout_ptr.h
index bb715e3b86c6..4fea15387403 100644
--- a/libcxx/include/__cxx03/__memory/inout_ptr.h
+++ b/libcxx/include/__cxx03/__memory/inout_ptr.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___INOUT_PTR_H
-#define _LIBCPP___INOUT_PTR_H
+#ifndef _LIBCPP___CXX03___INOUT_PTR_H
+#define _LIBCPP___CXX03___INOUT_PTR_H
#include <__cxx03/__config>
#include <__cxx03/__memory/addressof.h>
@@ -106,4 +106,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___INOUT_PTR_H
+#endif // _LIBCPP___CXX03___INOUT_PTR_H
diff --git a/libcxx/include/__cxx03/__memory/out_ptr.h b/libcxx/include/__cxx03/__memory/out_ptr.h
index 9aa9f33e293c..053818bc1f51 100644
--- a/libcxx/include/__cxx03/__memory/out_ptr.h
+++ b/libcxx/include/__cxx03/__memory/out_ptr.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___OUT_PTR_H
-#define _LIBCPP___OUT_PTR_H
+#ifndef _LIBCPP___CXX03___OUT_PTR_H
+#define _LIBCPP___CXX03___OUT_PTR_H
#include <__cxx03/__config>
#include <__cxx03/__memory/addressof.h>
@@ -98,4 +98,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___OUT_PTR_H
+#endif // _LIBCPP___CXX03___OUT_PTR_H
diff --git a/libcxx/include/__cxx03/__memory/pointer_traits.h b/libcxx/include/__cxx03/__memory/pointer_traits.h
index 9c480af773b7..f1206836676d 100644
--- a/libcxx/include/__cxx03/__memory/pointer_traits.h
+++ b/libcxx/include/__cxx03/__memory/pointer_traits.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_POINTER_TRAITS_H
-#define _LIBCPP___MEMORY_POINTER_TRAITS_H
+#ifndef _LIBCPP___CXX03___MEMORY_POINTER_TRAITS_H
+#define _LIBCPP___CXX03___MEMORY_POINTER_TRAITS_H
#include <__cxx03/__config>
#include <__cxx03/__memory/addressof.h>
@@ -304,4 +304,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___MEMORY_POINTER_TRAITS_H
+#endif // _LIBCPP___CXX03___MEMORY_POINTER_TRAITS_H
diff --git a/libcxx/include/__cxx03/__memory/ranges_construct_at.h b/libcxx/include/__cxx03/__memory/ranges_construct_at.h
index f8acc9f0c21d..db271b8572dc 100644
--- a/libcxx/include/__cxx03/__memory/ranges_construct_at.h
+++ b/libcxx/include/__cxx03/__memory/ranges_construct_at.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_RANGES_CONSTRUCT_AT_H
-#define _LIBCPP___MEMORY_RANGES_CONSTRUCT_AT_H
+#ifndef _LIBCPP___CXX03___MEMORY_RANGES_CONSTRUCT_AT_H
+#define _LIBCPP___CXX03___MEMORY_RANGES_CONSTRUCT_AT_H
#include <__cxx03/__concepts/destructible.h>
#include <__cxx03/__config>
@@ -121,4 +121,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___MEMORY_RANGES_CONSTRUCT_AT_H
+#endif // _LIBCPP___CXX03___MEMORY_RANGES_CONSTRUCT_AT_H
diff --git a/libcxx/include/__cxx03/__memory/ranges_uninitialized_algorithms.h b/libcxx/include/__cxx03/__memory/ranges_uninitialized_algorithms.h
index f7af43484781..24e3dfa23180 100644
--- a/libcxx/include/__cxx03/__memory/ranges_uninitialized_algorithms.h
+++ b/libcxx/include/__cxx03/__memory/ranges_uninitialized_algorithms.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_RANGES_UNINITIALIZED_ALGORITHMS_H
-#define _LIBCPP___MEMORY_RANGES_UNINITIALIZED_ALGORITHMS_H
+#ifndef _LIBCPP___CXX03___MEMORY_RANGES_UNINITIALIZED_ALGORITHMS_H
+#define _LIBCPP___CXX03___MEMORY_RANGES_UNINITIALIZED_ALGORITHMS_H
#include <__cxx03/__algorithm/in_out_result.h>
#include <__cxx03/__concepts/constructible.h>
@@ -322,4 +322,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___MEMORY_RANGES_UNINITIALIZED_ALGORITHMS_H
+#endif // _LIBCPP___CXX03___MEMORY_RANGES_UNINITIALIZED_ALGORITHMS_H
diff --git a/libcxx/include/__cxx03/__memory/raw_storage_iterator.h b/libcxx/include/__cxx03/__memory/raw_storage_iterator.h
index bde1e1e6f030..c0f6b9151e5c 100644
--- a/libcxx/include/__cxx03/__memory/raw_storage_iterator.h
+++ b/libcxx/include/__cxx03/__memory/raw_storage_iterator.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_RAW_STORAGE_ITERATOR_H
-#define _LIBCPP___MEMORY_RAW_STORAGE_ITERATOR_H
+#ifndef _LIBCPP___CXX03___MEMORY_RAW_STORAGE_ITERATOR_H
+#define _LIBCPP___CXX03___MEMORY_RAW_STORAGE_ITERATOR_H
#include <__cxx03/__config>
#include <__cxx03/__iterator/iterator.h>
@@ -84,4 +84,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___MEMORY_RAW_STORAGE_ITERATOR_H
+#endif // _LIBCPP___CXX03___MEMORY_RAW_STORAGE_ITERATOR_H
diff --git a/libcxx/include/__cxx03/__memory/shared_ptr.h b/libcxx/include/__cxx03/__memory/shared_ptr.h
index f6322d9141e3..5e1f8c1ff7d5 100644
--- a/libcxx/include/__cxx03/__memory/shared_ptr.h
+++ b/libcxx/include/__cxx03/__memory/shared_ptr.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_SHARED_PTR_H
-#define _LIBCPP___MEMORY_SHARED_PTR_H
+#ifndef _LIBCPP___CXX03___MEMORY_SHARED_PTR_H
+#define _LIBCPP___CXX03___MEMORY_SHARED_PTR_H
#include <__cxx03/__compare/compare_three_way.h>
#include <__cxx03/__compare/ordering.h>
@@ -1691,4 +1691,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___MEMORY_SHARED_PTR_H
+#endif // _LIBCPP___CXX03___MEMORY_SHARED_PTR_H
diff --git a/libcxx/include/__cxx03/__memory/swap_allocator.h b/libcxx/include/__cxx03/__memory/swap_allocator.h
index 3b463553d3ff..2986da736573 100644
--- a/libcxx/include/__cxx03/__memory/swap_allocator.h
+++ b/libcxx/include/__cxx03/__memory/swap_allocator.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_SWAP_ALLOCATOR_H
-#define _LIBCPP___MEMORY_SWAP_ALLOCATOR_H
+#ifndef _LIBCPP___CXX03___MEMORY_SWAP_ALLOCATOR_H
+#define _LIBCPP___CXX03___MEMORY_SWAP_ALLOCATOR_H
#include <__cxx03/__config>
#include <__cxx03/__memory/allocator_traits.h>
@@ -51,4 +51,4 @@ inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 void __swap_allocator
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MEMORY_SWAP_ALLOCATOR_H
+#endif // _LIBCPP___CXX03___MEMORY_SWAP_ALLOCATOR_H
diff --git a/libcxx/include/__cxx03/__memory/temp_value.h b/libcxx/include/__cxx03/__memory/temp_value.h
index ddf963da45de..b777c66187bd 100644
--- a/libcxx/include/__cxx03/__memory/temp_value.h
+++ b/libcxx/include/__cxx03/__memory/temp_value.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_TEMP_VALUE_H
-#define _LIBCPP___MEMORY_TEMP_VALUE_H
+#ifndef _LIBCPP___CXX03___MEMORY_TEMP_VALUE_H
+#define _LIBCPP___CXX03___MEMORY_TEMP_VALUE_H
#include <__cxx03/__config>
#include <__cxx03/__memory/addressof.h>
@@ -55,4 +55,4 @@ struct __temp_value {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MEMORY_TEMP_VALUE_H
+#endif // _LIBCPP___CXX03___MEMORY_TEMP_VALUE_H
diff --git a/libcxx/include/__cxx03/__memory/temporary_buffer.h b/libcxx/include/__cxx03/__memory/temporary_buffer.h
index 11a22e6db67d..3f584a7337f0 100644
--- a/libcxx/include/__cxx03/__memory/temporary_buffer.h
+++ b/libcxx/include/__cxx03/__memory/temporary_buffer.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_TEMPORARY_BUFFER_H
-#define _LIBCPP___MEMORY_TEMPORARY_BUFFER_H
+#ifndef _LIBCPP___CXX03___MEMORY_TEMPORARY_BUFFER_H
+#define _LIBCPP___CXX03___MEMORY_TEMPORARY_BUFFER_H
#include <__cxx03/__config>
#include <__cxx03/__utility/pair.h>
@@ -72,4 +72,4 @@ struct __return_temporary_buffer {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MEMORY_TEMPORARY_BUFFER_H
+#endif // _LIBCPP___CXX03___MEMORY_TEMPORARY_BUFFER_H
diff --git a/libcxx/include/__cxx03/__memory/uninitialized_algorithms.h b/libcxx/include/__cxx03/__memory/uninitialized_algorithms.h
index d74304d1d970..d595c8c6cf49 100644
--- a/libcxx/include/__cxx03/__memory/uninitialized_algorithms.h
+++ b/libcxx/include/__cxx03/__memory/uninitialized_algorithms.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_UNINITIALIZED_ALGORITHMS_H
-#define _LIBCPP___MEMORY_UNINITIALIZED_ALGORITHMS_H
+#ifndef _LIBCPP___CXX03___MEMORY_UNINITIALIZED_ALGORITHMS_H
+#define _LIBCPP___CXX03___MEMORY_UNINITIALIZED_ALGORITHMS_H
#include <__cxx03/__algorithm/copy.h>
#include <__cxx03/__algorithm/move.h>
@@ -650,4 +650,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___MEMORY_UNINITIALIZED_ALGORITHMS_H
+#endif // _LIBCPP___CXX03___MEMORY_UNINITIALIZED_ALGORITHMS_H
diff --git a/libcxx/include/__cxx03/__memory/unique_ptr.h b/libcxx/include/__cxx03/__memory/unique_ptr.h
index 2576b6b37e7c..415b00299759 100644
--- a/libcxx/include/__cxx03/__memory/unique_ptr.h
+++ b/libcxx/include/__cxx03/__memory/unique_ptr.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_UNIQUE_PTR_H
-#define _LIBCPP___MEMORY_UNIQUE_PTR_H
+#ifndef _LIBCPP___CXX03___MEMORY_UNIQUE_PTR_H
+#define _LIBCPP___CXX03___MEMORY_UNIQUE_PTR_H
#include <__cxx03/__compare/compare_three_way.h>
#include <__cxx03/__compare/compare_three_way_result.h>
@@ -690,4 +690,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___MEMORY_UNIQUE_PTR_H
+#endif // _LIBCPP___CXX03___MEMORY_UNIQUE_PTR_H
diff --git a/libcxx/include/__cxx03/__memory/uses_allocator.h b/libcxx/include/__cxx03/__memory/uses_allocator.h
index afdaac2d4b6f..4fb6651c68b1 100644
--- a/libcxx/include/__cxx03/__memory/uses_allocator.h
+++ b/libcxx/include/__cxx03/__memory/uses_allocator.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_USES_ALLOCATOR_H
-#define _LIBCPP___MEMORY_USES_ALLOCATOR_H
+#ifndef _LIBCPP___CXX03___MEMORY_USES_ALLOCATOR_H
+#define _LIBCPP___CXX03___MEMORY_USES_ALLOCATOR_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/is_convertible.h>
@@ -49,4 +49,4 @@ inline constexpr bool uses_allocator_v = uses_allocator<_Tp, _Alloc>::value;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MEMORY_USES_ALLOCATOR_H
+#endif // _LIBCPP___CXX03___MEMORY_USES_ALLOCATOR_H
diff --git a/libcxx/include/__cxx03/__memory/uses_allocator_construction.h b/libcxx/include/__cxx03/__memory/uses_allocator_construction.h
index fae2609204b1..447d2a4e7cce 100644
--- a/libcxx/include/__cxx03/__memory/uses_allocator_construction.h
+++ b/libcxx/include/__cxx03/__memory/uses_allocator_construction.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_USES_ALLOCATOR_CONSTRUCTION_H
-#define _LIBCPP___MEMORY_USES_ALLOCATOR_CONSTRUCTION_H
+#ifndef _LIBCPP___CXX03___MEMORY_USES_ALLOCATOR_CONSTRUCTION_H
+#define _LIBCPP___CXX03___MEMORY_USES_ALLOCATOR_CONSTRUCTION_H
#include <__cxx03/__config>
#include <__cxx03/__memory/construct_at.h>
@@ -244,4 +244,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___MEMORY_USES_ALLOCATOR_CONSTRUCTION_H
+#endif // _LIBCPP___CXX03___MEMORY_USES_ALLOCATOR_CONSTRUCTION_H
diff --git a/libcxx/include/__cxx03/__memory/voidify.h b/libcxx/include/__cxx03/__memory/voidify.h
index b509aecc4a18..63e03b7d7f8f 100644
--- a/libcxx/include/__cxx03/__memory/voidify.h
+++ b/libcxx/include/__cxx03/__memory/voidify.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_VOIDIFY_H
-#define _LIBCPP___MEMORY_VOIDIFY_H
+#ifndef _LIBCPP___CXX03___MEMORY_VOIDIFY_H
+#define _LIBCPP___CXX03___MEMORY_VOIDIFY_H
#include <__cxx03/__config>
#include <__cxx03/__memory/addressof.h>
@@ -27,4 +27,4 @@ _LIBCPP_ALWAYS_INLINE _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void*
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MEMORY_VOIDIFY_H
+#endif // _LIBCPP___CXX03___MEMORY_VOIDIFY_H
diff --git a/libcxx/include/__cxx03/__memory_resource/memory_resource.h b/libcxx/include/__cxx03/__memory_resource/memory_resource.h
index e4af41a9dc0b..6bcad87edd40 100644
--- a/libcxx/include/__cxx03/__memory_resource/memory_resource.h
+++ b/libcxx/include/__cxx03/__memory_resource/memory_resource.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_RESOURCE_MEMORY_RESOURCE_H
-#define _LIBCPP___MEMORY_RESOURCE_MEMORY_RESOURCE_H
+#ifndef _LIBCPP___CXX03___MEMORY_RESOURCE_MEMORY_RESOURCE_H
+#define _LIBCPP___CXX03___MEMORY_RESOURCE_MEMORY_RESOURCE_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/memory_resource.h>
@@ -85,4 +85,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 17
-#endif // _LIBCPP___MEMORY_RESOURCE_MEMORY_RESOURCE_H
+#endif // _LIBCPP___CXX03___MEMORY_RESOURCE_MEMORY_RESOURCE_H
diff --git a/libcxx/include/__cxx03/__memory_resource/monotonic_buffer_resource.h b/libcxx/include/__cxx03/__memory_resource/monotonic_buffer_resource.h
index 9d418ea2289a..f72f56ef05fc 100644
--- a/libcxx/include/__cxx03/__memory_resource/monotonic_buffer_resource.h
+++ b/libcxx/include/__cxx03/__memory_resource/monotonic_buffer_resource.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_RESOURCE_MONOTONIC_BUFFER_RESOURCE_H
-#define _LIBCPP___MEMORY_RESOURCE_MONOTONIC_BUFFER_RESOURCE_H
+#ifndef _LIBCPP___CXX03___MEMORY_RESOURCE_MONOTONIC_BUFFER_RESOURCE_H
+#define _LIBCPP___CXX03___MEMORY_RESOURCE_MONOTONIC_BUFFER_RESOURCE_H
#include <__cxx03/__config>
#include <__cxx03/__memory/addressof.h>
@@ -119,4 +119,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 17
-#endif // _LIBCPP___MEMORY_RESOURCE_MONOTONIC_BUFFER_RESOURCE_H
+#endif // _LIBCPP___CXX03___MEMORY_RESOURCE_MONOTONIC_BUFFER_RESOURCE_H
diff --git a/libcxx/include/__cxx03/__memory_resource/polymorphic_allocator.h b/libcxx/include/__cxx03/__memory_resource/polymorphic_allocator.h
index f615ac381167..154f6f0f6973 100644
--- a/libcxx/include/__cxx03/__memory_resource/polymorphic_allocator.h
+++ b/libcxx/include/__cxx03/__memory_resource/polymorphic_allocator.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_RESOURCE_POLYMORPHIC_ALLOCATOR_H
-#define _LIBCPP___MEMORY_RESOURCE_POLYMORPHIC_ALLOCATOR_H
+#ifndef _LIBCPP___CXX03___MEMORY_RESOURCE_POLYMORPHIC_ALLOCATOR_H
+#define _LIBCPP___CXX03___MEMORY_RESOURCE_POLYMORPHIC_ALLOCATOR_H
#include <__cxx03/__assert>
#include <__cxx03/__config>
@@ -228,4 +228,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___MEMORY_RESOURCE_POLYMORPHIC_ALLOCATOR_H
+#endif // _LIBCPP___CXX03___MEMORY_RESOURCE_POLYMORPHIC_ALLOCATOR_H
diff --git a/libcxx/include/__cxx03/__memory_resource/pool_options.h b/libcxx/include/__cxx03/__memory_resource/pool_options.h
index 50f3ea588298..ac00e22bd7f4 100644
--- a/libcxx/include/__cxx03/__memory_resource/pool_options.h
+++ b/libcxx/include/__cxx03/__memory_resource/pool_options.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_RESOURCE_POOL_OPTIONS_H
-#define _LIBCPP___MEMORY_RESOURCE_POOL_OPTIONS_H
+#ifndef _LIBCPP___CXX03___MEMORY_RESOURCE_POOL_OPTIONS_H
+#define _LIBCPP___CXX03___MEMORY_RESOURCE_POOL_OPTIONS_H
#include <__cxx03/__config>
#include <__cxx03/cstddef>
@@ -35,4 +35,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 17
-#endif // _LIBCPP___MEMORY_RESOURCE_POOL_OPTIONS_H
+#endif // _LIBCPP___CXX03___MEMORY_RESOURCE_POOL_OPTIONS_H
diff --git a/libcxx/include/__cxx03/__memory_resource/synchronized_pool_resource.h b/libcxx/include/__cxx03/__memory_resource/synchronized_pool_resource.h
index f139b592eada..c8897a3d0818 100644
--- a/libcxx/include/__cxx03/__memory_resource/synchronized_pool_resource.h
+++ b/libcxx/include/__cxx03/__memory_resource/synchronized_pool_resource.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_RESOURCE_SYNCHRONIZED_POOL_RESOURCE_H
-#define _LIBCPP___MEMORY_RESOURCE_SYNCHRONIZED_POOL_RESOURCE_H
+#ifndef _LIBCPP___CXX03___MEMORY_RESOURCE_SYNCHRONIZED_POOL_RESOURCE_H
+#define _LIBCPP___CXX03___MEMORY_RESOURCE_SYNCHRONIZED_POOL_RESOURCE_H
#include <__cxx03/__config>
#include <__cxx03/__memory_resource/memory_resource.h>
@@ -89,4 +89,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 17
-#endif // _LIBCPP___MEMORY_RESOURCE_SYNCHRONIZED_POOL_RESOURCE_H
+#endif // _LIBCPP___CXX03___MEMORY_RESOURCE_SYNCHRONIZED_POOL_RESOURCE_H
diff --git a/libcxx/include/__cxx03/__memory_resource/unsynchronized_pool_resource.h b/libcxx/include/__cxx03/__memory_resource/unsynchronized_pool_resource.h
index d3a32da069b7..690768546ca6 100644
--- a/libcxx/include/__cxx03/__memory_resource/unsynchronized_pool_resource.h
+++ b/libcxx/include/__cxx03/__memory_resource/unsynchronized_pool_resource.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MEMORY_RESOURCE_UNSYNCHRONIZED_POOL_RESOURCE_H
-#define _LIBCPP___MEMORY_RESOURCE_UNSYNCHRONIZED_POOL_RESOURCE_H
+#ifndef _LIBCPP___CXX03___MEMORY_RESOURCE_UNSYNCHRONIZED_POOL_RESOURCE_H
+#define _LIBCPP___CXX03___MEMORY_RESOURCE_UNSYNCHRONIZED_POOL_RESOURCE_H
#include <__cxx03/__config>
#include <__cxx03/__memory_resource/memory_resource.h>
@@ -103,4 +103,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 17
-#endif // _LIBCPP___MEMORY_RESOURCE_UNSYNCHRONIZED_POOL_RESOURCE_H
+#endif // _LIBCPP___CXX03___MEMORY_RESOURCE_UNSYNCHRONIZED_POOL_RESOURCE_H
diff --git a/libcxx/include/__cxx03/__mutex/lock_guard.h b/libcxx/include/__cxx03/__mutex/lock_guard.h
index b20efc33b2a1..6760b1f20fa9 100644
--- a/libcxx/include/__cxx03/__mutex/lock_guard.h
+++ b/libcxx/include/__cxx03/__mutex/lock_guard.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MUTEX_LOCK_GUARD_H
-#define _LIBCPP___MUTEX_LOCK_GUARD_H
+#ifndef _LIBCPP___CXX03___MUTEX_LOCK_GUARD_H
+#define _LIBCPP___CXX03___MUTEX_LOCK_GUARD_H
#include <__cxx03/__config>
#include <__cxx03/__mutex/tag_types.h>
@@ -45,4 +45,4 @@ _LIBCPP_CTAD_SUPPORTED_FOR_TYPE(lock_guard);
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MUTEX_LOCK_GUARD_H
+#endif // _LIBCPP___CXX03___MUTEX_LOCK_GUARD_H
diff --git a/libcxx/include/__cxx03/__mutex/mutex.h b/libcxx/include/__cxx03/__mutex/mutex.h
index 58adf2b1b2b0..46c7546f77e3 100644
--- a/libcxx/include/__cxx03/__mutex/mutex.h
+++ b/libcxx/include/__cxx03/__mutex/mutex.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MUTEX_MUTEX_H
-#define _LIBCPP___MUTEX_MUTEX_H
+#ifndef _LIBCPP___CXX03___MUTEX_MUTEX_H
+#define _LIBCPP___CXX03___MUTEX_MUTEX_H
#include <__cxx03/__config>
#include <__cxx03/__thread/support.h>
@@ -50,4 +50,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_HAS_NO_THREADS
-#endif // _LIBCPP___MUTEX_MUTEX_H
+#endif // _LIBCPP___CXX03___MUTEX_MUTEX_H
diff --git a/libcxx/include/__cxx03/__mutex/once_flag.h b/libcxx/include/__cxx03/__mutex/once_flag.h
index 9c467f7b274d..73c2017f3685 100644
--- a/libcxx/include/__cxx03/__mutex/once_flag.h
+++ b/libcxx/include/__cxx03/__mutex/once_flag.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MUTEX_ONCE_FLAG_H
-#define _LIBCPP___MUTEX_ONCE_FLAG_H
+#ifndef _LIBCPP___CXX03___MUTEX_ONCE_FLAG_H
+#define _LIBCPP___CXX03___MUTEX_ONCE_FLAG_H
#include <__cxx03/__config>
#include <__cxx03/__functional/invoke.h>
@@ -156,4 +156,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___MUTEX_ONCE_FLAG_H
+#endif // _LIBCPP___CXX03___MUTEX_ONCE_FLAG_H
diff --git a/libcxx/include/__cxx03/__mutex/tag_types.h b/libcxx/include/__cxx03/__mutex/tag_types.h
index c9665f1dd3a7..7beb58dabc91 100644
--- a/libcxx/include/__cxx03/__mutex/tag_types.h
+++ b/libcxx/include/__cxx03/__mutex/tag_types.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MUTEX_TAG_TYPES_H
-#define _LIBCPP___MUTEX_TAG_TYPES_H
+#ifndef _LIBCPP___CXX03___MUTEX_TAG_TYPES_H
+#define _LIBCPP___CXX03___MUTEX_TAG_TYPES_H
#include <__cxx03/__config>
@@ -41,4 +41,4 @@ constexpr adopt_lock_t adopt_lock = adopt_lock_t();
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___MUTEX_TAG_TYPES_H
+#endif // _LIBCPP___CXX03___MUTEX_TAG_TYPES_H
diff --git a/libcxx/include/__cxx03/__mutex/unique_lock.h b/libcxx/include/__cxx03/__mutex/unique_lock.h
index 8dd620d0d5a8..1911da382873 100644
--- a/libcxx/include/__cxx03/__mutex/unique_lock.h
+++ b/libcxx/include/__cxx03/__mutex/unique_lock.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___MUTEX_UNIQUE_LOCK_H
-#define _LIBCPP___MUTEX_UNIQUE_LOCK_H
+#ifndef _LIBCPP___CXX03___MUTEX_UNIQUE_LOCK_H
+#define _LIBCPP___CXX03___MUTEX_UNIQUE_LOCK_H
#include <__cxx03/__chrono/duration.h>
#include <__cxx03/__chrono/time_point.h>
@@ -174,4 +174,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_HAS_NO_THREADS
-#endif // _LIBCPP___MUTEX_UNIQUE_LOCK_H
+#endif // _LIBCPP___CXX03___MUTEX_UNIQUE_LOCK_H
diff --git a/libcxx/include/__cxx03/__node_handle b/libcxx/include/__cxx03/__node_handle
index 6b3af1507c7b..6b272f9a49ff 100644
--- a/libcxx/include/__cxx03/__node_handle
+++ b/libcxx/include/__cxx03/__node_handle
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___NODE_HANDLE
-#define _LIBCPP___NODE_HANDLE
+#ifndef _LIBCPP___CXX03___NODE_HANDLE
+#define _LIBCPP___CXX03___NODE_HANDLE
/*
@@ -206,4 +206,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___NODE_HANDLE
+#endif // _LIBCPP___CXX03___NODE_HANDLE
diff --git a/libcxx/include/__cxx03/__numeric/accumulate.h b/libcxx/include/__cxx03/__numeric/accumulate.h
index 243a4b05b97a..28309201bb06 100644
--- a/libcxx/include/__cxx03/__numeric/accumulate.h
+++ b/libcxx/include/__cxx03/__numeric/accumulate.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___NUMERIC_ACCUMULATE_H
-#define _LIBCPP___NUMERIC_ACCUMULATE_H
+#ifndef _LIBCPP___CXX03___NUMERIC_ACCUMULATE_H
+#define _LIBCPP___CXX03___NUMERIC_ACCUMULATE_H
#include <__cxx03/__config>
#include <__cxx03/__utility/move.h>
@@ -50,4 +50,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___NUMERIC_ACCUMULATE_H
+#endif // _LIBCPP___CXX03___NUMERIC_ACCUMULATE_H
diff --git a/libcxx/include/__cxx03/__numeric/adjacent_difference.h b/libcxx/include/__cxx03/__numeric/adjacent_difference.h
index a07d46a3892c..ec7ba7c27f85 100644
--- a/libcxx/include/__cxx03/__numeric/adjacent_difference.h
+++ b/libcxx/include/__cxx03/__numeric/adjacent_difference.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___NUMERIC_ADJACENT_DIFFERENCE_H
-#define _LIBCPP___NUMERIC_ADJACENT_DIFFERENCE_H
+#ifndef _LIBCPP___CXX03___NUMERIC_ADJACENT_DIFFERENCE_H
+#define _LIBCPP___CXX03___NUMERIC_ADJACENT_DIFFERENCE_H
#include <__cxx03/__config>
#include <__cxx03/__iterator/iterator_traits.h>
@@ -65,4 +65,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___NUMERIC_ADJACENT_DIFFERENCE_H
+#endif // _LIBCPP___CXX03___NUMERIC_ADJACENT_DIFFERENCE_H
diff --git a/libcxx/include/__cxx03/__numeric/exclusive_scan.h b/libcxx/include/__cxx03/__numeric/exclusive_scan.h
index 70b85783ed22..877deb22fc33 100644
--- a/libcxx/include/__cxx03/__numeric/exclusive_scan.h
+++ b/libcxx/include/__cxx03/__numeric/exclusive_scan.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___NUMERIC_EXCLUSIVE_SCAN_H
-#define _LIBCPP___NUMERIC_EXCLUSIVE_SCAN_H
+#ifndef _LIBCPP___CXX03___NUMERIC_EXCLUSIVE_SCAN_H
+#define _LIBCPP___CXX03___NUMERIC_EXCLUSIVE_SCAN_H
#include <__cxx03/__config>
#include <__cxx03/__functional/operations.h>
@@ -55,4 +55,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___NUMERIC_EXCLUSIVE_SCAN_H
+#endif // _LIBCPP___CXX03___NUMERIC_EXCLUSIVE_SCAN_H
diff --git a/libcxx/include/__cxx03/__numeric/gcd_lcm.h b/libcxx/include/__cxx03/__numeric/gcd_lcm.h
index 4d1a88f23bf4..e6d3b78fdfdd 100644
--- a/libcxx/include/__cxx03/__numeric/gcd_lcm.h
+++ b/libcxx/include/__cxx03/__numeric/gcd_lcm.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___NUMERIC_GCD_LCM_H
-#define _LIBCPP___NUMERIC_GCD_LCM_H
+#ifndef _LIBCPP___CXX03___NUMERIC_GCD_LCM_H
+#define _LIBCPP___CXX03___NUMERIC_GCD_LCM_H
#include <__cxx03/__algorithm/min.h>
#include <__cxx03/__assert>
@@ -129,4 +129,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___NUMERIC_GCD_LCM_H
+#endif // _LIBCPP___CXX03___NUMERIC_GCD_LCM_H
diff --git a/libcxx/include/__cxx03/__numeric/inclusive_scan.h b/libcxx/include/__cxx03/__numeric/inclusive_scan.h
index 352161cafd49..5cac37dfc7b0 100644
--- a/libcxx/include/__cxx03/__numeric/inclusive_scan.h
+++ b/libcxx/include/__cxx03/__numeric/inclusive_scan.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___NUMERIC_INCLUSIVE_SCAN_H
-#define _LIBCPP___NUMERIC_INCLUSIVE_SCAN_H
+#ifndef _LIBCPP___CXX03___NUMERIC_INCLUSIVE_SCAN_H
+#define _LIBCPP___CXX03___NUMERIC_INCLUSIVE_SCAN_H
#include <__cxx03/__config>
#include <__cxx03/__functional/operations.h>
@@ -56,4 +56,4 @@ inclusive_scan(_InputIterator __first, _InputIterator __last, _OutputIterator __
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___NUMERIC_INCLUSIVE_SCAN_H
+#endif // _LIBCPP___CXX03___NUMERIC_INCLUSIVE_SCAN_H
diff --git a/libcxx/include/__cxx03/__numeric/inner_product.h b/libcxx/include/__cxx03/__numeric/inner_product.h
index a5369438c7e3..12615c3e0213 100644
--- a/libcxx/include/__cxx03/__numeric/inner_product.h
+++ b/libcxx/include/__cxx03/__numeric/inner_product.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___NUMERIC_INNER_PRODUCT_H
-#define _LIBCPP___NUMERIC_INNER_PRODUCT_H
+#ifndef _LIBCPP___CXX03___NUMERIC_INNER_PRODUCT_H
+#define _LIBCPP___CXX03___NUMERIC_INNER_PRODUCT_H
#include <__cxx03/__config>
#include <__cxx03/__utility/move.h>
@@ -55,4 +55,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___NUMERIC_INNER_PRODUCT_H
+#endif // _LIBCPP___CXX03___NUMERIC_INNER_PRODUCT_H
diff --git a/libcxx/include/__cxx03/__numeric/iota.h b/libcxx/include/__cxx03/__numeric/iota.h
index fe9fb9fc37da..f97c124700ae 100644
--- a/libcxx/include/__cxx03/__numeric/iota.h
+++ b/libcxx/include/__cxx03/__numeric/iota.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___NUMERIC_IOTA_H
-#define _LIBCPP___NUMERIC_IOTA_H
+#ifndef _LIBCPP___CXX03___NUMERIC_IOTA_H
+#define _LIBCPP___CXX03___NUMERIC_IOTA_H
#include <__cxx03/__config>
@@ -27,4 +27,4 @@ iota(_ForwardIterator __first, _ForwardIterator __last, _Tp __value) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___NUMERIC_IOTA_H
+#endif // _LIBCPP___CXX03___NUMERIC_IOTA_H
diff --git a/libcxx/include/__cxx03/__numeric/midpoint.h b/libcxx/include/__cxx03/__numeric/midpoint.h
index 2244354c7930..91771df1f77b 100644
--- a/libcxx/include/__cxx03/__numeric/midpoint.h
+++ b/libcxx/include/__cxx03/__numeric/midpoint.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___NUMERIC_MIDPOINT_H
-#define _LIBCPP___NUMERIC_MIDPOINT_H
+#ifndef _LIBCPP___CXX03___NUMERIC_MIDPOINT_H
+#define _LIBCPP___CXX03___NUMERIC_MIDPOINT_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -85,4 +85,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___NUMERIC_MIDPOINT_H
+#endif // _LIBCPP___CXX03___NUMERIC_MIDPOINT_H
diff --git a/libcxx/include/__cxx03/__numeric/partial_sum.h b/libcxx/include/__cxx03/__numeric/partial_sum.h
index 1f9aa36233dd..8dead17f1a5d 100644
--- a/libcxx/include/__cxx03/__numeric/partial_sum.h
+++ b/libcxx/include/__cxx03/__numeric/partial_sum.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___NUMERIC_PARTIAL_SUM_H
-#define _LIBCPP___NUMERIC_PARTIAL_SUM_H
+#ifndef _LIBCPP___CXX03___NUMERIC_PARTIAL_SUM_H
+#define _LIBCPP___CXX03___NUMERIC_PARTIAL_SUM_H
#include <__cxx03/__config>
#include <__cxx03/__iterator/iterator_traits.h>
@@ -63,4 +63,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___NUMERIC_PARTIAL_SUM_H
+#endif // _LIBCPP___CXX03___NUMERIC_PARTIAL_SUM_H
diff --git a/libcxx/include/__cxx03/__numeric/pstl.h b/libcxx/include/__cxx03/__numeric/pstl.h
index 365f6fabb147..3311b4066354 100644
--- a/libcxx/include/__cxx03/__numeric/pstl.h
+++ b/libcxx/include/__cxx03/__numeric/pstl.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___NUMERIC_PSTL_H
-#define _LIBCPP___NUMERIC_PSTL_H
+#ifndef _LIBCPP___CXX03___NUMERIC_PSTL_H
+#define _LIBCPP___CXX03___NUMERIC_PSTL_H
#include <__cxx03/__config>
@@ -171,4 +171,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___NUMERIC_PSTL_H
+#endif // _LIBCPP___CXX03___NUMERIC_PSTL_H
diff --git a/libcxx/include/__cxx03/__numeric/reduce.h b/libcxx/include/__cxx03/__numeric/reduce.h
index 039954498043..628951371f95 100644
--- a/libcxx/include/__cxx03/__numeric/reduce.h
+++ b/libcxx/include/__cxx03/__numeric/reduce.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___NUMERIC_REDUCE_H
-#define _LIBCPP___NUMERIC_REDUCE_H
+#ifndef _LIBCPP___CXX03___NUMERIC_REDUCE_H
+#define _LIBCPP___CXX03___NUMERIC_REDUCE_H
#include <__cxx03/__config>
#include <__cxx03/__functional/operations.h>
@@ -50,4 +50,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___NUMERIC_REDUCE_H
+#endif // _LIBCPP___CXX03___NUMERIC_REDUCE_H
diff --git a/libcxx/include/__cxx03/__numeric/saturation_arithmetic.h b/libcxx/include/__cxx03/__numeric/saturation_arithmetic.h
index 972428e36a77..d4da500beaa1 100644
--- a/libcxx/include/__cxx03/__numeric/saturation_arithmetic.h
+++ b/libcxx/include/__cxx03/__numeric/saturation_arithmetic.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___NUMERIC_SATURATION_ARITHMETIC_H
-#define _LIBCPP___NUMERIC_SATURATION_ARITHMETIC_H
+#ifndef _LIBCPP___CXX03___NUMERIC_SATURATION_ARITHMETIC_H
+#define _LIBCPP___CXX03___NUMERIC_SATURATION_ARITHMETIC_H
#include <__cxx03/__assert>
#include <__cxx03/__concepts/arithmetic.h>
@@ -142,4 +142,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___NUMERIC_SATURATION_ARITHMETIC_H
+#endif // _LIBCPP___CXX03___NUMERIC_SATURATION_ARITHMETIC_H
diff --git a/libcxx/include/__cxx03/__numeric/transform_exclusive_scan.h b/libcxx/include/__cxx03/__numeric/transform_exclusive_scan.h
index 5857c75eb209..034c7c929964 100644
--- a/libcxx/include/__cxx03/__numeric/transform_exclusive_scan.h
+++ b/libcxx/include/__cxx03/__numeric/transform_exclusive_scan.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___NUMERIC_TRANSFORM_EXCLUSIVE_SCAN_H
-#define _LIBCPP___NUMERIC_TRANSFORM_EXCLUSIVE_SCAN_H
+#ifndef _LIBCPP___CXX03___NUMERIC_TRANSFORM_EXCLUSIVE_SCAN_H
+#define _LIBCPP___CXX03___NUMERIC_TRANSFORM_EXCLUSIVE_SCAN_H
#include <__cxx03/__config>
@@ -39,4 +39,4 @@ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _OutputIterator transform_ex
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___NUMERIC_TRANSFORM_EXCLUSIVE_SCAN_H
+#endif // _LIBCPP___CXX03___NUMERIC_TRANSFORM_EXCLUSIVE_SCAN_H
diff --git a/libcxx/include/__cxx03/__numeric/transform_inclusive_scan.h b/libcxx/include/__cxx03/__numeric/transform_inclusive_scan.h
index 31f7d52b4261..00e9b1675b69 100644
--- a/libcxx/include/__cxx03/__numeric/transform_inclusive_scan.h
+++ b/libcxx/include/__cxx03/__numeric/transform_inclusive_scan.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___NUMERIC_TRANSFORM_INCLUSIVE_SCAN_H
-#define _LIBCPP___NUMERIC_TRANSFORM_INCLUSIVE_SCAN_H
+#ifndef _LIBCPP___CXX03___NUMERIC_TRANSFORM_INCLUSIVE_SCAN_H
+#define _LIBCPP___CXX03___NUMERIC_TRANSFORM_INCLUSIVE_SCAN_H
#include <__cxx03/__config>
#include <__cxx03/__iterator/iterator_traits.h>
@@ -49,4 +49,4 @@ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _OutputIterator transform_in
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___NUMERIC_TRANSFORM_INCLUSIVE_SCAN_H
+#endif // _LIBCPP___CXX03___NUMERIC_TRANSFORM_INCLUSIVE_SCAN_H
diff --git a/libcxx/include/__cxx03/__numeric/transform_reduce.h b/libcxx/include/__cxx03/__numeric/transform_reduce.h
index 5e494ff5d1b7..5ec1a59483f0 100644
--- a/libcxx/include/__cxx03/__numeric/transform_reduce.h
+++ b/libcxx/include/__cxx03/__numeric/transform_reduce.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___NUMERIC_TRANSFORM_REDUCE_H
-#define _LIBCPP___NUMERIC_TRANSFORM_REDUCE_H
+#ifndef _LIBCPP___CXX03___NUMERIC_TRANSFORM_REDUCE_H
+#define _LIBCPP___CXX03___NUMERIC_TRANSFORM_REDUCE_H
#include <__cxx03/__config>
#include <__cxx03/__functional/operations.h>
@@ -56,4 +56,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___NUMERIC_TRANSFORM_REDUCE_H
+#endif // _LIBCPP___CXX03___NUMERIC_TRANSFORM_REDUCE_H
diff --git a/libcxx/include/__cxx03/__ostream/basic_ostream.h b/libcxx/include/__cxx03/__ostream/basic_ostream.h
index 1f0fb9acd387..593ddc501c05 100644
--- a/libcxx/include/__cxx03/__ostream/basic_ostream.h
+++ b/libcxx/include/__cxx03/__ostream/basic_ostream.h
@@ -6,8 +6,8 @@
//
//===---------------------------------------------------------------------===//
-#ifndef _LIBCPP___OSTREAM_BASIC_OSTREAM_H
-#define _LIBCPP___OSTREAM_BASIC_OSTREAM_H
+#ifndef _LIBCPP___CXX03___OSTREAM_BASIC_OSTREAM_H
+#define _LIBCPP___CXX03___OSTREAM_BASIC_OSTREAM_H
#include <__cxx03/__config>
#include <__cxx03/__exception/operations.h>
@@ -857,4 +857,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___OSTREAM_BASIC_OSTREAM_H
+#endif // _LIBCPP___CXX03___OSTREAM_BASIC_OSTREAM_H
diff --git a/libcxx/include/__cxx03/__ostream/print.h b/libcxx/include/__cxx03/__ostream/print.h
index b18308140518..d7943efd60f8 100644
--- a/libcxx/include/__cxx03/__ostream/print.h
+++ b/libcxx/include/__cxx03/__ostream/print.h
@@ -6,8 +6,8 @@
//
//===---------------------------------------------------------------------===//
-#ifndef _LIBCPP___OSTREAM_PRINT_H
-#define _LIBCPP___OSTREAM_PRINT_H
+#ifndef _LIBCPP___CXX03___OSTREAM_PRINT_H
+#define _LIBCPP___CXX03___OSTREAM_PRINT_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/ostream.h>
@@ -176,4 +176,4 @@ _LIBCPP_HIDE_FROM_ABI inline void println(ostream& __os) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___OSTREAM_PRINT_H
+#endif // _LIBCPP___CXX03___OSTREAM_PRINT_H
diff --git a/libcxx/include/__cxx03/__pstl/backend.h b/libcxx/include/__cxx03/__pstl/backend.h
index 9bc243746df0..7e39c6dbc0f8 100644
--- a/libcxx/include/__cxx03/__pstl/backend.h
+++ b/libcxx/include/__cxx03/__pstl/backend.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___PSTL_BACKEND_H
-#define _LIBCPP___PSTL_BACKEND_H
+#ifndef _LIBCPP___CXX03___PSTL_BACKEND_H
+#define _LIBCPP___CXX03___PSTL_BACKEND_H
#include <__cxx03/__config>
#include <__cxx03/__pstl/backend_fwd.h>
@@ -32,4 +32,4 @@ _LIBCPP_PUSH_MACROS
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___PSTL_BACKEND_H
+#endif // _LIBCPP___CXX03___PSTL_BACKEND_H
diff --git a/libcxx/include/__cxx03/__pstl/backend_fwd.h b/libcxx/include/__cxx03/__pstl/backend_fwd.h
index 56c8c043e4d2..e9abd8e99c73 100644
--- a/libcxx/include/__cxx03/__pstl/backend_fwd.h
+++ b/libcxx/include/__cxx03/__pstl/backend_fwd.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___PSTL_BACKEND_FWD_H
-#define _LIBCPP___PSTL_BACKEND_FWD_H
+#ifndef _LIBCPP___CXX03___PSTL_BACKEND_FWD_H
+#define _LIBCPP___CXX03___PSTL_BACKEND_FWD_H
#include <__cxx03/__config>
@@ -298,4 +298,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___PSTL_BACKEND_FWD_H
+#endif // _LIBCPP___CXX03___PSTL_BACKEND_FWD_H
diff --git a/libcxx/include/__cxx03/__pstl/backends/default.h b/libcxx/include/__cxx03/__pstl/backends/default.h
index 2ad388ae50d3..7f7a5325c7d1 100644
--- a/libcxx/include/__cxx03/__pstl/backends/default.h
+++ b/libcxx/include/__cxx03/__pstl/backends/default.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___PSTL_BACKENDS_DEFAULT_H
-#define _LIBCPP___PSTL_BACKENDS_DEFAULT_H
+#ifndef _LIBCPP___CXX03___PSTL_BACKENDS_DEFAULT_H
+#define _LIBCPP___CXX03___PSTL_BACKENDS_DEFAULT_H
#include <__cxx03/__algorithm/copy_n.h>
#include <__cxx03/__algorithm/equal.h>
@@ -500,4 +500,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___PSTL_BACKENDS_DEFAULT_H
+#endif // _LIBCPP___CXX03___PSTL_BACKENDS_DEFAULT_H
diff --git a/libcxx/include/__cxx03/__pstl/backends/libdispatch.h b/libcxx/include/__cxx03/__pstl/backends/libdispatch.h
index fb811917025a..80260ca5b7a5 100644
--- a/libcxx/include/__cxx03/__pstl/backends/libdispatch.h
+++ b/libcxx/include/__cxx03/__pstl/backends/libdispatch.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___PSTL_BACKENDS_LIBDISPATCH_H
-#define _LIBCPP___PSTL_BACKENDS_LIBDISPATCH_H
+#ifndef _LIBCPP___CXX03___PSTL_BACKENDS_LIBDISPATCH_H
+#define _LIBCPP___CXX03___PSTL_BACKENDS_LIBDISPATCH_H
#include <__cxx03/__algorithm/inplace_merge.h>
#include <__cxx03/__algorithm/lower_bound.h>
@@ -394,4 +394,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___PSTL_BACKENDS_LIBDISPATCH_H
+#endif // _LIBCPP___CXX03___PSTL_BACKENDS_LIBDISPATCH_H
diff --git a/libcxx/include/__cxx03/__pstl/backends/serial.h b/libcxx/include/__cxx03/__pstl/backends/serial.h
index 699c1035d911..d0de7a117778 100644
--- a/libcxx/include/__cxx03/__pstl/backends/serial.h
+++ b/libcxx/include/__cxx03/__pstl/backends/serial.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___PSTL_BACKENDS_SERIAL_H
-#define _LIBCPP___PSTL_BACKENDS_SERIAL_H
+#ifndef _LIBCPP___CXX03___PSTL_BACKENDS_SERIAL_H
+#define _LIBCPP___CXX03___PSTL_BACKENDS_SERIAL_H
#include <__cxx03/__algorithm/find_if.h>
#include <__cxx03/__algorithm/for_each.h>
@@ -178,4 +178,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___PSTL_BACKENDS_SERIAL_H
+#endif // _LIBCPP___CXX03___PSTL_BACKENDS_SERIAL_H
diff --git a/libcxx/include/__cxx03/__pstl/backends/std_thread.h b/libcxx/include/__cxx03/__pstl/backends/std_thread.h
index 06cd1a1c03c4..487ddda57aa2 100644
--- a/libcxx/include/__cxx03/__pstl/backends/std_thread.h
+++ b/libcxx/include/__cxx03/__pstl/backends/std_thread.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___PSTL_BACKENDS_STD_THREAD_H
-#define _LIBCPP___PSTL_BACKENDS_STD_THREAD_H
+#ifndef _LIBCPP___CXX03___PSTL_BACKENDS_STD_THREAD_H
+#define _LIBCPP___CXX03___PSTL_BACKENDS_STD_THREAD_H
#include <__cxx03/__config>
#include <__cxx03/__pstl/backend_fwd.h>
@@ -133,4 +133,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___PSTL_BACKENDS_STD_THREAD_H
+#endif // _LIBCPP___CXX03___PSTL_BACKENDS_STD_THREAD_H
diff --git a/libcxx/include/__cxx03/__pstl/cpu_algos/any_of.h b/libcxx/include/__cxx03/__pstl/cpu_algos/any_of.h
index b1b51d1679bf..7828a7026e7d 100644
--- a/libcxx/include/__cxx03/__pstl/cpu_algos/any_of.h
+++ b/libcxx/include/__cxx03/__pstl/cpu_algos/any_of.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___PSTL_CPU_ALGOS_ANY_OF_H
-#define _LIBCPP___PSTL_CPU_ALGOS_ANY_OF_H
+#ifndef _LIBCPP___CXX03___PSTL_CPU_ALGOS_ANY_OF_H
+#define _LIBCPP___CXX03___PSTL_CPU_ALGOS_ANY_OF_H
#include <__cxx03/__algorithm/any_of.h>
#include <__cxx03/__assert>
@@ -96,4 +96,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___PSTL_CPU_ALGOS_ANY_OF_H
+#endif // _LIBCPP___CXX03___PSTL_CPU_ALGOS_ANY_OF_H
diff --git a/libcxx/include/__cxx03/__pstl/cpu_algos/cpu_traits.h b/libcxx/include/__cxx03/__pstl/cpu_algos/cpu_traits.h
index 9538b5c94957..770f5dd7b45d 100644
--- a/libcxx/include/__cxx03/__pstl/cpu_algos/cpu_traits.h
+++ b/libcxx/include/__cxx03/__pstl/cpu_algos/cpu_traits.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___PSTL_CPU_ALGOS_CPU_TRAITS_H
-#define _LIBCPP___PSTL_CPU_ALGOS_CPU_TRAITS_H
+#ifndef _LIBCPP___CXX03___PSTL_CPU_ALGOS_CPU_TRAITS_H
+#define _LIBCPP___CXX03___PSTL_CPU_ALGOS_CPU_TRAITS_H
#include <__cxx03/__config>
#include <__cxx03/cstddef>
@@ -83,4 +83,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___PSTL_CPU_ALGOS_CPU_TRAITS_H
+#endif // _LIBCPP___CXX03___PSTL_CPU_ALGOS_CPU_TRAITS_H
diff --git a/libcxx/include/__cxx03/__pstl/cpu_algos/fill.h b/libcxx/include/__cxx03/__pstl/cpu_algos/fill.h
index 19fac90c4401..a101efb632e6 100644
--- a/libcxx/include/__cxx03/__pstl/cpu_algos/fill.h
+++ b/libcxx/include/__cxx03/__pstl/cpu_algos/fill.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___PSTL_CPU_ALGOS_FILL_H
-#define _LIBCPP___PSTL_CPU_ALGOS_FILL_H
+#ifndef _LIBCPP___CXX03___PSTL_CPU_ALGOS_FILL_H
+#define _LIBCPP___CXX03___PSTL_CPU_ALGOS_FILL_H
#include <__cxx03/__algorithm/fill.h>
#include <__cxx03/__assert>
@@ -63,4 +63,4 @@ struct __cpu_parallel_fill {
} // namespace __pstl
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___PSTL_CPU_ALGOS_FILL_H
+#endif // _LIBCPP___CXX03___PSTL_CPU_ALGOS_FILL_H
diff --git a/libcxx/include/__cxx03/__pstl/cpu_algos/find_if.h b/libcxx/include/__cxx03/__pstl/cpu_algos/find_if.h
index 2be1aad7ae6b..c7393c41c1f4 100644
--- a/libcxx/include/__cxx03/__pstl/cpu_algos/find_if.h
+++ b/libcxx/include/__cxx03/__pstl/cpu_algos/find_if.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___PSTL_CPU_ALGOS_FIND_IF_H
-#define _LIBCPP___PSTL_CPU_ALGOS_FIND_IF_H
+#ifndef _LIBCPP___CXX03___PSTL_CPU_ALGOS_FIND_IF_H
+#define _LIBCPP___CXX03___PSTL_CPU_ALGOS_FIND_IF_H
#include <__cxx03/__algorithm/find_if.h>
#include <__cxx03/__assert>
@@ -134,4 +134,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___PSTL_CPU_ALGOS_FIND_IF_H
+#endif // _LIBCPP___CXX03___PSTL_CPU_ALGOS_FIND_IF_H
diff --git a/libcxx/include/__cxx03/__pstl/cpu_algos/for_each.h b/libcxx/include/__cxx03/__pstl/cpu_algos/for_each.h
index 4f6f2e87342a..9362f56b323b 100644
--- a/libcxx/include/__cxx03/__pstl/cpu_algos/for_each.h
+++ b/libcxx/include/__cxx03/__pstl/cpu_algos/for_each.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___PSTL_CPU_ALGOS_FOR_EACH_H
-#define _LIBCPP___PSTL_CPU_ALGOS_FOR_EACH_H
+#ifndef _LIBCPP___CXX03___PSTL_CPU_ALGOS_FOR_EACH_H
+#define _LIBCPP___CXX03___PSTL_CPU_ALGOS_FOR_EACH_H
#include <__cxx03/__algorithm/for_each.h>
#include <__cxx03/__assert>
@@ -63,4 +63,4 @@ struct __cpu_parallel_for_each {
} // namespace __pstl
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___PSTL_CPU_ALGOS_FOR_EACH_H
+#endif // _LIBCPP___CXX03___PSTL_CPU_ALGOS_FOR_EACH_H
diff --git a/libcxx/include/__cxx03/__pstl/cpu_algos/merge.h b/libcxx/include/__cxx03/__pstl/cpu_algos/merge.h
index 0feb510dc60f..9bab8b4838ef 100644
--- a/libcxx/include/__cxx03/__pstl/cpu_algos/merge.h
+++ b/libcxx/include/__cxx03/__pstl/cpu_algos/merge.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___PSTL_CPU_ALGOS_MERGE_H
-#define _LIBCPP___PSTL_CPU_ALGOS_MERGE_H
+#ifndef _LIBCPP___CXX03___PSTL_CPU_ALGOS_MERGE_H
+#define _LIBCPP___CXX03___PSTL_CPU_ALGOS_MERGE_H
#include <__cxx03/__algorithm/merge.h>
#include <__cxx03/__assert>
@@ -82,4 +82,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___PSTL_CPU_ALGOS_MERGE_H
+#endif // _LIBCPP___CXX03___PSTL_CPU_ALGOS_MERGE_H
diff --git a/libcxx/include/__cxx03/__pstl/cpu_algos/stable_sort.h b/libcxx/include/__cxx03/__pstl/cpu_algos/stable_sort.h
index 63be0c7ac166..c0ebb2cd0a1c 100644
--- a/libcxx/include/__cxx03/__pstl/cpu_algos/stable_sort.h
+++ b/libcxx/include/__cxx03/__pstl/cpu_algos/stable_sort.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___PSTL_CPU_ALGOS_STABLE_SORT_H
-#define _LIBCPP___PSTL_CPU_ALGOS_STABLE_SORT_H
+#ifndef _LIBCPP___CXX03___PSTL_CPU_ALGOS_STABLE_SORT_H
+#define _LIBCPP___CXX03___PSTL_CPU_ALGOS_STABLE_SORT_H
#include <__cxx03/__algorithm/stable_sort.h>
#include <__cxx03/__config>
@@ -44,4 +44,4 @@ struct __cpu_parallel_stable_sort {
} // namespace __pstl
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___PSTL_CPU_ALGOS_STABLE_SORT_H
+#endif // _LIBCPP___CXX03___PSTL_CPU_ALGOS_STABLE_SORT_H
diff --git a/libcxx/include/__cxx03/__pstl/cpu_algos/transform.h b/libcxx/include/__cxx03/__pstl/cpu_algos/transform.h
index d82bbb588a99..500e110ac7e2 100644
--- a/libcxx/include/__cxx03/__pstl/cpu_algos/transform.h
+++ b/libcxx/include/__cxx03/__pstl/cpu_algos/transform.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___PSTL_CPU_ALGOS_TRANSFORM_H
-#define _LIBCPP___PSTL_CPU_ALGOS_TRANSFORM_H
+#ifndef _LIBCPP___CXX03___PSTL_CPU_ALGOS_TRANSFORM_H
+#define _LIBCPP___CXX03___PSTL_CPU_ALGOS_TRANSFORM_H
#include <__cxx03/__algorithm/transform.h>
#include <__cxx03/__assert>
@@ -150,4 +150,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___PSTL_CPU_ALGOS_TRANSFORM_H
+#endif // _LIBCPP___CXX03___PSTL_CPU_ALGOS_TRANSFORM_H
diff --git a/libcxx/include/__cxx03/__pstl/cpu_algos/transform_reduce.h b/libcxx/include/__cxx03/__pstl/cpu_algos/transform_reduce.h
index 52f0ea361b3c..38764d963fc5 100644
--- a/libcxx/include/__cxx03/__pstl/cpu_algos/transform_reduce.h
+++ b/libcxx/include/__cxx03/__pstl/cpu_algos/transform_reduce.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___PSTL_CPU_ALGOS_TRANSFORM_REDUCE_H
-#define _LIBCPP___PSTL_CPU_ALGOS_TRANSFORM_REDUCE_H
+#ifndef _LIBCPP___CXX03___PSTL_CPU_ALGOS_TRANSFORM_REDUCE_H
+#define _LIBCPP___CXX03___PSTL_CPU_ALGOS_TRANSFORM_REDUCE_H
#include <__cxx03/__assert>
#include <__cxx03/__config>
@@ -213,4 +213,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___PSTL_CPU_ALGOS_TRANSFORM_REDUCE_H
+#endif // _LIBCPP___CXX03___PSTL_CPU_ALGOS_TRANSFORM_REDUCE_H
diff --git a/libcxx/include/__cxx03/__pstl/dispatch.h b/libcxx/include/__cxx03/__pstl/dispatch.h
index e223e59bb129..39857d0eafd6 100644
--- a/libcxx/include/__cxx03/__pstl/dispatch.h
+++ b/libcxx/include/__cxx03/__pstl/dispatch.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___PSTL_DISPATCH_H
-#define _LIBCPP___PSTL_DISPATCH_H
+#ifndef _LIBCPP___CXX03___PSTL_DISPATCH_H
+#define _LIBCPP___CXX03___PSTL_DISPATCH_H
#include <__cxx03/__config>
#include <__cxx03/__pstl/backend_fwd.h>
@@ -63,4 +63,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___PSTL_DISPATCH_H
+#endif // _LIBCPP___CXX03___PSTL_DISPATCH_H
diff --git a/libcxx/include/__cxx03/__pstl/handle_exception.h b/libcxx/include/__cxx03/__pstl/handle_exception.h
index 562617a1786b..e21146fa1eac 100644
--- a/libcxx/include/__cxx03/__pstl/handle_exception.h
+++ b/libcxx/include/__cxx03/__pstl/handle_exception.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___PSTL_HANDLE_EXCEPTION_H
-#define _LIBCPP___PSTL_HANDLE_EXCEPTION_H
+#ifndef _LIBCPP___CXX03___PSTL_HANDLE_EXCEPTION_H
+#define _LIBCPP___CXX03___PSTL_HANDLE_EXCEPTION_H
#include <__cxx03/__config>
#include <__cxx03/__utility/forward.h>
@@ -54,4 +54,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___PSTL_HANDLE_EXCEPTION_H
+#endif // _LIBCPP___CXX03___PSTL_HANDLE_EXCEPTION_H
diff --git a/libcxx/include/__cxx03/__random/bernoulli_distribution.h b/libcxx/include/__cxx03/__random/bernoulli_distribution.h
index 28536442fd1d..3c35e8c39e23 100644
--- a/libcxx/include/__cxx03/__random/bernoulli_distribution.h
+++ b/libcxx/include/__cxx03/__random/bernoulli_distribution.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_BERNOULLI_DISTRIBUTION_H
-#define _LIBCPP___RANDOM_BERNOULLI_DISTRIBUTION_H
+#ifndef _LIBCPP___CXX03___RANDOM_BERNOULLI_DISTRIBUTION_H
+#define _LIBCPP___CXX03___RANDOM_BERNOULLI_DISTRIBUTION_H
#include <__cxx03/__config>
#include <__cxx03/__random/is_valid.h>
@@ -120,4 +120,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_BERNOULLI_DISTRIBUTION_H
+#endif // _LIBCPP___CXX03___RANDOM_BERNOULLI_DISTRIBUTION_H
diff --git a/libcxx/include/__cxx03/__random/binomial_distribution.h b/libcxx/include/__cxx03/__random/binomial_distribution.h
index 3ca98e84082e..5b703749fc7d 100644
--- a/libcxx/include/__cxx03/__random/binomial_distribution.h
+++ b/libcxx/include/__cxx03/__random/binomial_distribution.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_BINOMIAL_DISTRIBUTION_H
-#define _LIBCPP___RANDOM_BINOMIAL_DISTRIBUTION_H
+#ifndef _LIBCPP___CXX03___RANDOM_BINOMIAL_DISTRIBUTION_H
+#define _LIBCPP___CXX03___RANDOM_BINOMIAL_DISTRIBUTION_H
#include <__cxx03/__config>
#include <__cxx03/__random/is_valid.h>
@@ -195,4 +195,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_BINOMIAL_DISTRIBUTION_H
+#endif // _LIBCPP___CXX03___RANDOM_BINOMIAL_DISTRIBUTION_H
diff --git a/libcxx/include/__cxx03/__random/cauchy_distribution.h b/libcxx/include/__cxx03/__random/cauchy_distribution.h
index b84ba0370314..cbec0b6f8555 100644
--- a/libcxx/include/__cxx03/__random/cauchy_distribution.h
+++ b/libcxx/include/__cxx03/__random/cauchy_distribution.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_CAUCHY_DISTRIBUTION_H
-#define _LIBCPP___RANDOM_CAUCHY_DISTRIBUTION_H
+#ifndef _LIBCPP___CXX03___RANDOM_CAUCHY_DISTRIBUTION_H
+#define _LIBCPP___CXX03___RANDOM_CAUCHY_DISTRIBUTION_H
#include <__cxx03/__config>
#include <__cxx03/__random/is_valid.h>
@@ -136,4 +136,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_CAUCHY_DISTRIBUTION_H
+#endif // _LIBCPP___CXX03___RANDOM_CAUCHY_DISTRIBUTION_H
diff --git a/libcxx/include/__cxx03/__random/chi_squared_distribution.h b/libcxx/include/__cxx03/__random/chi_squared_distribution.h
index 94ba5555ce41..531c3204130d 100644
--- a/libcxx/include/__cxx03/__random/chi_squared_distribution.h
+++ b/libcxx/include/__cxx03/__random/chi_squared_distribution.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_CHI_SQUARED_DISTRIBUTION_H
-#define _LIBCPP___RANDOM_CHI_SQUARED_DISTRIBUTION_H
+#ifndef _LIBCPP___CXX03___RANDOM_CHI_SQUARED_DISTRIBUTION_H
+#define _LIBCPP___CXX03___RANDOM_CHI_SQUARED_DISTRIBUTION_H
#include <__cxx03/__config>
#include <__cxx03/__random/gamma_distribution.h>
@@ -122,4 +122,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_CHI_SQUARED_DISTRIBUTION_H
+#endif // _LIBCPP___CXX03___RANDOM_CHI_SQUARED_DISTRIBUTION_H
diff --git a/libcxx/include/__cxx03/__random/clamp_to_integral.h b/libcxx/include/__cxx03/__random/clamp_to_integral.h
index c10783aab2c0..be89db8c6a80 100644
--- a/libcxx/include/__cxx03/__random/clamp_to_integral.h
+++ b/libcxx/include/__cxx03/__random/clamp_to_integral.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_CLAMP_TO_INTEGRAL_H
-#define _LIBCPP___RANDOM_CLAMP_TO_INTEGRAL_H
+#ifndef _LIBCPP___CXX03___RANDOM_CLAMP_TO_INTEGRAL_H
+#define _LIBCPP___CXX03___RANDOM_CLAMP_TO_INTEGRAL_H
#include <__cxx03/__config>
#include <__cxx03/cmath>
@@ -56,4 +56,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_CLAMP_TO_INTEGRAL_H
+#endif // _LIBCPP___CXX03___RANDOM_CLAMP_TO_INTEGRAL_H
diff --git a/libcxx/include/__cxx03/__random/default_random_engine.h b/libcxx/include/__cxx03/__random/default_random_engine.h
index 10eb00b3594f..81fbac0b301a 100644
--- a/libcxx/include/__cxx03/__random/default_random_engine.h
+++ b/libcxx/include/__cxx03/__random/default_random_engine.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_DEFAULT_RANDOM_ENGINE_H
-#define _LIBCPP___RANDOM_DEFAULT_RANDOM_ENGINE_H
+#ifndef _LIBCPP___CXX03___RANDOM_DEFAULT_RANDOM_ENGINE_H
+#define _LIBCPP___CXX03___RANDOM_DEFAULT_RANDOM_ENGINE_H
#include <__cxx03/__config>
#include <__cxx03/__random/linear_congruential_engine.h>
@@ -22,4 +22,4 @@ typedef minstd_rand default_random_engine;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___RANDOM_DEFAULT_RANDOM_ENGINE_H
+#endif // _LIBCPP___CXX03___RANDOM_DEFAULT_RANDOM_ENGINE_H
diff --git a/libcxx/include/__cxx03/__random/discard_block_engine.h b/libcxx/include/__cxx03/__random/discard_block_engine.h
index 2a5f877b79ca..43027f103a63 100644
--- a/libcxx/include/__cxx03/__random/discard_block_engine.h
+++ b/libcxx/include/__cxx03/__random/discard_block_engine.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_DISCARD_BLOCK_ENGINE_H
-#define _LIBCPP___RANDOM_DISCARD_BLOCK_ENGINE_H
+#ifndef _LIBCPP___CXX03___RANDOM_DISCARD_BLOCK_ENGINE_H
+#define _LIBCPP___CXX03___RANDOM_DISCARD_BLOCK_ENGINE_H
#include <__cxx03/__config>
#include <__cxx03/__random/is_seed_sequence.h>
@@ -169,4 +169,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_DISCARD_BLOCK_ENGINE_H
+#endif // _LIBCPP___CXX03___RANDOM_DISCARD_BLOCK_ENGINE_H
diff --git a/libcxx/include/__cxx03/__random/discrete_distribution.h b/libcxx/include/__cxx03/__random/discrete_distribution.h
index 40b8bfb61dcc..b24948050c65 100644
--- a/libcxx/include/__cxx03/__random/discrete_distribution.h
+++ b/libcxx/include/__cxx03/__random/discrete_distribution.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_DISCRETE_DISTRIBUTION_H
-#define _LIBCPP___RANDOM_DISCRETE_DISTRIBUTION_H
+#ifndef _LIBCPP___CXX03___RANDOM_DISCRETE_DISTRIBUTION_H
+#define _LIBCPP___CXX03___RANDOM_DISCRETE_DISTRIBUTION_H
#include <__cxx03/__algorithm/upper_bound.h>
#include <__cxx03/__config>
@@ -209,4 +209,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_DISCRETE_DISTRIBUTION_H
+#endif // _LIBCPP___CXX03___RANDOM_DISCRETE_DISTRIBUTION_H
diff --git a/libcxx/include/__cxx03/__random/exponential_distribution.h b/libcxx/include/__cxx03/__random/exponential_distribution.h
index 6f49c31a1bd1..d11a6672153b 100644
--- a/libcxx/include/__cxx03/__random/exponential_distribution.h
+++ b/libcxx/include/__cxx03/__random/exponential_distribution.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_EXPONENTIAL_DISTRIBUTION_H
-#define _LIBCPP___RANDOM_EXPONENTIAL_DISTRIBUTION_H
+#ifndef _LIBCPP___CXX03___RANDOM_EXPONENTIAL_DISTRIBUTION_H
+#define _LIBCPP___CXX03___RANDOM_EXPONENTIAL_DISTRIBUTION_H
#include <__cxx03/__config>
#include <__cxx03/__random/generate_canonical.h>
@@ -129,4 +129,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_EXPONENTIAL_DISTRIBUTION_H
+#endif // _LIBCPP___CXX03___RANDOM_EXPONENTIAL_DISTRIBUTION_H
diff --git a/libcxx/include/__cxx03/__random/extreme_value_distribution.h b/libcxx/include/__cxx03/__random/extreme_value_distribution.h
index 46c466d620d5..4207e79cdd56 100644
--- a/libcxx/include/__cxx03/__random/extreme_value_distribution.h
+++ b/libcxx/include/__cxx03/__random/extreme_value_distribution.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_EXTREME_VALUE_DISTRIBUTION_H
-#define _LIBCPP___RANDOM_EXTREME_VALUE_DISTRIBUTION_H
+#ifndef _LIBCPP___CXX03___RANDOM_EXTREME_VALUE_DISTRIBUTION_H
+#define _LIBCPP___CXX03___RANDOM_EXTREME_VALUE_DISTRIBUTION_H
#include <__cxx03/__config>
#include <__cxx03/__random/is_valid.h>
@@ -136,4 +136,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_EXTREME_VALUE_DISTRIBUTION_H
+#endif // _LIBCPP___CXX03___RANDOM_EXTREME_VALUE_DISTRIBUTION_H
diff --git a/libcxx/include/__cxx03/__random/fisher_f_distribution.h b/libcxx/include/__cxx03/__random/fisher_f_distribution.h
index 45ab47df4021..f0050c73ca18 100644
--- a/libcxx/include/__cxx03/__random/fisher_f_distribution.h
+++ b/libcxx/include/__cxx03/__random/fisher_f_distribution.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_FISHER_F_DISTRIBUTION_H
-#define _LIBCPP___RANDOM_FISHER_F_DISTRIBUTION_H
+#ifndef _LIBCPP___CXX03___RANDOM_FISHER_F_DISTRIBUTION_H
+#define _LIBCPP___CXX03___RANDOM_FISHER_F_DISTRIBUTION_H
#include <__cxx03/__config>
#include <__cxx03/__random/gamma_distribution.h>
@@ -135,4 +135,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_FISHER_F_DISTRIBUTION_H
+#endif // _LIBCPP___CXX03___RANDOM_FISHER_F_DISTRIBUTION_H
diff --git a/libcxx/include/__cxx03/__random/gamma_distribution.h b/libcxx/include/__cxx03/__random/gamma_distribution.h
index 694c7219452a..a5f9917fd8f9 100644
--- a/libcxx/include/__cxx03/__random/gamma_distribution.h
+++ b/libcxx/include/__cxx03/__random/gamma_distribution.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_GAMMA_DISTRIBUTION_H
-#define _LIBCPP___RANDOM_GAMMA_DISTRIBUTION_H
+#ifndef _LIBCPP___CXX03___RANDOM_GAMMA_DISTRIBUTION_H
+#define _LIBCPP___CXX03___RANDOM_GAMMA_DISTRIBUTION_H
#include <__cxx03/__config>
#include <__cxx03/__random/exponential_distribution.h>
@@ -178,4 +178,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_GAMMA_DISTRIBUTION_H
+#endif // _LIBCPP___CXX03___RANDOM_GAMMA_DISTRIBUTION_H
diff --git a/libcxx/include/__cxx03/__random/generate_canonical.h b/libcxx/include/__cxx03/__random/generate_canonical.h
index 363f118c4f7d..deea98fd0314 100644
--- a/libcxx/include/__cxx03/__random/generate_canonical.h
+++ b/libcxx/include/__cxx03/__random/generate_canonical.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_GENERATE_CANONICAL_H
-#define _LIBCPP___RANDOM_GENERATE_CANONICAL_H
+#ifndef _LIBCPP___CXX03___RANDOM_GENERATE_CANONICAL_H
+#define _LIBCPP___CXX03___RANDOM_GENERATE_CANONICAL_H
#include <__cxx03/__config>
#include <__cxx03/__random/log2.h>
@@ -48,4 +48,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_GENERATE_CANONICAL_H
+#endif // _LIBCPP___CXX03___RANDOM_GENERATE_CANONICAL_H
diff --git a/libcxx/include/__cxx03/__random/geometric_distribution.h b/libcxx/include/__cxx03/__random/geometric_distribution.h
index 3fe06792da85..85ca5d8ebbed 100644
--- a/libcxx/include/__cxx03/__random/geometric_distribution.h
+++ b/libcxx/include/__cxx03/__random/geometric_distribution.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_GEOMETRIC_DISTRIBUTION_H
-#define _LIBCPP___RANDOM_GEOMETRIC_DISTRIBUTION_H
+#ifndef _LIBCPP___CXX03___RANDOM_GEOMETRIC_DISTRIBUTION_H
+#define _LIBCPP___CXX03___RANDOM_GEOMETRIC_DISTRIBUTION_H
#include <__cxx03/__config>
#include <__cxx03/__random/is_valid.h>
@@ -117,4 +117,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_GEOMETRIC_DISTRIBUTION_H
+#endif // _LIBCPP___CXX03___RANDOM_GEOMETRIC_DISTRIBUTION_H
diff --git a/libcxx/include/__cxx03/__random/independent_bits_engine.h b/libcxx/include/__cxx03/__random/independent_bits_engine.h
index bf2350e7b0d6..15df3f249ef8 100644
--- a/libcxx/include/__cxx03/__random/independent_bits_engine.h
+++ b/libcxx/include/__cxx03/__random/independent_bits_engine.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_INDEPENDENT_BITS_ENGINE_H
-#define _LIBCPP___RANDOM_INDEPENDENT_BITS_ENGINE_H
+#ifndef _LIBCPP___CXX03___RANDOM_INDEPENDENT_BITS_ENGINE_H
+#define _LIBCPP___CXX03___RANDOM_INDEPENDENT_BITS_ENGINE_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/istream.h>
@@ -202,4 +202,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_INDEPENDENT_BITS_ENGINE_H
+#endif // _LIBCPP___CXX03___RANDOM_INDEPENDENT_BITS_ENGINE_H
diff --git a/libcxx/include/__cxx03/__random/is_seed_sequence.h b/libcxx/include/__cxx03/__random/is_seed_sequence.h
index a924857c7ffa..ddb9c83bb708 100644
--- a/libcxx/include/__cxx03/__random/is_seed_sequence.h
+++ b/libcxx/include/__cxx03/__random/is_seed_sequence.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_IS_SEED_SEQUENCE_H
-#define _LIBCPP___RANDOM_IS_SEED_SEQUENCE_H
+#ifndef _LIBCPP___CXX03___RANDOM_IS_SEED_SEQUENCE_H
+#define _LIBCPP___CXX03___RANDOM_IS_SEED_SEQUENCE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/is_convertible.h>
@@ -28,4 +28,4 @@ struct __is_seed_sequence {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___RANDOM_IS_SEED_SEQUENCE_H
+#endif // _LIBCPP___CXX03___RANDOM_IS_SEED_SEQUENCE_H
diff --git a/libcxx/include/__cxx03/__random/is_valid.h b/libcxx/include/__cxx03/__random/is_valid.h
index fc32a22bf608..65693ceecf4d 100644
--- a/libcxx/include/__cxx03/__random/is_valid.h
+++ b/libcxx/include/__cxx03/__random/is_valid.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_IS_VALID_H
-#define _LIBCPP___RANDOM_IS_VALID_H
+#ifndef _LIBCPP___CXX03___RANDOM_IS_VALID_H
+#define _LIBCPP___CXX03___RANDOM_IS_VALID_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -91,4 +91,4 @@ struct __libcpp_random_is_valid_urng<
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___RANDOM_IS_VALID_H
+#endif // _LIBCPP___CXX03___RANDOM_IS_VALID_H
diff --git a/libcxx/include/__cxx03/__random/knuth_b.h b/libcxx/include/__cxx03/__random/knuth_b.h
index b8df0078ebb1..0ba23d7bbd2a 100644
--- a/libcxx/include/__cxx03/__random/knuth_b.h
+++ b/libcxx/include/__cxx03/__random/knuth_b.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_KNUTH_B_H
-#define _LIBCPP___RANDOM_KNUTH_B_H
+#ifndef _LIBCPP___CXX03___RANDOM_KNUTH_B_H
+#define _LIBCPP___CXX03___RANDOM_KNUTH_B_H
#include <__cxx03/__config>
#include <__cxx03/__random/linear_congruential_engine.h>
@@ -23,4 +23,4 @@ typedef shuffle_order_engine<minstd_rand0, 256> knuth_b;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___RANDOM_KNUTH_B_H
+#endif // _LIBCPP___CXX03___RANDOM_KNUTH_B_H
diff --git a/libcxx/include/__cxx03/__random/linear_congruential_engine.h b/libcxx/include/__cxx03/__random/linear_congruential_engine.h
index 94d140ae1a2d..e6025571e5cc 100644
--- a/libcxx/include/__cxx03/__random/linear_congruential_engine.h
+++ b/libcxx/include/__cxx03/__random/linear_congruential_engine.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_LINEAR_CONGRUENTIAL_ENGINE_H
-#define _LIBCPP___RANDOM_LINEAR_CONGRUENTIAL_ENGINE_H
+#ifndef _LIBCPP___CXX03___RANDOM_LINEAR_CONGRUENTIAL_ENGINE_H
+#define _LIBCPP___CXX03___RANDOM_LINEAR_CONGRUENTIAL_ENGINE_H
#include <__cxx03/__config>
#include <__cxx03/__random/is_seed_sequence.h>
@@ -384,4 +384,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_LINEAR_CONGRUENTIAL_ENGINE_H
+#endif // _LIBCPP___CXX03___RANDOM_LINEAR_CONGRUENTIAL_ENGINE_H
diff --git a/libcxx/include/__cxx03/__random/log2.h b/libcxx/include/__cxx03/__random/log2.h
index 5dbaace22d86..bea5f3c1ff4b 100644
--- a/libcxx/include/__cxx03/__random/log2.h
+++ b/libcxx/include/__cxx03/__random/log2.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_LOG2_H
-#define _LIBCPP___RANDOM_LOG2_H
+#ifndef _LIBCPP___CXX03___RANDOM_LOG2_H
+#define _LIBCPP___CXX03___RANDOM_LOG2_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/conditional.h>
@@ -63,4 +63,4 @@ struct __log2 {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___RANDOM_LOG2_H
+#endif // _LIBCPP___CXX03___RANDOM_LOG2_H
diff --git a/libcxx/include/__cxx03/__random/lognormal_distribution.h b/libcxx/include/__cxx03/__random/lognormal_distribution.h
index f1e537a21eb6..de046d9b6356 100644
--- a/libcxx/include/__cxx03/__random/lognormal_distribution.h
+++ b/libcxx/include/__cxx03/__random/lognormal_distribution.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_LOGNORMAL_DISTRIBUTION_H
-#define _LIBCPP___RANDOM_LOGNORMAL_DISTRIBUTION_H
+#ifndef _LIBCPP___CXX03___RANDOM_LOGNORMAL_DISTRIBUTION_H
+#define _LIBCPP___CXX03___RANDOM_LOGNORMAL_DISTRIBUTION_H
#include <__cxx03/__config>
#include <__cxx03/__random/is_valid.h>
@@ -123,4 +123,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_LOGNORMAL_DISTRIBUTION_H
+#endif // _LIBCPP___CXX03___RANDOM_LOGNORMAL_DISTRIBUTION_H
diff --git a/libcxx/include/__cxx03/__random/mersenne_twister_engine.h b/libcxx/include/__cxx03/__random/mersenne_twister_engine.h
index 16deb8189dc4..d715b6ffd8dd 100644
--- a/libcxx/include/__cxx03/__random/mersenne_twister_engine.h
+++ b/libcxx/include/__cxx03/__random/mersenne_twister_engine.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_MERSENNE_TWISTER_ENGINE_H
-#define _LIBCPP___RANDOM_MERSENNE_TWISTER_ENGINE_H
+#ifndef _LIBCPP___CXX03___RANDOM_MERSENNE_TWISTER_ENGINE_H
+#define _LIBCPP___CXX03___RANDOM_MERSENNE_TWISTER_ENGINE_H
#include <__cxx03/__algorithm/equal.h>
#include <__cxx03/__algorithm/min.h>
@@ -911,4 +911,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_MERSENNE_TWISTER_ENGINE_H
+#endif // _LIBCPP___CXX03___RANDOM_MERSENNE_TWISTER_ENGINE_H
diff --git a/libcxx/include/__cxx03/__random/negative_binomial_distribution.h b/libcxx/include/__cxx03/__random/negative_binomial_distribution.h
index 6a99c87f5296..f50b38218710 100644
--- a/libcxx/include/__cxx03/__random/negative_binomial_distribution.h
+++ b/libcxx/include/__cxx03/__random/negative_binomial_distribution.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_NEGATIVE_BINOMIAL_DISTRIBUTION_H
-#define _LIBCPP___RANDOM_NEGATIVE_BINOMIAL_DISTRIBUTION_H
+#ifndef _LIBCPP___CXX03___RANDOM_NEGATIVE_BINOMIAL_DISTRIBUTION_H
+#define _LIBCPP___CXX03___RANDOM_NEGATIVE_BINOMIAL_DISTRIBUTION_H
#include <__cxx03/__assert>
#include <__cxx03/__config>
@@ -154,4 +154,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_NEGATIVE_BINOMIAL_DISTRIBUTION_H
+#endif // _LIBCPP___CXX03___RANDOM_NEGATIVE_BINOMIAL_DISTRIBUTION_H
diff --git a/libcxx/include/__cxx03/__random/normal_distribution.h b/libcxx/include/__cxx03/__random/normal_distribution.h
index 95e4f5da49eb..f9700c48ade0 100644
--- a/libcxx/include/__cxx03/__random/normal_distribution.h
+++ b/libcxx/include/__cxx03/__random/normal_distribution.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_NORMAL_DISTRIBUTION_H
-#define _LIBCPP___RANDOM_NORMAL_DISTRIBUTION_H
+#ifndef _LIBCPP___CXX03___RANDOM_NORMAL_DISTRIBUTION_H
+#define _LIBCPP___CXX03___RANDOM_NORMAL_DISTRIBUTION_H
#include <__cxx03/__config>
#include <__cxx03/__random/is_valid.h>
@@ -173,4 +173,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_NORMAL_DISTRIBUTION_H
+#endif // _LIBCPP___CXX03___RANDOM_NORMAL_DISTRIBUTION_H
diff --git a/libcxx/include/__cxx03/__random/piecewise_constant_distribution.h b/libcxx/include/__cxx03/__random/piecewise_constant_distribution.h
index 5bd53b81cbfc..2036bb29ce1a 100644
--- a/libcxx/include/__cxx03/__random/piecewise_constant_distribution.h
+++ b/libcxx/include/__cxx03/__random/piecewise_constant_distribution.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_PIECEWISE_CONSTANT_DISTRIBUTION_H
-#define _LIBCPP___RANDOM_PIECEWISE_CONSTANT_DISTRIBUTION_H
+#ifndef _LIBCPP___CXX03___RANDOM_PIECEWISE_CONSTANT_DISTRIBUTION_H
+#define _LIBCPP___CXX03___RANDOM_PIECEWISE_CONSTANT_DISTRIBUTION_H
#include <__cxx03/__algorithm/upper_bound.h>
#include <__cxx03/__config>
@@ -299,4 +299,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_PIECEWISE_CONSTANT_DISTRIBUTION_H
+#endif // _LIBCPP___CXX03___RANDOM_PIECEWISE_CONSTANT_DISTRIBUTION_H
diff --git a/libcxx/include/__cxx03/__random/piecewise_linear_distribution.h b/libcxx/include/__cxx03/__random/piecewise_linear_distribution.h
index faf845321fec..c871d01c37b4 100644
--- a/libcxx/include/__cxx03/__random/piecewise_linear_distribution.h
+++ b/libcxx/include/__cxx03/__random/piecewise_linear_distribution.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_PIECEWISE_LINEAR_DISTRIBUTION_H
-#define _LIBCPP___RANDOM_PIECEWISE_LINEAR_DISTRIBUTION_H
+#ifndef _LIBCPP___CXX03___RANDOM_PIECEWISE_LINEAR_DISTRIBUTION_H
+#define _LIBCPP___CXX03___RANDOM_PIECEWISE_LINEAR_DISTRIBUTION_H
#include <__cxx03/__algorithm/upper_bound.h>
#include <__cxx03/__config>
@@ -312,4 +312,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_PIECEWISE_LINEAR_DISTRIBUTION_H
+#endif // _LIBCPP___CXX03___RANDOM_PIECEWISE_LINEAR_DISTRIBUTION_H
diff --git a/libcxx/include/__cxx03/__random/poisson_distribution.h b/libcxx/include/__cxx03/__random/poisson_distribution.h
index 7fb4b9681d70..fdb30042e4a3 100644
--- a/libcxx/include/__cxx03/__random/poisson_distribution.h
+++ b/libcxx/include/__cxx03/__random/poisson_distribution.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_POISSON_DISTRIBUTION_H
-#define _LIBCPP___RANDOM_POISSON_DISTRIBUTION_H
+#ifndef _LIBCPP___CXX03___RANDOM_POISSON_DISTRIBUTION_H
+#define _LIBCPP___CXX03___RANDOM_POISSON_DISTRIBUTION_H
#include <__cxx03/__config>
#include <__cxx03/__random/clamp_to_integral.h>
@@ -238,4 +238,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_POISSON_DISTRIBUTION_H
+#endif // _LIBCPP___CXX03___RANDOM_POISSON_DISTRIBUTION_H
diff --git a/libcxx/include/__cxx03/__random/random_device.h b/libcxx/include/__cxx03/__random/random_device.h
index 2f95979bf549..35874bc492a0 100644
--- a/libcxx/include/__cxx03/__random/random_device.h
+++ b/libcxx/include/__cxx03/__random/random_device.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_RANDOM_DEVICE_H
-#define _LIBCPP___RANDOM_RANDOM_DEVICE_H
+#ifndef _LIBCPP___CXX03___RANDOM_RANDOM_DEVICE_H
+#define _LIBCPP___CXX03___RANDOM_RANDOM_DEVICE_H
#include <__cxx03/__config>
#include <__cxx03/string>
@@ -78,4 +78,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_RANDOM_DEVICE_H
+#endif // _LIBCPP___CXX03___RANDOM_RANDOM_DEVICE_H
diff --git a/libcxx/include/__cxx03/__random/ranlux.h b/libcxx/include/__cxx03/__random/ranlux.h
index e99773cae392..2c808f50e638 100644
--- a/libcxx/include/__cxx03/__random/ranlux.h
+++ b/libcxx/include/__cxx03/__random/ranlux.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_RANLUX_H
-#define _LIBCPP___RANDOM_RANLUX_H
+#ifndef _LIBCPP___CXX03___RANDOM_RANLUX_H
+#define _LIBCPP___CXX03___RANDOM_RANLUX_H
#include <__cxx03/__config>
#include <__cxx03/__random/discard_block_engine.h>
@@ -28,4 +28,4 @@ typedef discard_block_engine<ranlux48_base, 389, 11> ranlux48;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___RANDOM_RANLUX_H
+#endif // _LIBCPP___CXX03___RANDOM_RANLUX_H
diff --git a/libcxx/include/__cxx03/__random/seed_seq.h b/libcxx/include/__cxx03/__random/seed_seq.h
index 8ccd656b47e8..617ee66c819d 100644
--- a/libcxx/include/__cxx03/__random/seed_seq.h
+++ b/libcxx/include/__cxx03/__random/seed_seq.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_SEED_SEQ_H
-#define _LIBCPP___RANDOM_SEED_SEQ_H
+#ifndef _LIBCPP___CXX03___RANDOM_SEED_SEQ_H
+#define _LIBCPP___CXX03___RANDOM_SEED_SEQ_H
#include <__cxx03/__algorithm/copy.h>
#include <__cxx03/__algorithm/fill.h>
@@ -163,4 +163,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_SEED_SEQ_H
+#endif // _LIBCPP___CXX03___RANDOM_SEED_SEQ_H
diff --git a/libcxx/include/__cxx03/__random/shuffle_order_engine.h b/libcxx/include/__cxx03/__random/shuffle_order_engine.h
index 8eb57c9ec56d..77eb0cf1fec8 100644
--- a/libcxx/include/__cxx03/__random/shuffle_order_engine.h
+++ b/libcxx/include/__cxx03/__random/shuffle_order_engine.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_SHUFFLE_ORDER_ENGINE_H
-#define _LIBCPP___RANDOM_SHUFFLE_ORDER_ENGINE_H
+#ifndef _LIBCPP___CXX03___RANDOM_SHUFFLE_ORDER_ENGINE_H
+#define _LIBCPP___CXX03___RANDOM_SHUFFLE_ORDER_ENGINE_H
#include <__cxx03/__algorithm/equal.h>
#include <__cxx03/__config>
@@ -227,4 +227,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_SHUFFLE_ORDER_ENGINE_H
+#endif // _LIBCPP___CXX03___RANDOM_SHUFFLE_ORDER_ENGINE_H
diff --git a/libcxx/include/__cxx03/__random/student_t_distribution.h b/libcxx/include/__cxx03/__random/student_t_distribution.h
index 32a1c3c7381f..6c71d1a1a4fb 100644
--- a/libcxx/include/__cxx03/__random/student_t_distribution.h
+++ b/libcxx/include/__cxx03/__random/student_t_distribution.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_STUDENT_T_DISTRIBUTION_H
-#define _LIBCPP___RANDOM_STUDENT_T_DISTRIBUTION_H
+#ifndef _LIBCPP___CXX03___RANDOM_STUDENT_T_DISTRIBUTION_H
+#define _LIBCPP___CXX03___RANDOM_STUDENT_T_DISTRIBUTION_H
#include <__cxx03/__config>
#include <__cxx03/__random/gamma_distribution.h>
@@ -129,4 +129,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_STUDENT_T_DISTRIBUTION_H
+#endif // _LIBCPP___CXX03___RANDOM_STUDENT_T_DISTRIBUTION_H
diff --git a/libcxx/include/__cxx03/__random/subtract_with_carry_engine.h b/libcxx/include/__cxx03/__random/subtract_with_carry_engine.h
index c539994be1c8..3a30e41bbb46 100644
--- a/libcxx/include/__cxx03/__random/subtract_with_carry_engine.h
+++ b/libcxx/include/__cxx03/__random/subtract_with_carry_engine.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_SUBTRACT_WITH_CARRY_ENGINE_H
-#define _LIBCPP___RANDOM_SUBTRACT_WITH_CARRY_ENGINE_H
+#ifndef _LIBCPP___CXX03___RANDOM_SUBTRACT_WITH_CARRY_ENGINE_H
+#define _LIBCPP___CXX03___RANDOM_SUBTRACT_WITH_CARRY_ENGINE_H
#include <__cxx03/__algorithm/equal.h>
#include <__cxx03/__algorithm/min.h>
@@ -273,4 +273,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_SUBTRACT_WITH_CARRY_ENGINE_H
+#endif // _LIBCPP___CXX03___RANDOM_SUBTRACT_WITH_CARRY_ENGINE_H
diff --git a/libcxx/include/__cxx03/__random/uniform_int_distribution.h b/libcxx/include/__cxx03/__random/uniform_int_distribution.h
index 8e509fad1577..2e4656bd503f 100644
--- a/libcxx/include/__cxx03/__random/uniform_int_distribution.h
+++ b/libcxx/include/__cxx03/__random/uniform_int_distribution.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_UNIFORM_INT_DISTRIBUTION_H
-#define _LIBCPP___RANDOM_UNIFORM_INT_DISTRIBUTION_H
+#ifndef _LIBCPP___CXX03___RANDOM_UNIFORM_INT_DISTRIBUTION_H
+#define _LIBCPP___CXX03___RANDOM_UNIFORM_INT_DISTRIBUTION_H
#include <__cxx03/__bit/countl.h>
#include <__cxx03/__config>
@@ -261,4 +261,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_UNIFORM_INT_DISTRIBUTION_H
+#endif // _LIBCPP___CXX03___RANDOM_UNIFORM_INT_DISTRIBUTION_H
diff --git a/libcxx/include/__cxx03/__random/uniform_random_bit_generator.h b/libcxx/include/__cxx03/__random/uniform_random_bit_generator.h
index 74bbea38bf20..37c10a1ddfbd 100644
--- a/libcxx/include/__cxx03/__random/uniform_random_bit_generator.h
+++ b/libcxx/include/__cxx03/__random/uniform_random_bit_generator.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_UNIFORM_RANDOM_BIT_GENERATOR_H
-#define _LIBCPP___RANDOM_UNIFORM_RANDOM_BIT_GENERATOR_H
+#ifndef _LIBCPP___CXX03___RANDOM_UNIFORM_RANDOM_BIT_GENERATOR_H
+#define _LIBCPP___CXX03___RANDOM_UNIFORM_RANDOM_BIT_GENERATOR_H
#include <__cxx03/__concepts/arithmetic.h>
#include <__cxx03/__concepts/invocable.h>
@@ -41,4 +41,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_UNIFORM_RANDOM_BIT_GENERATOR_H
+#endif // _LIBCPP___CXX03___RANDOM_UNIFORM_RANDOM_BIT_GENERATOR_H
diff --git a/libcxx/include/__cxx03/__random/uniform_real_distribution.h b/libcxx/include/__cxx03/__random/uniform_real_distribution.h
index 64c978906a4c..623344455ee3 100644
--- a/libcxx/include/__cxx03/__random/uniform_real_distribution.h
+++ b/libcxx/include/__cxx03/__random/uniform_real_distribution.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_UNIFORM_REAL_DISTRIBUTION_H
-#define _LIBCPP___RANDOM_UNIFORM_REAL_DISTRIBUTION_H
+#ifndef _LIBCPP___CXX03___RANDOM_UNIFORM_REAL_DISTRIBUTION_H
+#define _LIBCPP___CXX03___RANDOM_UNIFORM_REAL_DISTRIBUTION_H
#include <__cxx03/__config>
#include <__cxx03/__random/generate_canonical.h>
@@ -135,4 +135,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_UNIFORM_REAL_DISTRIBUTION_H
+#endif // _LIBCPP___CXX03___RANDOM_UNIFORM_REAL_DISTRIBUTION_H
diff --git a/libcxx/include/__cxx03/__random/weibull_distribution.h b/libcxx/include/__cxx03/__random/weibull_distribution.h
index 6c5937aaad9e..83bb88d50f62 100644
--- a/libcxx/include/__cxx03/__random/weibull_distribution.h
+++ b/libcxx/include/__cxx03/__random/weibull_distribution.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANDOM_WEIBULL_DISTRIBUTION_H
-#define _LIBCPP___RANDOM_WEIBULL_DISTRIBUTION_H
+#ifndef _LIBCPP___CXX03___RANDOM_WEIBULL_DISTRIBUTION_H
+#define _LIBCPP___CXX03___RANDOM_WEIBULL_DISTRIBUTION_H
#include <__cxx03/__config>
#include <__cxx03/__random/exponential_distribution.h>
@@ -129,4 +129,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANDOM_WEIBULL_DISTRIBUTION_H
+#endif // _LIBCPP___CXX03___RANDOM_WEIBULL_DISTRIBUTION_H
diff --git a/libcxx/include/__cxx03/__ranges/access.h b/libcxx/include/__cxx03/__ranges/access.h
index a6a0470afeac..23b61946a16b 100644
--- a/libcxx/include/__cxx03/__ranges/access.h
+++ b/libcxx/include/__cxx03/__ranges/access.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_ACCESS_H
-#define _LIBCPP___RANGES_ACCESS_H
+#ifndef _LIBCPP___CXX03___RANGES_ACCESS_H
+#define _LIBCPP___CXX03___RANGES_ACCESS_H
#include <__cxx03/__concepts/class_or_enum.h>
#include <__cxx03/__config>
@@ -207,4 +207,4 @@ inline constexpr auto cend = __cend::__fn{};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___RANGES_ACCESS_H
+#endif // _LIBCPP___CXX03___RANGES_ACCESS_H
diff --git a/libcxx/include/__cxx03/__ranges/all.h b/libcxx/include/__cxx03/__ranges/all.h
index 0cb834fc41a3..57497f83478b 100644
--- a/libcxx/include/__cxx03/__ranges/all.h
+++ b/libcxx/include/__cxx03/__ranges/all.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_ALL_H
-#define _LIBCPP___RANGES_ALL_H
+#ifndef _LIBCPP___CXX03___RANGES_ALL_H
+#define _LIBCPP___CXX03___RANGES_ALL_H
#include <__cxx03/__config>
#include <__cxx03/__functional/compose.h> // TODO(modules): Those should not be required
@@ -75,4 +75,4 @@ using all_t = decltype(views::all(std::declval<_Range>()));
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___RANGES_ALL_H
+#endif // _LIBCPP___CXX03___RANGES_ALL_H
diff --git a/libcxx/include/__cxx03/__ranges/as_rvalue_view.h b/libcxx/include/__cxx03/__ranges/as_rvalue_view.h
index 011939f19ab0..42234dabaf08 100644
--- a/libcxx/include/__cxx03/__ranges/as_rvalue_view.h
+++ b/libcxx/include/__cxx03/__ranges/as_rvalue_view.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_AS_RVALUE_H
-#define _LIBCPP___RANGES_AS_RVALUE_H
+#ifndef _LIBCPP___CXX03___RANGES_AS_RVALUE_H
+#define _LIBCPP___CXX03___RANGES_AS_RVALUE_H
#include <__cxx03/__concepts/constructible.h>
#include <__cxx03/__concepts/same_as.h>
@@ -139,4 +139,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANGES_AS_RVALUE_H
+#endif // _LIBCPP___CXX03___RANGES_AS_RVALUE_H
diff --git a/libcxx/include/__cxx03/__ranges/chunk_by_view.h b/libcxx/include/__cxx03/__ranges/chunk_by_view.h
index 8f17d56e5e93..2b5c4d607c41 100644
--- a/libcxx/include/__cxx03/__ranges/chunk_by_view.h
+++ b/libcxx/include/__cxx03/__ranges/chunk_by_view.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_CHUNK_BY_VIEW_H
-#define _LIBCPP___RANGES_CHUNK_BY_VIEW_H
+#ifndef _LIBCPP___CXX03___RANGES_CHUNK_BY_VIEW_H
+#define _LIBCPP___CXX03___RANGES_CHUNK_BY_VIEW_H
#include <__cxx03/__algorithm/ranges_adjacent_find.h>
#include <__cxx03/__assert>
@@ -232,4 +232,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANGES_CHUNK_BY_VIEW_H
+#endif // _LIBCPP___CXX03___RANGES_CHUNK_BY_VIEW_H
diff --git a/libcxx/include/__cxx03/__ranges/common_view.h b/libcxx/include/__cxx03/__ranges/common_view.h
index 5af8de542dad..e7022ff63abb 100644
--- a/libcxx/include/__cxx03/__ranges/common_view.h
+++ b/libcxx/include/__cxx03/__ranges/common_view.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_COMMON_VIEW_H
-#define _LIBCPP___RANGES_COMMON_VIEW_H
+#ifndef _LIBCPP___CXX03___RANGES_COMMON_VIEW_H
+#define _LIBCPP___CXX03___RANGES_COMMON_VIEW_H
#include <__cxx03/__concepts/constructible.h>
#include <__cxx03/__concepts/copyable.h>
@@ -139,4 +139,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANGES_COMMON_VIEW_H
+#endif // _LIBCPP___CXX03___RANGES_COMMON_VIEW_H
diff --git a/libcxx/include/__cxx03/__ranges/concepts.h b/libcxx/include/__cxx03/__ranges/concepts.h
index 238d02cc2f68..958a81c19bfa 100644
--- a/libcxx/include/__cxx03/__ranges/concepts.h
+++ b/libcxx/include/__cxx03/__ranges/concepts.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_CONCEPTS_H
-#define _LIBCPP___RANGES_CONCEPTS_H
+#ifndef _LIBCPP___CXX03___RANGES_CONCEPTS_H
+#define _LIBCPP___CXX03___RANGES_CONCEPTS_H
#include <__cxx03/__concepts/constructible.h>
#include <__cxx03/__concepts/movable.h>
@@ -139,4 +139,4 @@ concept viewable_range =
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___RANGES_CONCEPTS_H
+#endif // _LIBCPP___CXX03___RANGES_CONCEPTS_H
diff --git a/libcxx/include/__cxx03/__ranges/container_compatible_range.h b/libcxx/include/__cxx03/__ranges/container_compatible_range.h
index 7bf8218e667d..9e47449fe50a 100644
--- a/libcxx/include/__cxx03/__ranges/container_compatible_range.h
+++ b/libcxx/include/__cxx03/__ranges/container_compatible_range.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_CONTAINER_COMPATIBLE_RANGE_H
-#define _LIBCPP___RANGES_CONTAINER_COMPATIBLE_RANGE_H
+#ifndef _LIBCPP___CXX03___RANGES_CONTAINER_COMPATIBLE_RANGE_H
+#define _LIBCPP___CXX03___RANGES_CONTAINER_COMPATIBLE_RANGE_H
#include <__cxx03/__concepts/convertible_to.h>
#include <__cxx03/__config>
@@ -30,4 +30,4 @@ concept _ContainerCompatibleRange =
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___RANGES_CONTAINER_COMPATIBLE_RANGE_H
+#endif // _LIBCPP___CXX03___RANGES_CONTAINER_COMPATIBLE_RANGE_H
diff --git a/libcxx/include/__cxx03/__ranges/counted.h b/libcxx/include/__cxx03/__ranges/counted.h
index a20a4824b03c..a4a11cd0064b 100644
--- a/libcxx/include/__cxx03/__ranges/counted.h
+++ b/libcxx/include/__cxx03/__ranges/counted.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_COUNTED_H
-#define _LIBCPP___RANGES_COUNTED_H
+#ifndef _LIBCPP___CXX03___RANGES_COUNTED_H
+#define _LIBCPP___CXX03___RANGES_COUNTED_H
#include <__cxx03/__concepts/convertible_to.h>
#include <__cxx03/__config>
@@ -86,4 +86,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANGES_COUNTED_H
+#endif // _LIBCPP___CXX03___RANGES_COUNTED_H
diff --git a/libcxx/include/__cxx03/__ranges/dangling.h b/libcxx/include/__cxx03/__ranges/dangling.h
index fee2712ac829..d57eca19b1c3 100644
--- a/libcxx/include/__cxx03/__ranges/dangling.h
+++ b/libcxx/include/__cxx03/__ranges/dangling.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_DANGLING_H
-#define _LIBCPP___RANGES_DANGLING_H
+#ifndef _LIBCPP___CXX03___RANGES_DANGLING_H
+#define _LIBCPP___CXX03___RANGES_DANGLING_H
#include <__cxx03/__config>
#include <__cxx03/__ranges/access.h>
@@ -39,4 +39,4 @@ using borrowed_iterator_t = _If<borrowed_range<_Rp>, iterator_t<_Rp>, dangling>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___RANGES_DANGLING_H
+#endif // _LIBCPP___CXX03___RANGES_DANGLING_H
diff --git a/libcxx/include/__cxx03/__ranges/data.h b/libcxx/include/__cxx03/__ranges/data.h
index 2e38f210804d..80e473d21861 100644
--- a/libcxx/include/__cxx03/__ranges/data.h
+++ b/libcxx/include/__cxx03/__ranges/data.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_DATA_H
-#define _LIBCPP___RANGES_DATA_H
+#ifndef _LIBCPP___CXX03___RANGES_DATA_H
+#define _LIBCPP___CXX03___RANGES_DATA_H
#include <__cxx03/__concepts/class_or_enum.h>
#include <__cxx03/__config>
@@ -99,4 +99,4 @@ inline constexpr auto cdata = __cdata::__fn{};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___RANGES_DATA_H
+#endif // _LIBCPP___CXX03___RANGES_DATA_H
diff --git a/libcxx/include/__cxx03/__ranges/drop_view.h b/libcxx/include/__cxx03/__ranges/drop_view.h
index 9d1336fc877e..78e0a26e4c7e 100644
--- a/libcxx/include/__cxx03/__ranges/drop_view.h
+++ b/libcxx/include/__cxx03/__ranges/drop_view.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_DROP_VIEW_H
-#define _LIBCPP___RANGES_DROP_VIEW_H
+#ifndef _LIBCPP___CXX03___RANGES_DROP_VIEW_H
+#define _LIBCPP___CXX03___RANGES_DROP_VIEW_H
#include <__cxx03/__algorithm/min.h>
#include <__cxx03/__assert>
@@ -326,4 +326,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANGES_DROP_VIEW_H
+#endif // _LIBCPP___CXX03___RANGES_DROP_VIEW_H
diff --git a/libcxx/include/__cxx03/__ranges/drop_while_view.h b/libcxx/include/__cxx03/__ranges/drop_while_view.h
index 0542908a6cb5..604dd29742a9 100644
--- a/libcxx/include/__cxx03/__ranges/drop_while_view.h
+++ b/libcxx/include/__cxx03/__ranges/drop_while_view.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_DROP_WHILE_VIEW_H
-#define _LIBCPP___RANGES_DROP_WHILE_VIEW_H
+#ifndef _LIBCPP___CXX03___RANGES_DROP_WHILE_VIEW_H
+#define _LIBCPP___CXX03___RANGES_DROP_WHILE_VIEW_H
#include <__cxx03/__algorithm/ranges_find_if_not.h>
#include <__cxx03/__assert>
@@ -133,4 +133,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANGES_DROP_WHILE_VIEW_H
+#endif // _LIBCPP___CXX03___RANGES_DROP_WHILE_VIEW_H
diff --git a/libcxx/include/__cxx03/__ranges/elements_view.h b/libcxx/include/__cxx03/__ranges/elements_view.h
index 515562719039..9db16cde83be 100644
--- a/libcxx/include/__cxx03/__ranges/elements_view.h
+++ b/libcxx/include/__cxx03/__ranges/elements_view.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_ELEMENTS_VIEW_H
-#define _LIBCPP___RANGES_ELEMENTS_VIEW_H
+#ifndef _LIBCPP___CXX03___RANGES_ELEMENTS_VIEW_H
+#define _LIBCPP___CXX03___RANGES_ELEMENTS_VIEW_H
#include <__cxx03/__compare/three_way_comparable.h>
#include <__cxx03/__concepts/constructible.h>
@@ -415,4 +415,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANGES_ELEMENTS_VIEW_H
+#endif // _LIBCPP___CXX03___RANGES_ELEMENTS_VIEW_H
diff --git a/libcxx/include/__cxx03/__ranges/empty.h b/libcxx/include/__cxx03/__ranges/empty.h
index 957fed827b40..c72a17ecaf19 100644
--- a/libcxx/include/__cxx03/__ranges/empty.h
+++ b/libcxx/include/__cxx03/__ranges/empty.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_EMPTY_H
-#define _LIBCPP___RANGES_EMPTY_H
+#ifndef _LIBCPP___CXX03___RANGES_EMPTY_H
+#define _LIBCPP___CXX03___RANGES_EMPTY_H
#include <__cxx03/__concepts/class_or_enum.h>
#include <__cxx03/__config>
@@ -68,4 +68,4 @@ inline constexpr auto empty = __empty::__fn{};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___RANGES_EMPTY_H
+#endif // _LIBCPP___CXX03___RANGES_EMPTY_H
diff --git a/libcxx/include/__cxx03/__ranges/empty_view.h b/libcxx/include/__cxx03/__ranges/empty_view.h
index 265575baf678..11a77de6a339 100644
--- a/libcxx/include/__cxx03/__ranges/empty_view.h
+++ b/libcxx/include/__cxx03/__ranges/empty_view.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_EMPTY_VIEW_H
-#define _LIBCPP___RANGES_EMPTY_VIEW_H
+#ifndef _LIBCPP___CXX03___RANGES_EMPTY_VIEW_H
+#define _LIBCPP___CXX03___RANGES_EMPTY_VIEW_H
#include <__cxx03/__config>
#include <__cxx03/__ranges/enable_borrowed_range.h>
@@ -51,4 +51,4 @@ inline constexpr empty_view<_Tp> empty{};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___RANGES_EMPTY_VIEW_H
+#endif // _LIBCPP___CXX03___RANGES_EMPTY_VIEW_H
diff --git a/libcxx/include/__cxx03/__ranges/enable_borrowed_range.h b/libcxx/include/__cxx03/__ranges/enable_borrowed_range.h
index 81051f67c003..462053e35535 100644
--- a/libcxx/include/__cxx03/__ranges/enable_borrowed_range.h
+++ b/libcxx/include/__cxx03/__ranges/enable_borrowed_range.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_ENABLE_BORROWED_RANGE_H
-#define _LIBCPP___RANGES_ENABLE_BORROWED_RANGE_H
+#ifndef _LIBCPP___CXX03___RANGES_ENABLE_BORROWED_RANGE_H
+#define _LIBCPP___CXX03___RANGES_ENABLE_BORROWED_RANGE_H
// These customization variables are used in <span> and <string_view>. The
// separate header is used to avoid including the entire <ranges> header in
@@ -37,4 +37,4 @@ inline constexpr bool enable_borrowed_range = false;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___RANGES_ENABLE_BORROWED_RANGE_H
+#endif // _LIBCPP___CXX03___RANGES_ENABLE_BORROWED_RANGE_H
diff --git a/libcxx/include/__cxx03/__ranges/enable_view.h b/libcxx/include/__cxx03/__ranges/enable_view.h
index 4697dab872bc..b8d78c29064b 100644
--- a/libcxx/include/__cxx03/__ranges/enable_view.h
+++ b/libcxx/include/__cxx03/__ranges/enable_view.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_ENABLE_VIEW_H
-#define _LIBCPP___RANGES_ENABLE_VIEW_H
+#ifndef _LIBCPP___CXX03___RANGES_ENABLE_VIEW_H
+#define _LIBCPP___CXX03___RANGES_ENABLE_VIEW_H
#include <__cxx03/__concepts/derived_from.h>
#include <__cxx03/__concepts/same_as.h>
@@ -48,4 +48,4 @@ inline constexpr bool enable_view = derived_from<_Tp, view_base> || requires {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___RANGES_ENABLE_VIEW_H
+#endif // _LIBCPP___CXX03___RANGES_ENABLE_VIEW_H
diff --git a/libcxx/include/__cxx03/__ranges/filter_view.h b/libcxx/include/__cxx03/__ranges/filter_view.h
index 5015140c39ae..b9beadb13665 100644
--- a/libcxx/include/__cxx03/__ranges/filter_view.h
+++ b/libcxx/include/__cxx03/__ranges/filter_view.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_FILTER_VIEW_H
-#define _LIBCPP___RANGES_FILTER_VIEW_H
+#ifndef _LIBCPP___CXX03___RANGES_FILTER_VIEW_H
+#define _LIBCPP___CXX03___RANGES_FILTER_VIEW_H
#include <__cxx03/__algorithm/ranges_find_if.h>
#include <__cxx03/__assert>
@@ -257,4 +257,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANGES_FILTER_VIEW_H
+#endif // _LIBCPP___CXX03___RANGES_FILTER_VIEW_H
diff --git a/libcxx/include/__cxx03/__ranges/from_range.h b/libcxx/include/__cxx03/__ranges/from_range.h
index 55ff79edd513..2f0c827f827f 100644
--- a/libcxx/include/__cxx03/__ranges/from_range.h
+++ b/libcxx/include/__cxx03/__ranges/from_range.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_FROM_RANGE_H
-#define _LIBCPP___RANGES_FROM_RANGE_H
+#ifndef _LIBCPP___CXX03___RANGES_FROM_RANGE_H
+#define _LIBCPP___CXX03___RANGES_FROM_RANGE_H
#include <__cxx03/__config>
@@ -30,4 +30,4 @@ inline constexpr from_range_t from_range{};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___RANGES_FROM_RANGE_H
+#endif // _LIBCPP___CXX03___RANGES_FROM_RANGE_H
diff --git a/libcxx/include/__cxx03/__ranges/iota_view.h b/libcxx/include/__cxx03/__ranges/iota_view.h
index 5bc2394dc3dc..5fa1e8151af2 100644
--- a/libcxx/include/__cxx03/__ranges/iota_view.h
+++ b/libcxx/include/__cxx03/__ranges/iota_view.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_IOTA_VIEW_H
-#define _LIBCPP___RANGES_IOTA_VIEW_H
+#ifndef _LIBCPP___CXX03___RANGES_IOTA_VIEW_H
+#define _LIBCPP___CXX03___RANGES_IOTA_VIEW_H
#include <__cxx03/__assert>
#include <__cxx03/__compare/three_way_comparable.h>
@@ -401,4 +401,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANGES_IOTA_VIEW_H
+#endif // _LIBCPP___CXX03___RANGES_IOTA_VIEW_H
diff --git a/libcxx/include/__cxx03/__ranges/istream_view.h b/libcxx/include/__cxx03/__ranges/istream_view.h
index 8db34132af59..b54dc137690a 100644
--- a/libcxx/include/__cxx03/__ranges/istream_view.h
+++ b/libcxx/include/__cxx03/__ranges/istream_view.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_ISTREAM_VIEW_H
-#define _LIBCPP___RANGES_ISTREAM_VIEW_H
+#ifndef _LIBCPP___CXX03___RANGES_ISTREAM_VIEW_H
+#define _LIBCPP___CXX03___RANGES_ISTREAM_VIEW_H
#include <__cxx03/__concepts/constructible.h>
#include <__cxx03/__concepts/derived_from.h>
@@ -138,4 +138,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 20
-#endif // _LIBCPP___RANGES_ISTREAM_VIEW_H
+#endif // _LIBCPP___CXX03___RANGES_ISTREAM_VIEW_H
diff --git a/libcxx/include/__cxx03/__ranges/join_view.h b/libcxx/include/__cxx03/__ranges/join_view.h
index ea47eeefcf95..3496fc981070 100644
--- a/libcxx/include/__cxx03/__ranges/join_view.h
+++ b/libcxx/include/__cxx03/__ranges/join_view.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_JOIN_VIEW_H
-#define _LIBCPP___RANGES_JOIN_VIEW_H
+#ifndef _LIBCPP___CXX03___RANGES_JOIN_VIEW_H
+#define _LIBCPP___CXX03___RANGES_JOIN_VIEW_H
#include <__cxx03/__concepts/constructible.h>
#include <__cxx03/__concepts/convertible_to.h>
@@ -420,4 +420,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANGES_JOIN_VIEW_H
+#endif // _LIBCPP___CXX03___RANGES_JOIN_VIEW_H
diff --git a/libcxx/include/__cxx03/__ranges/lazy_split_view.h b/libcxx/include/__cxx03/__ranges/lazy_split_view.h
index 9e70c237b4fb..8dc05e0ec6f9 100644
--- a/libcxx/include/__cxx03/__ranges/lazy_split_view.h
+++ b/libcxx/include/__cxx03/__ranges/lazy_split_view.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_LAZY_SPLIT_VIEW_H
-#define _LIBCPP___RANGES_LAZY_SPLIT_VIEW_H
+#ifndef _LIBCPP___CXX03___RANGES_LAZY_SPLIT_VIEW_H
+#define _LIBCPP___CXX03___RANGES_LAZY_SPLIT_VIEW_H
#include <__cxx03/__algorithm/ranges_find.h>
#include <__cxx03/__algorithm/ranges_mismatch.h>
@@ -438,4 +438,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANGES_LAZY_SPLIT_VIEW_H
+#endif // _LIBCPP___CXX03___RANGES_LAZY_SPLIT_VIEW_H
diff --git a/libcxx/include/__cxx03/__ranges/movable_box.h b/libcxx/include/__cxx03/__ranges/movable_box.h
index ab6f407ed537..7dc8b95b28bb 100644
--- a/libcxx/include/__cxx03/__ranges/movable_box.h
+++ b/libcxx/include/__cxx03/__ranges/movable_box.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_MOVABLE_BOX_H
-#define _LIBCPP___RANGES_MOVABLE_BOX_H
+#ifndef _LIBCPP___CXX03___RANGES_MOVABLE_BOX_H
+#define _LIBCPP___CXX03___RANGES_MOVABLE_BOX_H
#include <__cxx03/__concepts/constructible.h>
#include <__cxx03/__concepts/copyable.h>
@@ -244,4 +244,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANGES_MOVABLE_BOX_H
+#endif // _LIBCPP___CXX03___RANGES_MOVABLE_BOX_H
diff --git a/libcxx/include/__cxx03/__ranges/non_propagating_cache.h b/libcxx/include/__cxx03/__ranges/non_propagating_cache.h
index 6f8c8600bab1..0db1914e592b 100644
--- a/libcxx/include/__cxx03/__ranges/non_propagating_cache.h
+++ b/libcxx/include/__cxx03/__ranges/non_propagating_cache.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_NON_PROPAGATING_CACHE_H
-#define _LIBCPP___RANGES_NON_PROPAGATING_CACHE_H
+#ifndef _LIBCPP___CXX03___RANGES_NON_PROPAGATING_CACHE_H
+#define _LIBCPP___CXX03___RANGES_NON_PROPAGATING_CACHE_H
#include <__cxx03/__config>
#include <__cxx03/__iterator/concepts.h> // indirectly_readable
@@ -100,4 +100,4 @@ struct __empty_cache {};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___RANGES_NON_PROPAGATING_CACHE_H
+#endif // _LIBCPP___CXX03___RANGES_NON_PROPAGATING_CACHE_H
diff --git a/libcxx/include/__cxx03/__ranges/owning_view.h b/libcxx/include/__cxx03/__ranges/owning_view.h
index ab7e4e3eeb97..5519d2c795c8 100644
--- a/libcxx/include/__cxx03/__ranges/owning_view.h
+++ b/libcxx/include/__cxx03/__ranges/owning_view.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_OWNING_VIEW_H
-#define _LIBCPP___RANGES_OWNING_VIEW_H
+#ifndef _LIBCPP___CXX03___RANGES_OWNING_VIEW_H
+#define _LIBCPP___CXX03___RANGES_OWNING_VIEW_H
#include <__cxx03/__concepts/constructible.h>
#include <__cxx03/__concepts/movable.h>
@@ -113,4 +113,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANGES_OWNING_VIEW_H
+#endif // _LIBCPP___CXX03___RANGES_OWNING_VIEW_H
diff --git a/libcxx/include/__cxx03/__ranges/range_adaptor.h b/libcxx/include/__cxx03/__ranges/range_adaptor.h
index ef7301d69584..ef08464234b5 100644
--- a/libcxx/include/__cxx03/__ranges/range_adaptor.h
+++ b/libcxx/include/__cxx03/__ranges/range_adaptor.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_RANGE_ADAPTOR_H
-#define _LIBCPP___RANGES_RANGE_ADAPTOR_H
+#ifndef _LIBCPP___CXX03___RANGES_RANGE_ADAPTOR_H
+#define _LIBCPP___CXX03___RANGES_RANGE_ADAPTOR_H
#include <__cxx03/__concepts/constructible.h>
#include <__cxx03/__concepts/derived_from.h>
@@ -98,4 +98,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANGES_RANGE_ADAPTOR_H
+#endif // _LIBCPP___CXX03___RANGES_RANGE_ADAPTOR_H
diff --git a/libcxx/include/__cxx03/__ranges/rbegin.h b/libcxx/include/__cxx03/__ranges/rbegin.h
index 3e114605baf3..8f987319cc4f 100644
--- a/libcxx/include/__cxx03/__ranges/rbegin.h
+++ b/libcxx/include/__cxx03/__ranges/rbegin.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_RBEGIN_H
-#define _LIBCPP___RANGES_RBEGIN_H
+#ifndef _LIBCPP___CXX03___RANGES_RBEGIN_H
+#define _LIBCPP___CXX03___RANGES_RBEGIN_H
#include <__cxx03/__concepts/class_or_enum.h>
#include <__cxx03/__concepts/same_as.h>
@@ -117,4 +117,4 @@ inline constexpr auto crbegin = __crbegin::__fn{};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___RANGES_RBEGIN_H
+#endif // _LIBCPP___CXX03___RANGES_RBEGIN_H
diff --git a/libcxx/include/__cxx03/__ranges/ref_view.h b/libcxx/include/__cxx03/__ranges/ref_view.h
index 9fd2835cf385..43c3bebe34dc 100644
--- a/libcxx/include/__cxx03/__ranges/ref_view.h
+++ b/libcxx/include/__cxx03/__ranges/ref_view.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_REF_VIEW_H
-#define _LIBCPP___RANGES_REF_VIEW_H
+#ifndef _LIBCPP___CXX03___RANGES_REF_VIEW_H
+#define _LIBCPP___CXX03___RANGES_REF_VIEW_H
#include <__cxx03/__concepts/convertible_to.h>
#include <__cxx03/__concepts/different_from.h>
@@ -86,4 +86,4 @@ inline constexpr bool enable_borrowed_range<ref_view<_Tp>> = true;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___RANGES_REF_VIEW_H
+#endif // _LIBCPP___CXX03___RANGES_REF_VIEW_H
diff --git a/libcxx/include/__cxx03/__ranges/rend.h b/libcxx/include/__cxx03/__ranges/rend.h
index 9d663e54f461..aa7e4a0ba396 100644
--- a/libcxx/include/__cxx03/__ranges/rend.h
+++ b/libcxx/include/__cxx03/__ranges/rend.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_REND_H
-#define _LIBCPP___RANGES_REND_H
+#ifndef _LIBCPP___CXX03___RANGES_REND_H
+#define _LIBCPP___CXX03___RANGES_REND_H
#include <__cxx03/__concepts/class_or_enum.h>
#include <__cxx03/__concepts/same_as.h>
@@ -120,4 +120,4 @@ inline constexpr auto crend = __crend::__fn{};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___RANGES_REND_H
+#endif // _LIBCPP___CXX03___RANGES_REND_H
diff --git a/libcxx/include/__cxx03/__ranges/repeat_view.h b/libcxx/include/__cxx03/__ranges/repeat_view.h
index fae883e01bcf..a0cd065b9f2a 100644
--- a/libcxx/include/__cxx03/__ranges/repeat_view.h
+++ b/libcxx/include/__cxx03/__ranges/repeat_view.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_REPEAT_VIEW_H
-#define _LIBCPP___RANGES_REPEAT_VIEW_H
+#ifndef _LIBCPP___CXX03___RANGES_REPEAT_VIEW_H
+#define _LIBCPP___CXX03___RANGES_REPEAT_VIEW_H
#include <__cxx03/__assert>
#include <__cxx03/__concepts/constructible.h>
@@ -263,4 +263,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANGES_REPEAT_VIEW_H
+#endif // _LIBCPP___CXX03___RANGES_REPEAT_VIEW_H
diff --git a/libcxx/include/__cxx03/__ranges/reverse_view.h b/libcxx/include/__cxx03/__ranges/reverse_view.h
index 7513114779c5..53a0e9d213c5 100644
--- a/libcxx/include/__cxx03/__ranges/reverse_view.h
+++ b/libcxx/include/__cxx03/__ranges/reverse_view.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_REVERSE_VIEW_H
-#define _LIBCPP___RANGES_REVERSE_VIEW_H
+#ifndef _LIBCPP___CXX03___RANGES_REVERSE_VIEW_H
+#define _LIBCPP___CXX03___RANGES_REVERSE_VIEW_H
#include <__cxx03/__concepts/constructible.h>
#include <__cxx03/__config>
@@ -200,4 +200,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANGES_REVERSE_VIEW_H
+#endif // _LIBCPP___CXX03___RANGES_REVERSE_VIEW_H
diff --git a/libcxx/include/__cxx03/__ranges/single_view.h b/libcxx/include/__cxx03/__ranges/single_view.h
index 34054fa0f9d4..3e43302f213b 100644
--- a/libcxx/include/__cxx03/__ranges/single_view.h
+++ b/libcxx/include/__cxx03/__ranges/single_view.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_SINGLE_VIEW_H
-#define _LIBCPP___RANGES_SINGLE_VIEW_H
+#ifndef _LIBCPP___CXX03___RANGES_SINGLE_VIEW_H
+#define _LIBCPP___CXX03___RANGES_SINGLE_VIEW_H
#include <__cxx03/__concepts/constructible.h>
#include <__cxx03/__config>
@@ -108,4 +108,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANGES_SINGLE_VIEW_H
+#endif // _LIBCPP___CXX03___RANGES_SINGLE_VIEW_H
diff --git a/libcxx/include/__cxx03/__ranges/size.h b/libcxx/include/__cxx03/__ranges/size.h
index 84b165551d92..f311f76df15c 100644
--- a/libcxx/include/__cxx03/__ranges/size.h
+++ b/libcxx/include/__cxx03/__ranges/size.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_SIZE_H
-#define _LIBCPP___RANGES_SIZE_H
+#ifndef _LIBCPP___CXX03___RANGES_SIZE_H
+#define _LIBCPP___CXX03___RANGES_SIZE_H
#include <__cxx03/__concepts/arithmetic.h>
#include <__cxx03/__concepts/class_or_enum.h>
@@ -134,4 +134,4 @@ inline constexpr auto ssize = __ssize::__fn{};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___RANGES_SIZE_H
+#endif // _LIBCPP___CXX03___RANGES_SIZE_H
diff --git a/libcxx/include/__cxx03/__ranges/split_view.h b/libcxx/include/__cxx03/__ranges/split_view.h
index f23e7878e349..76ab9f485bd7 100644
--- a/libcxx/include/__cxx03/__ranges/split_view.h
+++ b/libcxx/include/__cxx03/__ranges/split_view.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_SPLIT_VIEW_H
-#define _LIBCPP___RANGES_SPLIT_VIEW_H
+#ifndef _LIBCPP___CXX03___RANGES_SPLIT_VIEW_H
+#define _LIBCPP___CXX03___RANGES_SPLIT_VIEW_H
#include <__cxx03/__algorithm/ranges_search.h>
#include <__cxx03/__concepts/constructible.h>
@@ -229,4 +229,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANGES_SPLIT_VIEW_H
+#endif // _LIBCPP___CXX03___RANGES_SPLIT_VIEW_H
diff --git a/libcxx/include/__cxx03/__ranges/subrange.h b/libcxx/include/__cxx03/__ranges/subrange.h
index fa985a5c365a..e077d221ed20 100644
--- a/libcxx/include/__cxx03/__ranges/subrange.h
+++ b/libcxx/include/__cxx03/__ranges/subrange.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_SUBRANGE_H
-#define _LIBCPP___RANGES_SUBRANGE_H
+#ifndef _LIBCPP___CXX03___RANGES_SUBRANGE_H
+#define _LIBCPP___CXX03___RANGES_SUBRANGE_H
#include <__cxx03/__assert>
#include <__cxx03/__concepts/constructible.h>
@@ -270,4 +270,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANGES_SUBRANGE_H
+#endif // _LIBCPP___CXX03___RANGES_SUBRANGE_H
diff --git a/libcxx/include/__cxx03/__ranges/take_view.h b/libcxx/include/__cxx03/__ranges/take_view.h
index e909158f5c41..d3cadd55ae1c 100644
--- a/libcxx/include/__cxx03/__ranges/take_view.h
+++ b/libcxx/include/__cxx03/__ranges/take_view.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_TAKE_VIEW_H
-#define _LIBCPP___RANGES_TAKE_VIEW_H
+#ifndef _LIBCPP___CXX03___RANGES_TAKE_VIEW_H
+#define _LIBCPP___CXX03___RANGES_TAKE_VIEW_H
#include <__cxx03/__algorithm/min.h>
#include <__cxx03/__algorithm/ranges_min.h>
@@ -366,4 +366,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANGES_TAKE_VIEW_H
+#endif // _LIBCPP___CXX03___RANGES_TAKE_VIEW_H
diff --git a/libcxx/include/__cxx03/__ranges/take_while_view.h b/libcxx/include/__cxx03/__ranges/take_while_view.h
index 3968777240ed..7dec8490e075 100644
--- a/libcxx/include/__cxx03/__ranges/take_while_view.h
+++ b/libcxx/include/__cxx03/__ranges/take_while_view.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_TAKE_WHILE_VIEW_H
-#define _LIBCPP___RANGES_TAKE_WHILE_VIEW_H
+#ifndef _LIBCPP___CXX03___RANGES_TAKE_WHILE_VIEW_H
+#define _LIBCPP___CXX03___RANGES_TAKE_WHILE_VIEW_H
#include <__cxx03/__concepts/constructible.h>
#include <__cxx03/__concepts/convertible_to.h>
@@ -167,4 +167,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANGES_TAKE_WHILE_VIEW_H
+#endif // _LIBCPP___CXX03___RANGES_TAKE_WHILE_VIEW_H
diff --git a/libcxx/include/__cxx03/__ranges/to.h b/libcxx/include/__cxx03/__ranges/to.h
index 682b811946a6..f50f43cccc53 100644
--- a/libcxx/include/__cxx03/__ranges/to.h
+++ b/libcxx/include/__cxx03/__ranges/to.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_TO_H
-#define _LIBCPP___RANGES_TO_H
+#ifndef _LIBCPP___CXX03___RANGES_TO_H
+#define _LIBCPP___CXX03___RANGES_TO_H
#include <__cxx03/__algorithm/ranges_copy.h>
#include <__cxx03/__concepts/constructible.h>
@@ -242,4 +242,4 @@ template <template <class...> class _Container, class... _Args>
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___RANGES_TO_H
+#endif // _LIBCPP___CXX03___RANGES_TO_H
diff --git a/libcxx/include/__cxx03/__ranges/transform_view.h b/libcxx/include/__cxx03/__ranges/transform_view.h
index 78012cde3885..b4e7dde7ee91 100644
--- a/libcxx/include/__cxx03/__ranges/transform_view.h
+++ b/libcxx/include/__cxx03/__ranges/transform_view.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_TRANSFORM_VIEW_H
-#define _LIBCPP___RANGES_TRANSFORM_VIEW_H
+#ifndef _LIBCPP___CXX03___RANGES_TRANSFORM_VIEW_H
+#define _LIBCPP___CXX03___RANGES_TRANSFORM_VIEW_H
#include <__cxx03/__compare/three_way_comparable.h>
#include <__cxx03/__concepts/constructible.h>
@@ -414,4 +414,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANGES_TRANSFORM_VIEW_H
+#endif // _LIBCPP___CXX03___RANGES_TRANSFORM_VIEW_H
diff --git a/libcxx/include/__cxx03/__ranges/view_interface.h b/libcxx/include/__cxx03/__ranges/view_interface.h
index 23cdcdaaad43..956049eab6d4 100644
--- a/libcxx/include/__cxx03/__ranges/view_interface.h
+++ b/libcxx/include/__cxx03/__ranges/view_interface.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_VIEW_INTERFACE_H
-#define _LIBCPP___RANGES_VIEW_INTERFACE_H
+#ifndef _LIBCPP___CXX03___RANGES_VIEW_INTERFACE_H
+#define _LIBCPP___CXX03___RANGES_VIEW_INTERFACE_H
#include <__cxx03/__assert>
#include <__cxx03/__concepts/derived_from.h>
@@ -167,4 +167,4 @@ public:
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___RANGES_VIEW_INTERFACE_H
+#endif // _LIBCPP___CXX03___RANGES_VIEW_INTERFACE_H
diff --git a/libcxx/include/__cxx03/__ranges/views.h b/libcxx/include/__cxx03/__ranges/views.h
index 2809271f6e1a..91fa1a933c22 100644
--- a/libcxx/include/__cxx03/__ranges/views.h
+++ b/libcxx/include/__cxx03/__ranges/views.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_VIEWS
-#define _LIBCPP___RANGES_VIEWS
+#ifndef _LIBCPP___CXX03___RANGES_VIEWS
+#define _LIBCPP___CXX03___RANGES_VIEWS
#include <__cxx03/__config>
@@ -32,4 +32,4 @@ namespace views = ranges::views;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___RANGES_VIEWS
+#endif // _LIBCPP___CXX03___RANGES_VIEWS
diff --git a/libcxx/include/__cxx03/__ranges/zip_view.h b/libcxx/include/__cxx03/__ranges/zip_view.h
index 4d9f62647c8f..3ba450db9219 100644
--- a/libcxx/include/__cxx03/__ranges/zip_view.h
+++ b/libcxx/include/__cxx03/__ranges/zip_view.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___RANGES_ZIP_VIEW_H
-#define _LIBCPP___RANGES_ZIP_VIEW_H
+#ifndef _LIBCPP___CXX03___RANGES_ZIP_VIEW_H
+#define _LIBCPP___CXX03___RANGES_ZIP_VIEW_H
#include <__cxx03/__config>
@@ -513,4 +513,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___RANGES_ZIP_VIEW_H
+#endif // _LIBCPP___CXX03___RANGES_ZIP_VIEW_H
diff --git a/libcxx/include/__cxx03/__split_buffer b/libcxx/include/__cxx03/__split_buffer
index 133048bfea77..c614704ce56b 100644
--- a/libcxx/include/__cxx03/__split_buffer
+++ b/libcxx/include/__cxx03/__split_buffer
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___SPLIT_BUFFER
-#define _LIBCPP___SPLIT_BUFFER
+#ifndef _LIBCPP___CXX03___SPLIT_BUFFER
+#define _LIBCPP___CXX03___SPLIT_BUFFER
#include <__cxx03/__algorithm/max.h>
#include <__cxx03/__algorithm/move.h>
@@ -582,4 +582,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___SPLIT_BUFFER
+#endif // _LIBCPP___CXX03___SPLIT_BUFFER
diff --git a/libcxx/include/__cxx03/__std_mbstate_t.h b/libcxx/include/__cxx03/__std_mbstate_t.h
index ac2855521418..7a81d1bd024a 100644
--- a/libcxx/include/__cxx03/__std_mbstate_t.h
+++ b/libcxx/include/__cxx03/__std_mbstate_t.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___STD_MBSTATE_T_H
-#define _LIBCPP___STD_MBSTATE_T_H
+#ifndef _LIBCPP___CXX03___STD_MBSTATE_T_H
+#define _LIBCPP___CXX03___STD_MBSTATE_T_H
#include <__cxx03/__config>
#include <__cxx03/__mbstate_t.h>
@@ -26,4 +26,4 @@ using ::mbstate_t _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___STD_MBSTATE_T_H
+#endif // _LIBCPP___CXX03___STD_MBSTATE_T_H
diff --git a/libcxx/include/__cxx03/__stop_token/atomic_unique_lock.h b/libcxx/include/__cxx03/__stop_token/atomic_unique_lock.h
index a8e4d2a90a53..92b17350b3bb 100644
--- a/libcxx/include/__cxx03/__stop_token/atomic_unique_lock.h
+++ b/libcxx/include/__cxx03/__stop_token/atomic_unique_lock.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___STOP_TOKEN_ATOMIC_UNIQUE_GUARD_H
-#define _LIBCPP___STOP_TOKEN_ATOMIC_UNIQUE_GUARD_H
+#ifndef _LIBCPP___CXX03___STOP_TOKEN_ATOMIC_UNIQUE_GUARD_H
+#define _LIBCPP___CXX03___STOP_TOKEN_ATOMIC_UNIQUE_GUARD_H
#include <__cxx03/__bit/popcount.h>
#include <__cxx03/__config>
@@ -137,4 +137,4 @@ private:
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___STOP_TOKEN_ATOMIC_UNIQUE_GUARD_H
+#endif // _LIBCPP___CXX03___STOP_TOKEN_ATOMIC_UNIQUE_GUARD_H
diff --git a/libcxx/include/__cxx03/__stop_token/intrusive_list_view.h b/libcxx/include/__cxx03/__stop_token/intrusive_list_view.h
index ab11762802ac..8c133ad30c60 100644
--- a/libcxx/include/__cxx03/__stop_token/intrusive_list_view.h
+++ b/libcxx/include/__cxx03/__stop_token/intrusive_list_view.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___STOP_TOKEN_INTRUSIVE_LIST_VIEW_H
-#define _LIBCPP___STOP_TOKEN_INTRUSIVE_LIST_VIEW_H
+#ifndef _LIBCPP___CXX03___STOP_TOKEN_INTRUSIVE_LIST_VIEW_H
+#define _LIBCPP___CXX03___STOP_TOKEN_INTRUSIVE_LIST_VIEW_H
#include <__cxx03/__assert>
#include <__cxx03/__config>
@@ -82,4 +82,4 @@ private:
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___STOP_TOKEN_INTRUSIVE_LIST_VIEW_H
+#endif // _LIBCPP___CXX03___STOP_TOKEN_INTRUSIVE_LIST_VIEW_H
diff --git a/libcxx/include/__cxx03/__stop_token/intrusive_shared_ptr.h b/libcxx/include/__cxx03/__stop_token/intrusive_shared_ptr.h
index 62eb946a5bbe..002cdad80f0a 100644
--- a/libcxx/include/__cxx03/__stop_token/intrusive_shared_ptr.h
+++ b/libcxx/include/__cxx03/__stop_token/intrusive_shared_ptr.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___STOP_TOKEN_INTRUSIVE_SHARED_PTR_H
-#define _LIBCPP___STOP_TOKEN_INTRUSIVE_SHARED_PTR_H
+#ifndef _LIBCPP___CXX03___STOP_TOKEN_INTRUSIVE_SHARED_PTR_H
+#define _LIBCPP___CXX03___STOP_TOKEN_INTRUSIVE_SHARED_PTR_H
#include <__cxx03/__atomic/atomic.h>
#include <__cxx03/__atomic/memory_order.h>
@@ -131,4 +131,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___STOP_TOKEN_INTRUSIVE_SHARED_PTR_H
+#endif // _LIBCPP___CXX03___STOP_TOKEN_INTRUSIVE_SHARED_PTR_H
diff --git a/libcxx/include/__cxx03/__stop_token/stop_callback.h b/libcxx/include/__cxx03/__stop_token/stop_callback.h
index afd194cca1d0..5a92b59e30b0 100644
--- a/libcxx/include/__cxx03/__stop_token/stop_callback.h
+++ b/libcxx/include/__cxx03/__stop_token/stop_callback.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___STOP_TOKEN_STOP_CALLBACK_H
-#define _LIBCPP___STOP_TOKEN_STOP_CALLBACK_H
+#ifndef _LIBCPP___CXX03___STOP_TOKEN_STOP_CALLBACK_H
+#define _LIBCPP___CXX03___STOP_TOKEN_STOP_CALLBACK_H
#include <__cxx03/__concepts/constructible.h>
#include <__cxx03/__concepts/destructible.h>
@@ -99,4 +99,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP_STD_VER >= 20 && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_STOP_TOKEN) && !defined(_LIBCPP_HAS_NO_THREADS)
+#endif // _LIBCPP___CXX03___STOP_TOKEN_STOP_CALLBACK_H
diff --git a/libcxx/include/__cxx03/__stop_token/stop_source.h b/libcxx/include/__cxx03/__stop_token/stop_source.h
index 0d8b714bfba4..83fcfa548a85 100644
--- a/libcxx/include/__cxx03/__stop_token/stop_source.h
+++ b/libcxx/include/__cxx03/__stop_token/stop_source.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___STOP_TOKEN_STOP_SOURCE_H
-#define _LIBCPP___STOP_TOKEN_STOP_SOURCE_H
+#ifndef _LIBCPP___CXX03___STOP_TOKEN_STOP_SOURCE_H
+#define _LIBCPP___CXX03___STOP_TOKEN_STOP_SOURCE_H
#include <__cxx03/__config>
#include <__cxx03/__stop_token/intrusive_shared_ptr.h>
@@ -88,4 +88,4 @@ private:
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_STD_VER >= 20 && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_STOP_TOKEN) && !defined(_LIBCPP_HAS_NO_THREADS)
+#endif // _LIBCPP___CXX03___STOP_TOKEN_STOP_SOURCE_H
diff --git a/libcxx/include/__cxx03/__stop_token/stop_state.h b/libcxx/include/__cxx03/__stop_token/stop_state.h
index 39688917d1d4..2faee49440f8 100644
--- a/libcxx/include/__cxx03/__stop_token/stop_state.h
+++ b/libcxx/include/__cxx03/__stop_token/stop_state.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___STOP_TOKEN_STOP_STATE_H
-#define _LIBCPP___STOP_TOKEN_STOP_STATE_H
+#ifndef _LIBCPP___CXX03___STOP_TOKEN_STOP_STATE_H
+#define _LIBCPP___CXX03___STOP_TOKEN_STOP_STATE_H
#include <__cxx03/__assert>
#include <__cxx03/__config>
@@ -233,4 +233,4 @@ struct __intrusive_shared_ptr_traits<__stop_state> {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___STOP_TOKEN_STOP_STATE_H
+#endif // _LIBCPP___CXX03___STOP_TOKEN_STOP_STATE_H
diff --git a/libcxx/include/__cxx03/__stop_token/stop_token.h b/libcxx/include/__cxx03/__stop_token/stop_token.h
index bba5cd1c4796..64f3e605c788 100644
--- a/libcxx/include/__cxx03/__stop_token/stop_token.h
+++ b/libcxx/include/__cxx03/__stop_token/stop_token.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___STOP_TOKEN_STOP_TOKEN_H
-#define _LIBCPP___STOP_TOKEN_STOP_TOKEN_H
+#ifndef _LIBCPP___CXX03___STOP_TOKEN_STOP_TOKEN_H
+#define _LIBCPP___CXX03___STOP_TOKEN_STOP_TOKEN_H
#include <__cxx03/__config>
#include <__cxx03/__stop_token/intrusive_shared_ptr.h>
@@ -60,4 +60,4 @@ private:
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___STOP_TOKEN_STOP_TOKEN_H
+#endif // _LIBCPP___CXX03___STOP_TOKEN_STOP_TOKEN_H
diff --git a/libcxx/include/__cxx03/__string/char_traits.h b/libcxx/include/__cxx03/__string/char_traits.h
index 69078d6615ea..e962d986b278 100644
--- a/libcxx/include/__cxx03/__string/char_traits.h
+++ b/libcxx/include/__cxx03/__string/char_traits.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___STRING_CHAR_TRAITS_H
-#define _LIBCPP___STRING_CHAR_TRAITS_H
+#ifndef _LIBCPP___CXX03___STRING_CHAR_TRAITS_H
+#define _LIBCPP___CXX03___STRING_CHAR_TRAITS_H
#include <__cxx03/__algorithm/fill_n.h>
#include <__cxx03/__algorithm/find.h>
@@ -540,4 +540,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___STRING_CHAR_TRAITS_H
+#endif // _LIBCPP___CXX03___STRING_CHAR_TRAITS_H
diff --git a/libcxx/include/__cxx03/__string/constexpr_c_functions.h b/libcxx/include/__cxx03/__string/constexpr_c_functions.h
index b1e269d97408..5a0b4953de17 100644
--- a/libcxx/include/__cxx03/__string/constexpr_c_functions.h
+++ b/libcxx/include/__cxx03/__string/constexpr_c_functions.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___STRING_CONSTEXPR_C_FUNCTIONS_H
-#define _LIBCPP___STRING_CONSTEXPR_C_FUNCTIONS_H
+#ifndef _LIBCPP___CXX03___STRING_CONSTEXPR_C_FUNCTIONS_H
+#define _LIBCPP___CXX03___STRING_CONSTEXPR_C_FUNCTIONS_H
#include <__cxx03/__config>
#include <__cxx03/__memory/addressof.h>
@@ -231,4 +231,4 @@ __constexpr_memmove(_Tp* __dest, _Up* __src, __element_count __n) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___STRING_CONSTEXPR_C_FUNCTIONS_H
+#endif // _LIBCPP___CXX03___STRING_CONSTEXPR_C_FUNCTIONS_H
diff --git a/libcxx/include/__cxx03/__string/extern_template_lists.h b/libcxx/include/__cxx03/__string/extern_template_lists.h
index 09b3375aeecf..27cfd560988c 100644
--- a/libcxx/include/__cxx03/__string/extern_template_lists.h
+++ b/libcxx/include/__cxx03/__string/extern_template_lists.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___STRING_EXTERN_TEMPLATE_LISTS_H
-#define _LIBCPP___STRING_EXTERN_TEMPLATE_LISTS_H
+#ifndef _LIBCPP___CXX03___STRING_EXTERN_TEMPLATE_LISTS_H
+#define _LIBCPP___CXX03___STRING_EXTERN_TEMPLATE_LISTS_H
#include <__cxx03/__config>
@@ -130,4 +130,4 @@
// clang-format on
-#endif // _LIBCPP___STRING_EXTERN_TEMPLATE_LISTS_H
+#endif // _LIBCPP___CXX03___STRING_EXTERN_TEMPLATE_LISTS_H
diff --git a/libcxx/include/__cxx03/__support/ibm/gettod_zos.h b/libcxx/include/__cxx03/__support/ibm/gettod_zos.h
index 18797cc18e61..3bb9b942a390 100644
--- a/libcxx/include/__cxx03/__support/ibm/gettod_zos.h
+++ b/libcxx/include/__cxx03/__support/ibm/gettod_zos.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___SUPPORT_IBM_GETTOD_ZOS_H
-#define _LIBCPP___SUPPORT_IBM_GETTOD_ZOS_H
+#ifndef _LIBCPP___CXX03___SUPPORT_IBM_GETTOD_ZOS_H
+#define _LIBCPP___CXX03___SUPPORT_IBM_GETTOD_ZOS_H
#include <__cxx03/time.h>
@@ -49,4 +49,4 @@ inline _LIBCPP_HIDE_FROM_ABI int gettimeofdayMonotonic(struct timespec64* Output
return 0;
}
-#endif // _LIBCPP___SUPPORT_IBM_GETTOD_ZOS_H
+#endif // _LIBCPP___CXX03___SUPPORT_IBM_GETTOD_ZOS_H
diff --git a/libcxx/include/__cxx03/__support/ibm/locale_mgmt_zos.h b/libcxx/include/__cxx03/__support/ibm/locale_mgmt_zos.h
index ec88704ba860..9fa8f8c9088e 100644
--- a/libcxx/include/__cxx03/__support/ibm/locale_mgmt_zos.h
+++ b/libcxx/include/__cxx03/__support/ibm/locale_mgmt_zos.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___SUPPORT_IBM_LOCALE_MGMT_ZOS_H
-#define _LIBCPP___SUPPORT_IBM_LOCALE_MGMT_ZOS_H
+#ifndef _LIBCPP___CXX03___SUPPORT_IBM_LOCALE_MGMT_ZOS_H
+#define _LIBCPP___CXX03___SUPPORT_IBM_LOCALE_MGMT_ZOS_H
#if defined(__MVS__)
# include <__cxx03/locale.h>
@@ -50,4 +50,4 @@ locale_t uselocale(locale_t newloc);
}
# endif
#endif // defined(__MVS__)
-#endif // _LIBCPP___SUPPORT_IBM_LOCALE_MGMT_ZOS_H
+#endif // _LIBCPP___CXX03___SUPPORT_IBM_LOCALE_MGMT_ZOS_H
diff --git a/libcxx/include/__cxx03/__support/ibm/nanosleep.h b/libcxx/include/__cxx03/__support/ibm/nanosleep.h
index ecf7187543f3..1b6883bbcc11 100644
--- a/libcxx/include/__cxx03/__support/ibm/nanosleep.h
+++ b/libcxx/include/__cxx03/__support/ibm/nanosleep.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___SUPPORT_IBM_NANOSLEEP_H
-#define _LIBCPP___SUPPORT_IBM_NANOSLEEP_H
+#ifndef _LIBCPP___CXX03___SUPPORT_IBM_NANOSLEEP_H
+#define _LIBCPP___CXX03___SUPPORT_IBM_NANOSLEEP_H
#include <__cxx03/unistd.h>
@@ -52,4 +52,4 @@ inline int nanosleep(const struct timespec* __req, struct timespec* __rem) {
return 0;
}
-#endif // _LIBCPP___SUPPORT_IBM_NANOSLEEP_H
+#endif // _LIBCPP___CXX03___SUPPORT_IBM_NANOSLEEP_H
diff --git a/libcxx/include/__cxx03/__support/xlocale/__nop_locale_mgmt.h b/libcxx/include/__cxx03/__support/xlocale/__nop_locale_mgmt.h
index 036bd3b18350..f948a292c5f0 100644
--- a/libcxx/include/__cxx03/__support/xlocale/__nop_locale_mgmt.h
+++ b/libcxx/include/__cxx03/__support/xlocale/__nop_locale_mgmt.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___SUPPORT_XLOCALE_NOP_LOCALE_MGMT_H
-#define _LIBCPP___SUPPORT_XLOCALE_NOP_LOCALE_MGMT_H
+#ifndef _LIBCPP___CXX03___SUPPORT_XLOCALE_NOP_LOCALE_MGMT_H
+#define _LIBCPP___CXX03___SUPPORT_XLOCALE_NOP_LOCALE_MGMT_H
#include <__cxx03/__config>
@@ -32,4 +32,4 @@ inline _LIBCPP_HIDE_FROM_ABI locale_t uselocale(locale_t) { return NULL; }
#define LC_ALL_MASK \
(LC_COLLATE_MASK | LC_CTYPE_MASK | LC_MONETARY_MASK | LC_NUMERIC_MASK | LC_TIME_MASK | LC_MESSAGES_MASK)
-#endif // _LIBCPP___SUPPORT_XLOCALE_NOP_LOCALE_MGMT_H
+#endif // _LIBCPP___CXX03___SUPPORT_XLOCALE_NOP_LOCALE_MGMT_H
diff --git a/libcxx/include/__cxx03/__support/xlocale/__posix_l_fallback.h b/libcxx/include/__cxx03/__support/xlocale/__posix_l_fallback.h
index 8651c2b7ca95..03e7f15f31ac 100644
--- a/libcxx/include/__cxx03/__support/xlocale/__posix_l_fallback.h
+++ b/libcxx/include/__cxx03/__support/xlocale/__posix_l_fallback.h
@@ -12,8 +12,8 @@
// Android's bionic and Newlib).
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___SUPPORT_XLOCALE_POSIX_L_FALLBACK_H
-#define _LIBCPP___SUPPORT_XLOCALE_POSIX_L_FALLBACK_H
+#ifndef _LIBCPP___CXX03___SUPPORT_XLOCALE_POSIX_L_FALLBACK_H
+#define _LIBCPP___CXX03___SUPPORT_XLOCALE_POSIX_L_FALLBACK_H
#include <__cxx03/__config>
#include <__cxx03/ctype.h>
@@ -104,4 +104,4 @@ inline _LIBCPP_HIDE_FROM_ABI size_t wcsxfrm_l(wchar_t* __dest, const wchar_t* __
}
#endif // _LIBCPP_HAS_NO_WIDE_CHARACTERS
-#endif // _LIBCPP___SUPPORT_XLOCALE_POSIX_L_FALLBACK_H
+#endif // _LIBCPP___CXX03___SUPPORT_XLOCALE_POSIX_L_FALLBACK_H
diff --git a/libcxx/include/__cxx03/__support/xlocale/__strtonum_fallback.h b/libcxx/include/__cxx03/__support/xlocale/__strtonum_fallback.h
index 3587e2f1a321..9ab49ed03623 100644
--- a/libcxx/include/__cxx03/__support/xlocale/__strtonum_fallback.h
+++ b/libcxx/include/__cxx03/__support/xlocale/__strtonum_fallback.h
@@ -12,8 +12,8 @@
// convert strings to some numeric type.
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___SUPPORT_XLOCALE_STRTONUM_FALLBACK_H
-#define _LIBCPP___SUPPORT_XLOCALE_STRTONUM_FALLBACK_H
+#ifndef _LIBCPP___CXX03___SUPPORT_XLOCALE_STRTONUM_FALLBACK_H
+#define _LIBCPP___CXX03___SUPPORT_XLOCALE_STRTONUM_FALLBACK_H
#include <__cxx03/__config>
#include <__cxx03/stdlib.h>
@@ -42,4 +42,4 @@ inline _LIBCPP_HIDE_FROM_ABI unsigned long long strtoull_l(const char* __nptr, c
return ::strtoull(__nptr, __endptr, __base);
}
-#endif // _LIBCPP___SUPPORT_XLOCALE_STRTONUM_FALLBACK_H
+#endif // _LIBCPP___CXX03___SUPPORT_XLOCALE_STRTONUM_FALLBACK_H
diff --git a/libcxx/include/__cxx03/__system_error/errc.h b/libcxx/include/__cxx03/__system_error/errc.h
index 33e670ecd3a7..d2f7dc5f50dd 100644
--- a/libcxx/include/__cxx03/__system_error/errc.h
+++ b/libcxx/include/__cxx03/__system_error/errc.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___ERRC
-#define _LIBCPP___ERRC
+#ifndef _LIBCPP___CXX03___ERRC
+#define _LIBCPP___CXX03___ERRC
/*
system_error synopsis
@@ -263,4 +263,4 @@ _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(errc)
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___ERRC
+#endif // _LIBCPP___CXX03___ERRC
diff --git a/libcxx/include/__cxx03/__system_error/error_category.h b/libcxx/include/__cxx03/__system_error/error_category.h
index cc08cf2801d4..7f9dd7171ea5 100644
--- a/libcxx/include/__cxx03/__system_error/error_category.h
+++ b/libcxx/include/__cxx03/__system_error/error_category.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___SYSTEM_ERROR_ERROR_CATEGORY_H
-#define _LIBCPP___SYSTEM_ERROR_ERROR_CATEGORY_H
+#ifndef _LIBCPP___CXX03___SYSTEM_ERROR_ERROR_CATEGORY_H
+#define _LIBCPP___CXX03___SYSTEM_ERROR_ERROR_CATEGORY_H
#include <__cxx03/__compare/ordering.h>
#include <__cxx03/__config>
@@ -72,4 +72,4 @@ __attribute__((__const__)) _LIBCPP_EXPORTED_FROM_ABI const error_category& syste
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___SYSTEM_ERROR_ERROR_CATEGORY_H
+#endif // _LIBCPP___CXX03___SYSTEM_ERROR_ERROR_CATEGORY_H
diff --git a/libcxx/include/__cxx03/__system_error/error_code.h b/libcxx/include/__cxx03/__system_error/error_code.h
index 2fe4d299885f..e253f88633d3 100644
--- a/libcxx/include/__cxx03/__system_error/error_code.h
+++ b/libcxx/include/__cxx03/__system_error/error_code.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___SYSTEM_ERROR_ERROR_CODE_H
-#define _LIBCPP___SYSTEM_ERROR_ERROR_CODE_H
+#ifndef _LIBCPP___CXX03___SYSTEM_ERROR_ERROR_CODE_H
+#define _LIBCPP___CXX03___SYSTEM_ERROR_ERROR_CODE_H
#include <__cxx03/__compare/ordering.h>
#include <__cxx03/__config>
@@ -140,4 +140,4 @@ struct _LIBCPP_TEMPLATE_VIS hash<error_code> : public __unary_function<error_cod
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___SYSTEM_ERROR_ERROR_CODE_H
+#endif // _LIBCPP___CXX03___SYSTEM_ERROR_ERROR_CODE_H
diff --git a/libcxx/include/__cxx03/__system_error/error_condition.h b/libcxx/include/__cxx03/__system_error/error_condition.h
index 87bfcd6c6350..ba37deaf4fcb 100644
--- a/libcxx/include/__cxx03/__system_error/error_condition.h
+++ b/libcxx/include/__cxx03/__system_error/error_condition.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___SYSTEM_ERROR_ERROR_CONDITION_H
-#define _LIBCPP___SYSTEM_ERROR_ERROR_CONDITION_H
+#ifndef _LIBCPP___CXX03___SYSTEM_ERROR_ERROR_CONDITION_H
+#define _LIBCPP___CXX03___SYSTEM_ERROR_ERROR_CONDITION_H
#include <__cxx03/__compare/ordering.h>
#include <__cxx03/__config>
@@ -127,4 +127,4 @@ struct _LIBCPP_TEMPLATE_VIS hash<error_condition> : public __unary_function<erro
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___SYSTEM_ERROR_ERROR_CONDITION_H
+#endif // _LIBCPP___CXX03___SYSTEM_ERROR_ERROR_CONDITION_H
diff --git a/libcxx/include/__cxx03/__system_error/system_error.h b/libcxx/include/__cxx03/__system_error/system_error.h
index 2487d3bafa06..84fbba1c8436 100644
--- a/libcxx/include/__cxx03/__system_error/system_error.h
+++ b/libcxx/include/__cxx03/__system_error/system_error.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___SYSTEM_ERROR_SYSTEM_ERROR_H
-#define _LIBCPP___SYSTEM_ERROR_SYSTEM_ERROR_H
+#ifndef _LIBCPP___CXX03___SYSTEM_ERROR_SYSTEM_ERROR_H
+#define _LIBCPP___CXX03___SYSTEM_ERROR_SYSTEM_ERROR_H
#include <__cxx03/__config>
#include <__cxx03/__system_error/error_category.h>
@@ -51,4 +51,4 @@ _LIBCPP_NORETURN _LIBCPP_HIDE_FROM_ABI inline void __throw_system_error(error_co
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___SYSTEM_ERROR_SYSTEM_ERROR_H
+#endif // _LIBCPP___CXX03___SYSTEM_ERROR_SYSTEM_ERROR_H
diff --git a/libcxx/include/__cxx03/__thread/formatter.h b/libcxx/include/__cxx03/__thread/formatter.h
index d7ecba57203e..5d54789ee445 100644
--- a/libcxx/include/__cxx03/__thread/formatter.h
+++ b/libcxx/include/__cxx03/__thread/formatter.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___THREAD_FORMATTER_H
-#define _LIBCPP___THREAD_FORMATTER_H
+#ifndef _LIBCPP___CXX03___THREAD_FORMATTER_H
+#define _LIBCPP___CXX03___THREAD_FORMATTER_H
#include <__cxx03/__concepts/arithmetic.h>
#include <__cxx03/__config>
@@ -77,4 +77,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 23
-#endif // _LIBCPP___THREAD_FORMATTER_H
+#endif // _LIBCPP___CXX03___THREAD_FORMATTER_H
diff --git a/libcxx/include/__cxx03/__thread/id.h b/libcxx/include/__cxx03/__thread/id.h
index 09e7bb071c61..8dcd68bdf39d 100644
--- a/libcxx/include/__cxx03/__thread/id.h
+++ b/libcxx/include/__cxx03/__thread/id.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___THREAD_ID_H
-#define _LIBCPP___THREAD_ID_H
+#ifndef _LIBCPP___CXX03___THREAD_ID_H
+#define _LIBCPP___CXX03___THREAD_ID_H
#include <__cxx03/__compare/ordering.h>
#include <__cxx03/__config>
@@ -118,4 +118,4 @@ inline _LIBCPP_HIDE_FROM_ABI __thread_id get_id() _NOEXCEPT { return __libcpp_th
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___THREAD_ID_H
+#endif // _LIBCPP___CXX03___THREAD_ID_H
diff --git a/libcxx/include/__cxx03/__thread/jthread.h b/libcxx/include/__cxx03/__thread/jthread.h
index 840d0cae9d0a..6272ccaa6f7c 100644
--- a/libcxx/include/__cxx03/__thread/jthread.h
+++ b/libcxx/include/__cxx03/__thread/jthread.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___THREAD_JTHREAD_H
-#define _LIBCPP___THREAD_JTHREAD_H
+#ifndef _LIBCPP___CXX03___THREAD_JTHREAD_H
+#define _LIBCPP___CXX03___THREAD_JTHREAD_H
#include <__cxx03/__config>
#include <__cxx03/__functional/invoke.h>
@@ -131,4 +131,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___THREAD_JTHREAD_H
+#endif // _LIBCPP___CXX03___THREAD_JTHREAD_H
diff --git a/libcxx/include/__cxx03/__thread/poll_with_backoff.h b/libcxx/include/__cxx03/__thread/poll_with_backoff.h
index d875c1465dc8..b500629c8521 100644
--- a/libcxx/include/__cxx03/__thread/poll_with_backoff.h
+++ b/libcxx/include/__cxx03/__thread/poll_with_backoff.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___THREAD_POLL_WITH_BACKOFF_H
-#define _LIBCPP___THREAD_POLL_WITH_BACKOFF_H
+#ifndef _LIBCPP___CXX03___THREAD_POLL_WITH_BACKOFF_H
+#define _LIBCPP___CXX03___THREAD_POLL_WITH_BACKOFF_H
#include <__cxx03/__chrono/duration.h>
#include <__cxx03/__chrono/high_resolution_clock.h>
@@ -64,4 +64,4 @@ struct __spinning_backoff_policy {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___THREAD_POLL_WITH_BACKOFF_H
+#endif // _LIBCPP___CXX03___THREAD_POLL_WITH_BACKOFF_H
diff --git a/libcxx/include/__cxx03/__thread/support.h b/libcxx/include/__cxx03/__thread/support.h
index 3ef25c88c1a8..c1cdc999a698 100644
--- a/libcxx/include/__cxx03/__thread/support.h
+++ b/libcxx/include/__cxx03/__thread/support.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___THREAD_SUPPORT_H
-#define _LIBCPP___THREAD_SUPPORT_H
+#ifndef _LIBCPP___CXX03___THREAD_SUPPORT_H
+#define _LIBCPP___CXX03___THREAD_SUPPORT_H
#include <__cxx03/__config>
@@ -120,4 +120,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // !_LIBCPP_HAS_NO_THREADS
-#endif // _LIBCPP___THREAD_SUPPORT_H
+#endif // _LIBCPP___CXX03___THREAD_SUPPORT_H
diff --git a/libcxx/include/__cxx03/__thread/support/c11.h b/libcxx/include/__cxx03/__thread/support/c11.h
index 7b791388029b..4ae6f841a943 100644
--- a/libcxx/include/__cxx03/__thread/support/c11.h
+++ b/libcxx/include/__cxx03/__thread/support/c11.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___THREAD_SUPPORT_C11_H
-#define _LIBCPP___THREAD_SUPPORT_C11_H
+#ifndef _LIBCPP___CXX03___THREAD_SUPPORT_C11_H
+#define _LIBCPP___CXX03___THREAD_SUPPORT_C11_H
#include <__cxx03/__chrono/convert_to_timespec.h>
#include <__cxx03/__chrono/duration.h>
@@ -188,4 +188,4 @@ inline _LIBCPP_HIDE_FROM_ABI int __libcpp_tls_set(__libcpp_tls_key __key, void*
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___THREAD_SUPPORT_C11_H
+#endif // _LIBCPP___CXX03___THREAD_SUPPORT_C11_H
diff --git a/libcxx/include/__cxx03/__thread/support/external.h b/libcxx/include/__cxx03/__thread/support/external.h
index d4b476c43504..39b2ad467fa5 100644
--- a/libcxx/include/__cxx03/__thread/support/external.h
+++ b/libcxx/include/__cxx03/__thread/support/external.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___THREAD_SUPPORT_EXTERNAL_H
-#define _LIBCPP___THREAD_SUPPORT_EXTERNAL_H
+#ifndef _LIBCPP___CXX03___THREAD_SUPPORT_EXTERNAL_H
+#define _LIBCPP___CXX03___THREAD_SUPPORT_EXTERNAL_H
#include <__cxx03/__config>
@@ -18,4 +18,4 @@
#include <__cxx03/__external_threading>
-#endif // _LIBCPP___THREAD_SUPPORT_EXTERNAL_H
+#endif // _LIBCPP___CXX03___THREAD_SUPPORT_EXTERNAL_H
diff --git a/libcxx/include/__cxx03/__thread/support/pthread.h b/libcxx/include/__cxx03/__thread/support/pthread.h
index 9c3646896c10..4dc7a4980de2 100644
--- a/libcxx/include/__cxx03/__thread/support/pthread.h
+++ b/libcxx/include/__cxx03/__thread/support/pthread.h
@@ -7,16 +7,16 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___THREAD_SUPPORT_PTHREAD_H
-#define _LIBCPP___THREAD_SUPPORT_PTHREAD_H
+#ifndef _LIBCPP___CXX03___THREAD_SUPPORT_PTHREAD_H
+#define _LIBCPP___CXX03___THREAD_SUPPORT_PTHREAD_H
#include <__cxx03/__chrono/convert_to_timespec.h>
#include <__cxx03/__chrono/duration.h>
#include <__cxx03/__config>
#include <__cxx03/ctime>
#include <__cxx03/errno.h>
-#include <__cxx03/pthread.h>
-#include <__cxx03/sched.h>
+#include <pthread.h>
+#include <sched.h>
#ifdef __MVS__
# include <__cxx03/__support/ibm/nanosleep.h>
@@ -218,4 +218,4 @@ inline _LIBCPP_HIDE_FROM_ABI int __libcpp_tls_set(__libcpp_tls_key __key, void*
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___THREAD_SUPPORT_PTHREAD_H
+#endif // _LIBCPP___CXX03___THREAD_SUPPORT_PTHREAD_H
diff --git a/libcxx/include/__cxx03/__thread/support/windows.h b/libcxx/include/__cxx03/__thread/support/windows.h
index b7b859b060ef..45252a57efae 100644
--- a/libcxx/include/__cxx03/__thread/support/windows.h
+++ b/libcxx/include/__cxx03/__thread/support/windows.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___THREAD_SUPPORT_WINDOWS_H
-#define _LIBCPP___THREAD_SUPPORT_WINDOWS_H
+#ifndef _LIBCPP___CXX03___THREAD_SUPPORT_WINDOWS_H
+#define _LIBCPP___CXX03___THREAD_SUPPORT_WINDOWS_H
#include <__cxx03/__chrono/duration.h>
#include <__cxx03/__config>
@@ -130,4 +130,4 @@ _LIBCPP_EXPORTED_FROM_ABI int __libcpp_tls_set(__libcpp_tls_key __key, void* __p
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___THREAD_SUPPORT_WINDOWS_H
+#endif // _LIBCPP___CXX03___THREAD_SUPPORT_WINDOWS_H
diff --git a/libcxx/include/__cxx03/__thread/this_thread.h b/libcxx/include/__cxx03/__thread/this_thread.h
index fe6c19aaf9b4..ae9c37ef02fb 100644
--- a/libcxx/include/__cxx03/__thread/this_thread.h
+++ b/libcxx/include/__cxx03/__thread/this_thread.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___THREAD_THIS_THREAD_H
-#define _LIBCPP___THREAD_THIS_THREAD_H
+#ifndef _LIBCPP___CXX03___THREAD_THIS_THREAD_H
+#define _LIBCPP___CXX03___THREAD_THIS_THREAD_H
#include <__cxx03/__chrono/steady_clock.h>
#include <__cxx03/__chrono/time_point.h>
@@ -71,4 +71,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___THREAD_THIS_THREAD_H
+#endif // _LIBCPP___CXX03___THREAD_THIS_THREAD_H
diff --git a/libcxx/include/__cxx03/__thread/thread.h b/libcxx/include/__cxx03/__thread/thread.h
index fdd875e03cc6..b624a7d46fe2 100644
--- a/libcxx/include/__cxx03/__thread/thread.h
+++ b/libcxx/include/__cxx03/__thread/thread.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___THREAD_THREAD_H
-#define _LIBCPP___THREAD_THREAD_H
+#ifndef _LIBCPP___CXX03___THREAD_THREAD_H
+#define _LIBCPP___CXX03___THREAD_THREAD_H
#include <__cxx03/__condition_variable/condition_variable.h>
#include <__cxx03/__config>
@@ -255,4 +255,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___THREAD_THREAD_H
+#endif // _LIBCPP___CXX03___THREAD_THREAD_H
diff --git a/libcxx/include/__cxx03/__thread/timed_backoff_policy.h b/libcxx/include/__cxx03/__thread/timed_backoff_policy.h
index eec6f225d717..f21d88629027 100644
--- a/libcxx/include/__cxx03/__thread/timed_backoff_policy.h
+++ b/libcxx/include/__cxx03/__thread/timed_backoff_policy.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___THREAD_TIMED_BACKOFF_POLICY_H
-#define _LIBCPP___THREAD_TIMED_BACKOFF_POLICY_H
+#ifndef _LIBCPP___CXX03___THREAD_TIMED_BACKOFF_POLICY_H
+#define _LIBCPP___CXX03___THREAD_TIMED_BACKOFF_POLICY_H
#include <__cxx03/__config>
@@ -41,4 +41,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_HAS_NO_THREADS
-#endif // _LIBCPP___THREAD_TIMED_BACKOFF_POLICY_H
+#endif // _LIBCPP___CXX03___THREAD_TIMED_BACKOFF_POLICY_H
diff --git a/libcxx/include/__cxx03/__tree b/libcxx/include/__cxx03/__tree
index 2b8521a09153..8982baf18d1a 100644
--- a/libcxx/include/__cxx03/__tree
+++ b/libcxx/include/__cxx03/__tree
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TREE
-#define _LIBCPP___TREE
+#ifndef _LIBCPP___CXX03___TREE
+#define _LIBCPP___CXX03___TREE
#include <__cxx03/__algorithm/min.h>
#include <__cxx03/__assert>
@@ -2296,4 +2296,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___TREE
+#endif // _LIBCPP___CXX03___TREE
diff --git a/libcxx/include/__cxx03/__tuple/find_index.h b/libcxx/include/__cxx03/__tuple/find_index.h
index 899e7f2d7b41..a090dff91e97 100644
--- a/libcxx/include/__cxx03/__tuple/find_index.h
+++ b/libcxx/include/__cxx03/__tuple/find_index.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TUPLE_FIND_INDEX_H
-#define _LIBCPP___TUPLE_FIND_INDEX_H
+#ifndef _LIBCPP___CXX03___TUPLE_FIND_INDEX_H
+#define _LIBCPP___CXX03___TUPLE_FIND_INDEX_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/is_same.h>
@@ -59,4 +59,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 14
-#endif // _LIBCPP___TUPLE_FIND_INDEX_H
+#endif // _LIBCPP___CXX03___TUPLE_FIND_INDEX_H
diff --git a/libcxx/include/__cxx03/__tuple/ignore.h b/libcxx/include/__cxx03/__tuple/ignore.h
index 2d1800ae0d70..9e00de9a8471 100644
--- a/libcxx/include/__cxx03/__tuple/ignore.h
+++ b/libcxx/include/__cxx03/__tuple/ignore.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TUPLE_IGNORE_H
-#define _LIBCPP___TUPLE_IGNORE_H
+#ifndef _LIBCPP___CXX03___TUPLE_IGNORE_H
+#define _LIBCPP___CXX03___TUPLE_IGNORE_H
#include <__cxx03/__config>
@@ -36,4 +36,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_CXX03_LANG
-#endif // _LIBCPP___TUPLE_IGNORE_H
+#endif // _LIBCPP___CXX03___TUPLE_IGNORE_H
diff --git a/libcxx/include/__cxx03/__tuple/make_tuple_types.h b/libcxx/include/__cxx03/__tuple/make_tuple_types.h
index b7abfa74f6f1..d8eed10dc51a 100644
--- a/libcxx/include/__cxx03/__tuple/make_tuple_types.h
+++ b/libcxx/include/__cxx03/__tuple/make_tuple_types.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TUPLE_MAKE_TUPLE_TYPES_H
-#define _LIBCPP___TUPLE_MAKE_TUPLE_TYPES_H
+#ifndef _LIBCPP___CXX03___TUPLE_MAKE_TUPLE_TYPES_H
+#define _LIBCPP___CXX03___TUPLE_MAKE_TUPLE_TYPES_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/array.h>
@@ -77,4 +77,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_CXX03_LANG
-#endif // _LIBCPP___TUPLE_MAKE_TUPLE_TYPES_H
+#endif // _LIBCPP___CXX03___TUPLE_MAKE_TUPLE_TYPES_H
diff --git a/libcxx/include/__cxx03/__tuple/sfinae_helpers.h b/libcxx/include/__cxx03/__tuple/sfinae_helpers.h
index d6889364a916..4fbe87d6e9a5 100644
--- a/libcxx/include/__cxx03/__tuple/sfinae_helpers.h
+++ b/libcxx/include/__cxx03/__tuple/sfinae_helpers.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TUPLE_SFINAE_HELPERS_H
-#define _LIBCPP___TUPLE_SFINAE_HELPERS_H
+#ifndef _LIBCPP___CXX03___TUPLE_SFINAE_HELPERS_H
+#define _LIBCPP___CXX03___TUPLE_SFINAE_HELPERS_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/tuple.h>
@@ -139,4 +139,4 @@ struct __sfinae_assign_base<false, true> {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TUPLE_SFINAE_HELPERS_H
+#endif // _LIBCPP___CXX03___TUPLE_SFINAE_HELPERS_H
diff --git a/libcxx/include/__cxx03/__tuple/tuple_element.h b/libcxx/include/__cxx03/__tuple/tuple_element.h
index d00879a06942..56dbdc3beb39 100644
--- a/libcxx/include/__cxx03/__tuple/tuple_element.h
+++ b/libcxx/include/__cxx03/__tuple/tuple_element.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TUPLE_TUPLE_ELEMENT_H
-#define _LIBCPP___TUPLE_TUPLE_ELEMENT_H
+#ifndef _LIBCPP___CXX03___TUPLE_TUPLE_ELEMENT_H
+#define _LIBCPP___CXX03___TUPLE_TUPLE_ELEMENT_H
#include <__cxx03/__config>
#include <__cxx03/__tuple/tuple_indices.h>
@@ -55,4 +55,4 @@ using tuple_element_t _LIBCPP_NODEBUG = typename tuple_element<_Ip, _Tp...>::typ
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TUPLE_TUPLE_ELEMENT_H
+#endif // _LIBCPP___CXX03___TUPLE_TUPLE_ELEMENT_H
diff --git a/libcxx/include/__cxx03/__tuple/tuple_indices.h b/libcxx/include/__cxx03/__tuple/tuple_indices.h
index 6e51b69e906b..0c423d99ccb6 100644
--- a/libcxx/include/__cxx03/__tuple/tuple_indices.h
+++ b/libcxx/include/__cxx03/__tuple/tuple_indices.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TUPLE_MAKE_TUPLE_INDICES_H
-#define _LIBCPP___TUPLE_MAKE_TUPLE_INDICES_H
+#ifndef _LIBCPP___CXX03___TUPLE_MAKE_TUPLE_INDICES_H
+#define _LIBCPP___CXX03___TUPLE_MAKE_TUPLE_INDICES_H
#include <__cxx03/__config>
#include <__cxx03/__utility/integer_sequence.h>
@@ -34,4 +34,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_CXX03_LANG
-#endif // _LIBCPP___TUPLE_MAKE_TUPLE_INDICES_H
+#endif // _LIBCPP___CXX03___TUPLE_MAKE_TUPLE_INDICES_H
diff --git a/libcxx/include/__cxx03/__tuple/tuple_like.h b/libcxx/include/__cxx03/__tuple/tuple_like.h
index 23f42d58312a..ea596c4ba52d 100644
--- a/libcxx/include/__cxx03/__tuple/tuple_like.h
+++ b/libcxx/include/__cxx03/__tuple/tuple_like.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TUPLE_TUPLE_LIKE_H
-#define _LIBCPP___TUPLE_TUPLE_LIKE_H
+#ifndef _LIBCPP___CXX03___TUPLE_TUPLE_LIKE_H
+#define _LIBCPP___CXX03___TUPLE_TUPLE_LIKE_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/subrange.h>
@@ -39,4 +39,4 @@ concept __tuple_like = __tuple_like_no_subrange<_Tp> || __is_ranges_subrange_v<r
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TUPLE_TUPLE_LIKE_H
+#endif // _LIBCPP___CXX03___TUPLE_TUPLE_LIKE_H
diff --git a/libcxx/include/__cxx03/__tuple/tuple_like_ext.h b/libcxx/include/__cxx03/__tuple/tuple_like_ext.h
index 5bb07cc8b5e7..94470521cd06 100644
--- a/libcxx/include/__cxx03/__tuple/tuple_like_ext.h
+++ b/libcxx/include/__cxx03/__tuple/tuple_like_ext.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TUPLE_TUPLE_LIKE_EXT_H
-#define _LIBCPP___TUPLE_TUPLE_LIKE_EXT_H
+#ifndef _LIBCPP___CXX03___TUPLE_TUPLE_LIKE_EXT_H
+#define _LIBCPP___CXX03___TUPLE_TUPLE_LIKE_EXT_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/array.h>
@@ -49,4 +49,4 @@ struct __tuple_like_ext<__tuple_types<_Tp...> > : true_type {};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TUPLE_TUPLE_LIKE_EXT_H
+#endif // _LIBCPP___CXX03___TUPLE_TUPLE_LIKE_EXT_H
diff --git a/libcxx/include/__cxx03/__tuple/tuple_like_no_subrange.h b/libcxx/include/__cxx03/__tuple/tuple_like_no_subrange.h
index af4a14d2d535..ff095163363b 100644
--- a/libcxx/include/__cxx03/__tuple/tuple_like_no_subrange.h
+++ b/libcxx/include/__cxx03/__tuple/tuple_like_no_subrange.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TUPLE_TUPLE_LIKE_NO_SUBRANGE_H
-#define _LIBCPP___TUPLE_TUPLE_LIKE_NO_SUBRANGE_H
+#ifndef _LIBCPP___CXX03___TUPLE_TUPLE_LIKE_NO_SUBRANGE_H
+#define _LIBCPP___CXX03___TUPLE_TUPLE_LIKE_NO_SUBRANGE_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/array.h>
@@ -58,4 +58,4 @@ concept __pair_like_no_subrange = __tuple_like_no_subrange<_Tp> && tuple_size<re
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TUPLE_TUPLE_LIKE_NO_SUBRANGE_H
+#endif // _LIBCPP___CXX03___TUPLE_TUPLE_LIKE_NO_SUBRANGE_H
diff --git a/libcxx/include/__cxx03/__tuple/tuple_size.h b/libcxx/include/__cxx03/__tuple/tuple_size.h
index ada7a522182e..1f8fd22e3eaf 100644
--- a/libcxx/include/__cxx03/__tuple/tuple_size.h
+++ b/libcxx/include/__cxx03/__tuple/tuple_size.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TUPLE_TUPLE_SIZE_H
-#define _LIBCPP___TUPLE_TUPLE_SIZE_H
+#ifndef _LIBCPP___CXX03___TUPLE_TUPLE_SIZE_H
+#define _LIBCPP___CXX03___TUPLE_TUPLE_SIZE_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/tuple.h>
@@ -72,4 +72,4 @@ inline constexpr size_t tuple_size_v = tuple_size<_Tp>::value;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TUPLE_TUPLE_SIZE_H
+#endif // _LIBCPP___CXX03___TUPLE_TUPLE_SIZE_H
diff --git a/libcxx/include/__cxx03/__tuple/tuple_types.h b/libcxx/include/__cxx03/__tuple/tuple_types.h
index 562d199a02ba..72ee76f49412 100644
--- a/libcxx/include/__cxx03/__tuple/tuple_types.h
+++ b/libcxx/include/__cxx03/__tuple/tuple_types.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TUPLE_TUPLE_TYPES_H
-#define _LIBCPP___TUPLE_TUPLE_TYPES_H
+#ifndef _LIBCPP___CXX03___TUPLE_TUPLE_TYPES_H
+#define _LIBCPP___CXX03___TUPLE_TUPLE_TYPES_H
#include <__cxx03/__config>
@@ -22,4 +22,4 @@ struct __tuple_types {};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TUPLE_TUPLE_TYPES_H
+#endif // _LIBCPP___CXX03___TUPLE_TUPLE_TYPES_H
diff --git a/libcxx/include/__cxx03/__type_traits/add_const.h b/libcxx/include/__cxx03/__type_traits/add_const.h
index ce670824873e..004ce05c0399 100644
--- a/libcxx/include/__cxx03/__type_traits/add_const.h
+++ b/libcxx/include/__cxx03/__type_traits/add_const.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_ADD_CONST_H
-#define _LIBCPP___TYPE_TRAITS_ADD_CONST_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_ADD_CONST_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_ADD_CONST_H
#include <__cxx03/__config>
@@ -29,4 +29,4 @@ using add_const_t = typename add_const<_Tp>::type;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_ADD_CONST_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_ADD_CONST_H
diff --git a/libcxx/include/__cxx03/__type_traits/add_cv.h b/libcxx/include/__cxx03/__type_traits/add_cv.h
index 43eb05fa4048..8445b863b5c2 100644
--- a/libcxx/include/__cxx03/__type_traits/add_cv.h
+++ b/libcxx/include/__cxx03/__type_traits/add_cv.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_ADD_CV_H
-#define _LIBCPP___TYPE_TRAITS_ADD_CV_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_ADD_CV_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_ADD_CV_H
#include <__cxx03/__config>
@@ -29,4 +29,4 @@ using add_cv_t = typename add_cv<_Tp>::type;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_ADD_CV_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_ADD_CV_H
diff --git a/libcxx/include/__cxx03/__type_traits/add_lvalue_reference.h b/libcxx/include/__cxx03/__type_traits/add_lvalue_reference.h
index ca6ee5dc0b29..c35b366794a7 100644
--- a/libcxx/include/__cxx03/__type_traits/add_lvalue_reference.h
+++ b/libcxx/include/__cxx03/__type_traits/add_lvalue_reference.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_ADD_LVALUE_REFERENCE_H
-#define _LIBCPP___TYPE_TRAITS_ADD_LVALUE_REFERENCE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_ADD_LVALUE_REFERENCE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_ADD_LVALUE_REFERENCE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/is_referenceable.h>
@@ -51,4 +51,4 @@ using add_lvalue_reference_t = __add_lvalue_reference_t<_Tp>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_ADD_LVALUE_REFERENCE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_ADD_LVALUE_REFERENCE_H
diff --git a/libcxx/include/__cxx03/__type_traits/add_pointer.h b/libcxx/include/__cxx03/__type_traits/add_pointer.h
index ec3ba5d8f404..c53b5ce7e46a 100644
--- a/libcxx/include/__cxx03/__type_traits/add_pointer.h
+++ b/libcxx/include/__cxx03/__type_traits/add_pointer.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_ADD_POINTER_H
-#define _LIBCPP___TYPE_TRAITS_ADD_POINTER_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_ADD_POINTER_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_ADD_POINTER_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/is_referenceable.h>
@@ -52,4 +52,4 @@ using add_pointer_t = __add_pointer_t<_Tp>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_ADD_POINTER_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_ADD_POINTER_H
diff --git a/libcxx/include/__cxx03/__type_traits/add_rvalue_reference.h b/libcxx/include/__cxx03/__type_traits/add_rvalue_reference.h
index dc3be42ab017..812a15e6090e 100644
--- a/libcxx/include/__cxx03/__type_traits/add_rvalue_reference.h
+++ b/libcxx/include/__cxx03/__type_traits/add_rvalue_reference.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_ADD_RVALUE_REFERENCE_H
-#define _LIBCPP___TYPE_TRAITS_ADD_RVALUE_REFERENCE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_ADD_RVALUE_REFERENCE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_ADD_RVALUE_REFERENCE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/is_referenceable.h>
@@ -51,4 +51,4 @@ using add_rvalue_reference_t = __add_rvalue_reference_t<_Tp>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_ADD_RVALUE_REFERENCE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_ADD_RVALUE_REFERENCE_H
diff --git a/libcxx/include/__cxx03/__type_traits/add_volatile.h b/libcxx/include/__cxx03/__type_traits/add_volatile.h
index 35ff8d7435c6..9f649e4978d6 100644
--- a/libcxx/include/__cxx03/__type_traits/add_volatile.h
+++ b/libcxx/include/__cxx03/__type_traits/add_volatile.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_ADD_VOLATILE_H
-#define _LIBCPP___TYPE_TRAITS_ADD_VOLATILE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_ADD_VOLATILE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_ADD_VOLATILE_H
#include <__cxx03/__config>
@@ -29,4 +29,4 @@ using add_volatile_t = typename add_volatile<_Tp>::type;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_ADD_VOLATILE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_ADD_VOLATILE_H
diff --git a/libcxx/include/__cxx03/__type_traits/aligned_storage.h b/libcxx/include/__cxx03/__type_traits/aligned_storage.h
index fc9fe4edd27a..8383cc48bb44 100644
--- a/libcxx/include/__cxx03/__type_traits/aligned_storage.h
+++ b/libcxx/include/__cxx03/__type_traits/aligned_storage.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_ALIGNED_STORAGE_H
-#define _LIBCPP___TYPE_TRAITS_ALIGNED_STORAGE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_ALIGNED_STORAGE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_ALIGNED_STORAGE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/conditional.h>
@@ -135,4 +135,4 @@ _CREATE_ALIGNED_STORAGE_SPECIALIZATION(0x4000);
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_ALIGNED_STORAGE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_ALIGNED_STORAGE_H
diff --git a/libcxx/include/__cxx03/__type_traits/aligned_union.h b/libcxx/include/__cxx03/__type_traits/aligned_union.h
index d2c695d67538..0a0deb90e399 100644
--- a/libcxx/include/__cxx03/__type_traits/aligned_union.h
+++ b/libcxx/include/__cxx03/__type_traits/aligned_union.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_ALIGNED_UNION_H
-#define _LIBCPP___TYPE_TRAITS_ALIGNED_UNION_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_ALIGNED_UNION_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_ALIGNED_UNION_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/aligned_storage.h>
@@ -48,4 +48,4 @@ using aligned_union_t _LIBCPP_DEPRECATED_IN_CXX23 = typename aligned_union<_Len,
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_ALIGNED_UNION_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_ALIGNED_UNION_H
diff --git a/libcxx/include/__cxx03/__type_traits/alignment_of.h b/libcxx/include/__cxx03/__type_traits/alignment_of.h
index f2d5317d1a19..d72e0cc43ebf 100644
--- a/libcxx/include/__cxx03/__type_traits/alignment_of.h
+++ b/libcxx/include/__cxx03/__type_traits/alignment_of.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_ALIGNMENT_OF_H
-#define _LIBCPP___TYPE_TRAITS_ALIGNMENT_OF_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_ALIGNMENT_OF_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_ALIGNMENT_OF_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -29,4 +29,4 @@ inline constexpr size_t alignment_of_v = _LIBCPP_ALIGNOF(_Tp);
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_ALIGNMENT_OF_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_ALIGNMENT_OF_H
diff --git a/libcxx/include/__cxx03/__type_traits/can_extract_key.h b/libcxx/include/__cxx03/__type_traits/can_extract_key.h
index 8069ce25f4a6..437cee6bcb9a 100644
--- a/libcxx/include/__cxx03/__type_traits/can_extract_key.h
+++ b/libcxx/include/__cxx03/__type_traits/can_extract_key.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_CAN_EXTRACT_KEY_H
-#define _LIBCPP___TYPE_TRAITS_CAN_EXTRACT_KEY_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_CAN_EXTRACT_KEY_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_CAN_EXTRACT_KEY_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/pair.h>
@@ -50,4 +50,4 @@ struct __can_extract_map_key<_ValTy, _Key, _Key, _RawValTy> : false_type {};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_CAN_EXTRACT_KEY_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_CAN_EXTRACT_KEY_H
diff --git a/libcxx/include/__cxx03/__type_traits/common_reference.h b/libcxx/include/__cxx03/__type_traits/common_reference.h
index ecaf83323f2f..8e1694e14e6e 100644
--- a/libcxx/include/__cxx03/__type_traits/common_reference.h
+++ b/libcxx/include/__cxx03/__type_traits/common_reference.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_COMMON_REFERENCE_H
-#define _LIBCPP___TYPE_TRAITS_COMMON_REFERENCE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_COMMON_REFERENCE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_COMMON_REFERENCE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/common_type.h>
@@ -190,4 +190,4 @@ struct common_reference {};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_COMMON_REFERENCE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_COMMON_REFERENCE_H
diff --git a/libcxx/include/__cxx03/__type_traits/common_type.h b/libcxx/include/__cxx03/__type_traits/common_type.h
index 9f7d0cef37fa..78c36162ee4a 100644
--- a/libcxx/include/__cxx03/__type_traits/common_type.h
+++ b/libcxx/include/__cxx03/__type_traits/common_type.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_COMMON_TYPE_H
-#define _LIBCPP___TYPE_TRAITS_COMMON_TYPE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_COMMON_TYPE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_COMMON_TYPE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/conditional.h>
@@ -99,4 +99,4 @@ using common_type_t = typename common_type<_Tp...>::type;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_COMMON_TYPE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_COMMON_TYPE_H
diff --git a/libcxx/include/__cxx03/__type_traits/conditional.h b/libcxx/include/__cxx03/__type_traits/conditional.h
index e03dcf070801..6f7ca781f0e3 100644
--- a/libcxx/include/__cxx03/__type_traits/conditional.h
+++ b/libcxx/include/__cxx03/__type_traits/conditional.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_CONDITIONAL_H
-#define _LIBCPP___TYPE_TRAITS_CONDITIONAL_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_CONDITIONAL_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_CONDITIONAL_H
#include <__cxx03/__config>
@@ -55,4 +55,4 @@ using __conditional_t _LIBCPP_NODEBUG = typename conditional<_Bp, _If, _Then>::t
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_CONDITIONAL_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_CONDITIONAL_H
diff --git a/libcxx/include/__cxx03/__type_traits/conjunction.h b/libcxx/include/__cxx03/__type_traits/conjunction.h
index 9cb6a87764a9..af67e8d0899f 100644
--- a/libcxx/include/__cxx03/__type_traits/conjunction.h
+++ b/libcxx/include/__cxx03/__type_traits/conjunction.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_CONJUNCTION_H
-#define _LIBCPP___TYPE_TRAITS_CONJUNCTION_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_CONJUNCTION_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_CONJUNCTION_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/conditional.h>
@@ -62,4 +62,4 @@ inline constexpr bool conjunction_v = conjunction<_Args...>::value;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_CONJUNCTION_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_CONJUNCTION_H
diff --git a/libcxx/include/__cxx03/__type_traits/copy_cv.h b/libcxx/include/__cxx03/__type_traits/copy_cv.h
index 1ebda47a18bb..46913594d686 100644
--- a/libcxx/include/__cxx03/__type_traits/copy_cv.h
+++ b/libcxx/include/__cxx03/__type_traits/copy_cv.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_COPY_CV_H
-#define _LIBCPP___TYPE_TRAITS_COPY_CV_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_COPY_CV_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_COPY_CV_H
#include <__cxx03/__config>
@@ -48,4 +48,4 @@ using __copy_cv_t = typename __copy_cv<_From>::template __apply<_To>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_COPY_CV_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_COPY_CV_H
diff --git a/libcxx/include/__cxx03/__type_traits/copy_cvref.h b/libcxx/include/__cxx03/__type_traits/copy_cvref.h
index d852bcd3b99c..f2bb2be9c0a3 100644
--- a/libcxx/include/__cxx03/__type_traits/copy_cvref.h
+++ b/libcxx/include/__cxx03/__type_traits/copy_cvref.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_COPY_CVREF_H
-#define _LIBCPP___TYPE_TRAITS_COPY_CVREF_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_COPY_CVREF_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_COPY_CVREF_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/add_lvalue_reference.h>
@@ -40,4 +40,4 @@ using __copy_cvref_t = typename __copy_cvref<_From, _To>::type;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_COPY_CVREF_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_COPY_CVREF_H
diff --git a/libcxx/include/__cxx03/__type_traits/datasizeof.h b/libcxx/include/__cxx03/__type_traits/datasizeof.h
index 7dd87e162d34..d428856d13a6 100644
--- a/libcxx/include/__cxx03/__type_traits/datasizeof.h
+++ b/libcxx/include/__cxx03/__type_traits/datasizeof.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_DATASIZEOF_H
-#define _LIBCPP___TYPE_TRAITS_DATASIZEOF_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_DATASIZEOF_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_DATASIZEOF_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/is_class.h>
@@ -62,4 +62,4 @@ _LIBCPP_DIAGNOSTIC_POP
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_DATASIZEOF_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_DATASIZEOF_H
diff --git a/libcxx/include/__cxx03/__type_traits/decay.h b/libcxx/include/__cxx03/__type_traits/decay.h
index 3563543a3091..bf745a89a1d0 100644
--- a/libcxx/include/__cxx03/__type_traits/decay.h
+++ b/libcxx/include/__cxx03/__type_traits/decay.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_DECAY_H
-#define _LIBCPP___TYPE_TRAITS_DECAY_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_DECAY_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_DECAY_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/add_pointer.h>
@@ -70,4 +70,4 @@ using decay_t = __decay_t<_Tp>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_DECAY_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_DECAY_H
diff --git a/libcxx/include/__cxx03/__type_traits/dependent_type.h b/libcxx/include/__cxx03/__type_traits/dependent_type.h
index fed130a8f101..60ce814ca6b0 100644
--- a/libcxx/include/__cxx03/__type_traits/dependent_type.h
+++ b/libcxx/include/__cxx03/__type_traits/dependent_type.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_DEPENDENT_TYPE_H
-#define _LIBCPP___TYPE_TRAITS_DEPENDENT_TYPE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_DEPENDENT_TYPE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_DEPENDENT_TYPE_H
#include <__cxx03/__config>
@@ -22,4 +22,4 @@ struct _LIBCPP_TEMPLATE_VIS __dependent_type : public _Tp {};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_DEPENDENT_TYPE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_DEPENDENT_TYPE_H
diff --git a/libcxx/include/__cxx03/__type_traits/desugars_to.h b/libcxx/include/__cxx03/__type_traits/desugars_to.h
index e16fb59007fe..eb2dfefd86e2 100644
--- a/libcxx/include/__cxx03/__type_traits/desugars_to.h
+++ b/libcxx/include/__cxx03/__type_traits/desugars_to.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_DESUGARS_TO_H
-#define _LIBCPP___TYPE_TRAITS_DESUGARS_TO_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_DESUGARS_TO_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_DESUGARS_TO_H
#include <__cxx03/__config>
@@ -37,4 +37,4 @@ inline const bool __desugars_to_v = false;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_DESUGARS_TO_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_DESUGARS_TO_H
diff --git a/libcxx/include/__cxx03/__type_traits/disjunction.h b/libcxx/include/__cxx03/__type_traits/disjunction.h
index 717a439669e1..0ff8218e7419 100644
--- a/libcxx/include/__cxx03/__type_traits/disjunction.h
+++ b/libcxx/include/__cxx03/__type_traits/disjunction.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_DISJUNCTION_H
-#define _LIBCPP___TYPE_TRAITS_DISJUNCTION_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_DISJUNCTION_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_DISJUNCTION_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -55,4 +55,4 @@ inline constexpr bool disjunction_v = _Or<_Args...>::value;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_DISJUNCTION_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_DISJUNCTION_H
diff --git a/libcxx/include/__cxx03/__type_traits/enable_if.h b/libcxx/include/__cxx03/__type_traits/enable_if.h
index d21c1301e0a2..042ad139725d 100644
--- a/libcxx/include/__cxx03/__type_traits/enable_if.h
+++ b/libcxx/include/__cxx03/__type_traits/enable_if.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_ENABLE_IF_H
-#define _LIBCPP___TYPE_TRAITS_ENABLE_IF_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_ENABLE_IF_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_ENABLE_IF_H
#include <__cxx03/__config>
@@ -34,4 +34,4 @@ using enable_if_t = typename enable_if<_Bp, _Tp>::type;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_ENABLE_IF_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_ENABLE_IF_H
diff --git a/libcxx/include/__cxx03/__type_traits/extent.h b/libcxx/include/__cxx03/__type_traits/extent.h
index d29fef59a5a9..4d7dd8398768 100644
--- a/libcxx/include/__cxx03/__type_traits/extent.h
+++ b/libcxx/include/__cxx03/__type_traits/extent.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_EXTENT_H
-#define _LIBCPP___TYPE_TRAITS_EXTENT_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_EXTENT_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_EXTENT_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -51,4 +51,4 @@ inline constexpr size_t extent_v = extent<_Tp, _Ip>::value;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_EXTENT_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_EXTENT_H
diff --git a/libcxx/include/__cxx03/__type_traits/has_unique_object_representation.h b/libcxx/include/__cxx03/__type_traits/has_unique_object_representation.h
index 4a507fe7fcac..8abd31973d9d 100644
--- a/libcxx/include/__cxx03/__type_traits/has_unique_object_representation.h
+++ b/libcxx/include/__cxx03/__type_traits/has_unique_object_representation.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_HAS_UNIQUE_OBJECT_REPRESENTATION_H
-#define _LIBCPP___TYPE_TRAITS_HAS_UNIQUE_OBJECT_REPRESENTATION_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_HAS_UNIQUE_OBJECT_REPRESENTATION_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_HAS_UNIQUE_OBJECT_REPRESENTATION_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -37,4 +37,4 @@ inline constexpr bool has_unique_object_representations_v = __has_unique_object_
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_HAS_UNIQUE_OBJECT_REPRESENTATION_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_HAS_UNIQUE_OBJECT_REPRESENTATION_H
diff --git a/libcxx/include/__cxx03/__type_traits/has_virtual_destructor.h b/libcxx/include/__cxx03/__type_traits/has_virtual_destructor.h
index 060bd1bfe58c..58740ce91ba1 100644
--- a/libcxx/include/__cxx03/__type_traits/has_virtual_destructor.h
+++ b/libcxx/include/__cxx03/__type_traits/has_virtual_destructor.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_HAS_VIRTUAL_DESTRUCTOR_H
-#define _LIBCPP___TYPE_TRAITS_HAS_VIRTUAL_DESTRUCTOR_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_HAS_VIRTUAL_DESTRUCTOR_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_HAS_VIRTUAL_DESTRUCTOR_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -28,4 +28,4 @@ inline constexpr bool has_virtual_destructor_v = __has_virtual_destructor(_Tp);
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_HAS_VIRTUAL_DESTRUCTOR_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_HAS_VIRTUAL_DESTRUCTOR_H
diff --git a/libcxx/include/__cxx03/__type_traits/integral_constant.h b/libcxx/include/__cxx03/__type_traits/integral_constant.h
index bfc11c8a4516..197453747e54 100644
--- a/libcxx/include/__cxx03/__type_traits/integral_constant.h
+++ b/libcxx/include/__cxx03/__type_traits/integral_constant.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_INTEGRAL_CONSTANT_H
-#define _LIBCPP___TYPE_TRAITS_INTEGRAL_CONSTANT_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_INTEGRAL_CONSTANT_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_INTEGRAL_CONSTANT_H
#include <__cxx03/__config>
@@ -44,4 +44,4 @@ using bool_constant = integral_constant<bool, __b>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_INTEGRAL_CONSTANT_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_INTEGRAL_CONSTANT_H
diff --git a/libcxx/include/__cxx03/__type_traits/invoke.h b/libcxx/include/__cxx03/__type_traits/invoke.h
index 9ece1c874962..47220d6c2e62 100644
--- a/libcxx/include/__cxx03/__type_traits/invoke.h
+++ b/libcxx/include/__cxx03/__type_traits/invoke.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_INVOKE_H
-#define _LIBCPP___TYPE_TRAITS_INVOKE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_INVOKE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_INVOKE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/conditional.h>
@@ -267,4 +267,4 @@ using invoke_result_t = typename invoke_result<_Fn, _Args...>::type;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_INVOKE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_INVOKE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_abstract.h b/libcxx/include/__cxx03/__type_traits/is_abstract.h
index 785ae6772f71..a98d2b350ba2 100644
--- a/libcxx/include/__cxx03/__type_traits/is_abstract.h
+++ b/libcxx/include/__cxx03/__type_traits/is_abstract.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_ABSTRACT_H
-#define _LIBCPP___TYPE_TRAITS_IS_ABSTRACT_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_ABSTRACT_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_ABSTRACT_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -28,4 +28,4 @@ inline constexpr bool is_abstract_v = __is_abstract(_Tp);
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_ABSTRACT_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_ABSTRACT_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_aggregate.h b/libcxx/include/__cxx03/__type_traits/is_aggregate.h
index 3da7efa0ce64..0d95780859ca 100644
--- a/libcxx/include/__cxx03/__type_traits/is_aggregate.h
+++ b/libcxx/include/__cxx03/__type_traits/is_aggregate.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_AGGREGATE_H
-#define _LIBCPP___TYPE_TRAITS_IS_AGGREGATE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_AGGREGATE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_AGGREGATE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -30,4 +30,4 @@ inline constexpr bool is_aggregate_v = __is_aggregate(_Tp);
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_AGGREGATE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_AGGREGATE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_allocator.h b/libcxx/include/__cxx03/__type_traits/is_allocator.h
index 1b063e84e545..b2b73ec53fe2 100644
--- a/libcxx/include/__cxx03/__type_traits/is_allocator.h
+++ b/libcxx/include/__cxx03/__type_traits/is_allocator.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_IS_ALLOCATOR_H
-#define _LIBCPP___TYPE_IS_ALLOCATOR_H
+#ifndef _LIBCPP___CXX03___TYPE_IS_ALLOCATOR_H
+#define _LIBCPP___CXX03___TYPE_IS_ALLOCATOR_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -31,4 +31,4 @@ struct __is_allocator<_Alloc,
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_IS_ALLOCATOR_H
+#endif // _LIBCPP___CXX03___TYPE_IS_ALLOCATOR_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_always_bitcastable.h b/libcxx/include/__cxx03/__type_traits/is_always_bitcastable.h
index 6f5b6631ba40..8fb9e519d03e 100644
--- a/libcxx/include/__cxx03/__type_traits/is_always_bitcastable.h
+++ b/libcxx/include/__cxx03/__type_traits/is_always_bitcastable.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_ALWAYS_BITCASTABLE_H
-#define _LIBCPP___TYPE_TRAITS_IS_ALWAYS_BITCASTABLE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_ALWAYS_BITCASTABLE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_ALWAYS_BITCASTABLE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -82,4 +82,4 @@ struct __is_always_bitcastable {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_ALWAYS_BITCASTABLE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_ALWAYS_BITCASTABLE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_arithmetic.h b/libcxx/include/__cxx03/__type_traits/is_arithmetic.h
index 900a5b5b4176..8d1e019ce402 100644
--- a/libcxx/include/__cxx03/__type_traits/is_arithmetic.h
+++ b/libcxx/include/__cxx03/__type_traits/is_arithmetic.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_ARITHMETIC_H
-#define _LIBCPP___TYPE_TRAITS_IS_ARITHMETIC_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_ARITHMETIC_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_ARITHMETIC_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -31,4 +31,4 @@ inline constexpr bool is_arithmetic_v = is_arithmetic<_Tp>::value;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_ARITHMETIC_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_ARITHMETIC_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_array.h b/libcxx/include/__cxx03/__type_traits/is_array.h
index d4276ed61a4f..a8dd572ffede 100644
--- a/libcxx/include/__cxx03/__type_traits/is_array.h
+++ b/libcxx/include/__cxx03/__type_traits/is_array.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_ARRAY_H
-#define _LIBCPP___TYPE_TRAITS_IS_ARRAY_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_ARRAY_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_ARRAY_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -48,4 +48,4 @@ inline constexpr bool is_array_v = is_array<_Tp>::value;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_ARRAY_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_ARRAY_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_assignable.h b/libcxx/include/__cxx03/__type_traits/is_assignable.h
index ba1d5d1afcdd..6a7364ca6eac 100644
--- a/libcxx/include/__cxx03/__type_traits/is_assignable.h
+++ b/libcxx/include/__cxx03/__type_traits/is_assignable.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_ASSIGNABLE_H
-#define _LIBCPP___TYPE_TRAITS_IS_ASSIGNABLE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_ASSIGNABLE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_ASSIGNABLE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/add_lvalue_reference.h>
@@ -49,4 +49,4 @@ inline constexpr bool is_move_assignable_v = is_move_assignable<_Tp>::value;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_ASSIGNABLE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_ASSIGNABLE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_base_of.h b/libcxx/include/__cxx03/__type_traits/is_base_of.h
index 0a31bfaa7412..67f72731903c 100644
--- a/libcxx/include/__cxx03/__type_traits/is_base_of.h
+++ b/libcxx/include/__cxx03/__type_traits/is_base_of.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_BASE_OF_H
-#define _LIBCPP___TYPE_TRAITS_IS_BASE_OF_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_BASE_OF_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_BASE_OF_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -28,4 +28,4 @@ inline constexpr bool is_base_of_v = __is_base_of(_Bp, _Dp);
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_BASE_OF_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_BASE_OF_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_bounded_array.h b/libcxx/include/__cxx03/__type_traits/is_bounded_array.h
index aeb223556283..b4b3aabec381 100644
--- a/libcxx/include/__cxx03/__type_traits/is_bounded_array.h
+++ b/libcxx/include/__cxx03/__type_traits/is_bounded_array.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_BOUNDED_ARRAY_H
-#define _LIBCPP___TYPE_TRAITS_IS_BOUNDED_ARRAY_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_BOUNDED_ARRAY_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_BOUNDED_ARRAY_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -38,4 +38,4 @@ inline constexpr bool is_bounded_array_v = is_bounded_array<_Tp>::value;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_BOUNDED_ARRAY_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_BOUNDED_ARRAY_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_callable.h b/libcxx/include/__cxx03/__type_traits/is_callable.h
index 4956d26b047f..f4f20348416c 100644
--- a/libcxx/include/__cxx03/__type_traits/is_callable.h
+++ b/libcxx/include/__cxx03/__type_traits/is_callable.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_CALLABLE_H
-#define _LIBCPP___TYPE_TRAITS_IS_CALLABLE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_CALLABLE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_CALLABLE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -29,4 +29,4 @@ struct __is_callable : decltype(std::__is_callable_helper<_Func, _Args...>(0)) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_CALLABLE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_CALLABLE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_char_like_type.h b/libcxx/include/__cxx03/__type_traits/is_char_like_type.h
index 2896a5794301..e252b6ad1887 100644
--- a/libcxx/include/__cxx03/__type_traits/is_char_like_type.h
+++ b/libcxx/include/__cxx03/__type_traits/is_char_like_type.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_CHAR_LIKE_TYPE_H
-#define _LIBCPP___TYPE_TRAITS_IS_CHAR_LIKE_TYPE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_CHAR_LIKE_TYPE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_CHAR_LIKE_TYPE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/conjunction.h>
@@ -25,4 +25,4 @@ using _IsCharLikeType = _And<is_standard_layout<_CharT>, is_trivial<_CharT> >;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_CHAR_LIKE_TYPE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_CHAR_LIKE_TYPE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_class.h b/libcxx/include/__cxx03/__type_traits/is_class.h
index c56f3679ecb3..7109198cf659 100644
--- a/libcxx/include/__cxx03/__type_traits/is_class.h
+++ b/libcxx/include/__cxx03/__type_traits/is_class.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_CLASS_H
-#define _LIBCPP___TYPE_TRAITS_IS_CLASS_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_CLASS_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_CLASS_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -28,4 +28,4 @@ inline constexpr bool is_class_v = __is_class(_Tp);
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_CLASS_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_CLASS_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_compound.h b/libcxx/include/__cxx03/__type_traits/is_compound.h
index c48c88643c8e..4a96a71a2f96 100644
--- a/libcxx/include/__cxx03/__type_traits/is_compound.h
+++ b/libcxx/include/__cxx03/__type_traits/is_compound.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_COMPOUND_H
-#define _LIBCPP___TYPE_TRAITS_IS_COMPOUND_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_COMPOUND_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_COMPOUND_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -43,4 +43,4 @@ inline constexpr bool is_compound_v = is_compound<_Tp>::value;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_COMPOUND_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_COMPOUND_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_const.h b/libcxx/include/__cxx03/__type_traits/is_const.h
index 2b297ad472bd..ebd91c5f07c1 100644
--- a/libcxx/include/__cxx03/__type_traits/is_const.h
+++ b/libcxx/include/__cxx03/__type_traits/is_const.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_CONST_H
-#define _LIBCPP___TYPE_TRAITS_IS_CONST_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_CONST_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_CONST_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -44,4 +44,4 @@ inline constexpr bool is_const_v = is_const<_Tp>::value;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_CONST_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_CONST_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_constant_evaluated.h b/libcxx/include/__cxx03/__type_traits/is_constant_evaluated.h
index 9abd5ee9ce41..99ebef6664ed 100644
--- a/libcxx/include/__cxx03/__type_traits/is_constant_evaluated.h
+++ b/libcxx/include/__cxx03/__type_traits/is_constant_evaluated.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_CONSTANT_EVALUATED_H
-#define _LIBCPP___TYPE_TRAITS_IS_CONSTANT_EVALUATED_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_CONSTANT_EVALUATED_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_CONSTANT_EVALUATED_H
#include <__cxx03/__config>
@@ -29,4 +29,4 @@ _LIBCPP_HIDE_FROM_ABI inline _LIBCPP_CONSTEXPR bool __libcpp_is_constant_evaluat
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_CONSTANT_EVALUATED_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_CONSTANT_EVALUATED_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_constructible.h b/libcxx/include/__cxx03/__type_traits/is_constructible.h
index 18c58311ed03..435b0fcefea8 100644
--- a/libcxx/include/__cxx03/__type_traits/is_constructible.h
+++ b/libcxx/include/__cxx03/__type_traits/is_constructible.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_IS_CONSTRUCTIBLE_H
-#define _LIBCPP___TYPE_IS_CONSTRUCTIBLE_H
+#ifndef _LIBCPP___CXX03___TYPE_IS_CONSTRUCTIBLE_H
+#define _LIBCPP___CXX03___TYPE_IS_CONSTRUCTIBLE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/add_lvalue_reference.h>
@@ -56,4 +56,4 @@ inline constexpr bool is_default_constructible_v = __is_constructible(_Tp);
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_IS_CONSTRUCTIBLE_H
+#endif // _LIBCPP___CXX03___TYPE_IS_CONSTRUCTIBLE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_convertible.h b/libcxx/include/__cxx03/__type_traits/is_convertible.h
index a2b2630f109b..4692b0f4ac5f 100644
--- a/libcxx/include/__cxx03/__type_traits/is_convertible.h
+++ b/libcxx/include/__cxx03/__type_traits/is_convertible.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_CONVERTIBLE_H
-#define _LIBCPP___TYPE_TRAITS_IS_CONVERTIBLE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_CONVERTIBLE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_CONVERTIBLE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -28,4 +28,4 @@ inline constexpr bool is_convertible_v = __is_convertible(_From, _To);
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_CONVERTIBLE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_CONVERTIBLE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_core_convertible.h b/libcxx/include/__cxx03/__type_traits/is_core_convertible.h
index 8088dfb7d958..97db84044fe6 100644
--- a/libcxx/include/__cxx03/__type_traits/is_core_convertible.h
+++ b/libcxx/include/__cxx03/__type_traits/is_core_convertible.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_CORE_CONVERTIBLE_H
-#define _LIBCPP___TYPE_TRAITS_IS_CORE_CONVERTIBLE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_CORE_CONVERTIBLE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_CORE_CONVERTIBLE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -32,4 +32,4 @@ struct __is_core_convertible<_Tp, _Up, decltype(static_cast<void (*)(_Up)>(0)(st
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_CORE_CONVERTIBLE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_CORE_CONVERTIBLE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_destructible.h b/libcxx/include/__cxx03/__type_traits/is_destructible.h
index ce94e8c27f19..c2565050151c 100644
--- a/libcxx/include/__cxx03/__type_traits/is_destructible.h
+++ b/libcxx/include/__cxx03/__type_traits/is_destructible.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_DESTRUCTIBLE_H
-#define _LIBCPP___TYPE_TRAITS_IS_DESTRUCTIBLE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_DESTRUCTIBLE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_DESTRUCTIBLE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -94,4 +94,4 @@ inline constexpr bool is_destructible_v = is_destructible<_Tp>::value;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_DESTRUCTIBLE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_DESTRUCTIBLE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_empty.h b/libcxx/include/__cxx03/__type_traits/is_empty.h
index 89cb681712d3..767b155aa626 100644
--- a/libcxx/include/__cxx03/__type_traits/is_empty.h
+++ b/libcxx/include/__cxx03/__type_traits/is_empty.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_EMPTY_H
-#define _LIBCPP___TYPE_TRAITS_IS_EMPTY_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_EMPTY_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_EMPTY_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -28,4 +28,4 @@ inline constexpr bool is_empty_v = __is_empty(_Tp);
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_EMPTY_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_EMPTY_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_enum.h b/libcxx/include/__cxx03/__type_traits/is_enum.h
index da08f569586d..54efb15b0d01 100644
--- a/libcxx/include/__cxx03/__type_traits/is_enum.h
+++ b/libcxx/include/__cxx03/__type_traits/is_enum.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_ENUM_H
-#define _LIBCPP___TYPE_TRAITS_IS_ENUM_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_ENUM_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_ENUM_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -38,4 +38,4 @@ inline constexpr bool is_scoped_enum_v = __is_scoped_enum(_Tp);
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_ENUM_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_ENUM_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_equality_comparable.h b/libcxx/include/__cxx03/__type_traits/is_equality_comparable.h
index 794848269413..da62137eaab5 100644
--- a/libcxx/include/__cxx03/__type_traits/is_equality_comparable.h
+++ b/libcxx/include/__cxx03/__type_traits/is_equality_comparable.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_EQUALITY_COMPARABLE_H
-#define _LIBCPP___TYPE_TRAITS_IS_EQUALITY_COMPARABLE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_EQUALITY_COMPARABLE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_EQUALITY_COMPARABLE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -85,4 +85,4 @@ using __libcpp_is_trivially_equality_comparable =
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_EQUALITY_COMPARABLE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_EQUALITY_COMPARABLE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_execution_policy.h b/libcxx/include/__cxx03/__type_traits/is_execution_policy.h
index d0da5bb45a70..08bf8b00d97e 100644
--- a/libcxx/include/__cxx03/__type_traits/is_execution_policy.h
+++ b/libcxx/include/__cxx03/__type_traits/is_execution_policy.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_EXECUTION_POLICY_H
-#define _LIBCPP___TYPE_TRAITS_IS_EXECUTION_POLICY_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_EXECUTION_POLICY_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_EXECUTION_POLICY_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/remove_cvref.h>
@@ -56,4 +56,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 17
-#endif // _LIBCPP___TYPE_TRAITS_IS_EXECUTION_POLICY_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_EXECUTION_POLICY_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_final.h b/libcxx/include/__cxx03/__type_traits/is_final.h
index b55fadce9efc..c6e5ad0893a0 100644
--- a/libcxx/include/__cxx03/__type_traits/is_final.h
+++ b/libcxx/include/__cxx03/__type_traits/is_final.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_FINAL_H
-#define _LIBCPP___TYPE_TRAITS_IS_FINAL_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_FINAL_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_FINAL_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -33,4 +33,4 @@ inline constexpr bool is_final_v = __is_final(_Tp);
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_FINAL_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_FINAL_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_floating_point.h b/libcxx/include/__cxx03/__type_traits/is_floating_point.h
index 99898272651c..6b25659c9ee2 100644
--- a/libcxx/include/__cxx03/__type_traits/is_floating_point.h
+++ b/libcxx/include/__cxx03/__type_traits/is_floating_point.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_FLOATING_POINT_H
-#define _LIBCPP___TYPE_TRAITS_IS_FLOATING_POINT_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_FLOATING_POINT_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_FLOATING_POINT_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -36,4 +36,4 @@ inline constexpr bool is_floating_point_v = is_floating_point<_Tp>::value;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_FLOATING_POINT_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_FLOATING_POINT_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_function.h b/libcxx/include/__cxx03/__type_traits/is_function.h
index 0337dfac18c6..3001c4bef9f5 100644
--- a/libcxx/include/__cxx03/__type_traits/is_function.h
+++ b/libcxx/include/__cxx03/__type_traits/is_function.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_FUNCTIONAL_H
-#define _LIBCPP___TYPE_TRAITS_IS_FUNCTIONAL_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_FUNCTIONAL_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_FUNCTIONAL_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -28,4 +28,4 @@ inline constexpr bool is_function_v = __is_function(_Tp);
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_FUNCTIONAL_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_FUNCTIONAL_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_fundamental.h b/libcxx/include/__cxx03/__type_traits/is_fundamental.h
index cc57ac7b0194..329325ecca4b 100644
--- a/libcxx/include/__cxx03/__type_traits/is_fundamental.h
+++ b/libcxx/include/__cxx03/__type_traits/is_fundamental.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_FUNDAMENTAL_H
-#define _LIBCPP___TYPE_TRAITS_IS_FUNDAMENTAL_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_FUNDAMENTAL_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_FUNDAMENTAL_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -45,4 +45,4 @@ inline constexpr bool is_fundamental_v = is_fundamental<_Tp>::value;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_FUNDAMENTAL_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_FUNDAMENTAL_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_implicitly_default_constructible.h b/libcxx/include/__cxx03/__type_traits/is_implicitly_default_constructible.h
index b9bf0523d937..23f1443e408f 100644
--- a/libcxx/include/__cxx03/__type_traits/is_implicitly_default_constructible.h
+++ b/libcxx/include/__cxx03/__type_traits/is_implicitly_default_constructible.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_IMPLICITLY_DEFAULT_CONSTRUCTIBLE_H
-#define _LIBCPP___TYPE_TRAITS_IS_IMPLICITLY_DEFAULT_CONSTRUCTIBLE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_IMPLICITLY_DEFAULT_CONSTRUCTIBLE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_IMPLICITLY_DEFAULT_CONSTRUCTIBLE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -43,4 +43,4 @@ struct __is_implicitly_default_constructible<_Tp,
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_IMPLICITLY_DEFAULT_CONSTRUCTIBLE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_IMPLICITLY_DEFAULT_CONSTRUCTIBLE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_integral.h b/libcxx/include/__cxx03/__type_traits/is_integral.h
index 680875c0e737..1adcdcbce63e 100644
--- a/libcxx/include/__cxx03/__type_traits/is_integral.h
+++ b/libcxx/include/__cxx03/__type_traits/is_integral.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_INTEGRAL_H
-#define _LIBCPP___TYPE_TRAITS_IS_INTEGRAL_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_INTEGRAL_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_INTEGRAL_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -71,4 +71,4 @@ inline constexpr bool is_integral_v = is_integral<_Tp>::value;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_INTEGRAL_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_INTEGRAL_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_literal_type.h b/libcxx/include/__cxx03/__type_traits/is_literal_type.h
index ad7ad3f2eb3c..6d0c9a6d6c30 100644
--- a/libcxx/include/__cxx03/__type_traits/is_literal_type.h
+++ b/libcxx/include/__cxx03/__type_traits/is_literal_type.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_LITERAL_TYPE
-#define _LIBCPP___TYPE_TRAITS_IS_LITERAL_TYPE
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_LITERAL_TYPE
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_LITERAL_TYPE
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -31,4 +31,4 @@ _LIBCPP_DEPRECATED_IN_CXX17 inline constexpr bool is_literal_type_v = __is_liter
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_LITERAL_TYPE
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_LITERAL_TYPE
diff --git a/libcxx/include/__cxx03/__type_traits/is_member_pointer.h b/libcxx/include/__cxx03/__type_traits/is_member_pointer.h
index 0eba57ddb827..334b794f879a 100644
--- a/libcxx/include/__cxx03/__type_traits/is_member_pointer.h
+++ b/libcxx/include/__cxx03/__type_traits/is_member_pointer.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_MEMBER_POINTER_H
-#define _LIBCPP___TYPE_TRAITS_IS_MEMBER_POINTER_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_MEMBER_POINTER_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_MEMBER_POINTER_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -40,4 +40,4 @@ inline constexpr bool is_member_function_pointer_v = __is_member_function_pointe
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_MEMBER_POINTER_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_MEMBER_POINTER_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_nothrow_assignable.h b/libcxx/include/__cxx03/__type_traits/is_nothrow_assignable.h
index adf9be8e0251..64b525e254e1 100644
--- a/libcxx/include/__cxx03/__type_traits/is_nothrow_assignable.h
+++ b/libcxx/include/__cxx03/__type_traits/is_nothrow_assignable.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_NOTHROW_ASSIGNABLE_H
-#define _LIBCPP___TYPE_TRAITS_IS_NOTHROW_ASSIGNABLE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_NOTHROW_ASSIGNABLE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_NOTHROW_ASSIGNABLE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/add_lvalue_reference.h>
@@ -53,4 +53,4 @@ inline constexpr bool is_nothrow_move_assignable_v = is_nothrow_move_assignable<
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_NOTHROW_ASSIGNABLE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_NOTHROW_ASSIGNABLE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_nothrow_constructible.h b/libcxx/include/__cxx03/__type_traits/is_nothrow_constructible.h
index bbf0220c5715..b528cc7b491d 100644
--- a/libcxx/include/__cxx03/__type_traits/is_nothrow_constructible.h
+++ b/libcxx/include/__cxx03/__type_traits/is_nothrow_constructible.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_NOTHROW_CONSTRUCTIBLE_H
-#define _LIBCPP___TYPE_TRAITS_IS_NOTHROW_CONSTRUCTIBLE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_NOTHROW_CONSTRUCTIBLE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_NOTHROW_CONSTRUCTIBLE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/add_lvalue_reference.h>
@@ -58,4 +58,4 @@ inline constexpr bool is_nothrow_default_constructible_v = __is_nothrow_construc
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_NOTHROW_CONSTRUCTIBLE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_NOTHROW_CONSTRUCTIBLE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_nothrow_convertible.h b/libcxx/include/__cxx03/__type_traits/is_nothrow_convertible.h
index b94727fce49e..c62e6ccaf9fa 100644
--- a/libcxx/include/__cxx03/__type_traits/is_nothrow_convertible.h
+++ b/libcxx/include/__cxx03/__type_traits/is_nothrow_convertible.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_NOTHROW_CONVERTIBLE_H
-#define _LIBCPP___TYPE_TRAITS_IS_NOTHROW_CONVERTIBLE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_NOTHROW_CONVERTIBLE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_NOTHROW_CONVERTIBLE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/conjunction.h>
@@ -59,4 +59,4 @@ inline constexpr bool is_nothrow_convertible_v = is_nothrow_convertible<_Fm, _To
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_NOTHROW_CONVERTIBLE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_NOTHROW_CONVERTIBLE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_nothrow_destructible.h b/libcxx/include/__cxx03/__type_traits/is_nothrow_destructible.h
index b84523f40b43..23a28c9bb1da 100644
--- a/libcxx/include/__cxx03/__type_traits/is_nothrow_destructible.h
+++ b/libcxx/include/__cxx03/__type_traits/is_nothrow_destructible.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_NOTHROW_DESTRUCTIBLE_H
-#define _LIBCPP___TYPE_TRAITS_IS_NOTHROW_DESTRUCTIBLE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_NOTHROW_DESTRUCTIBLE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_NOTHROW_DESTRUCTIBLE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -60,4 +60,4 @@ inline constexpr bool is_nothrow_destructible_v = is_nothrow_destructible<_Tp>::
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_NOTHROW_DESTRUCTIBLE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_NOTHROW_DESTRUCTIBLE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_null_pointer.h b/libcxx/include/__cxx03/__type_traits/is_null_pointer.h
index 9c605450638c..acbf0c16a964 100644
--- a/libcxx/include/__cxx03/__type_traits/is_null_pointer.h
+++ b/libcxx/include/__cxx03/__type_traits/is_null_pointer.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_NULL_POINTER_H
-#define _LIBCPP___TYPE_TRAITS_IS_NULL_POINTER_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_NULL_POINTER_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_NULL_POINTER_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -34,4 +34,4 @@ inline constexpr bool is_null_pointer_v = __is_null_pointer_v<_Tp>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_NULL_POINTER_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_NULL_POINTER_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_object.h b/libcxx/include/__cxx03/__type_traits/is_object.h
index c61c67dc5124..09d893d11220 100644
--- a/libcxx/include/__cxx03/__type_traits/is_object.h
+++ b/libcxx/include/__cxx03/__type_traits/is_object.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_OBJECT_H
-#define _LIBCPP___TYPE_TRAITS_IS_OBJECT_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_OBJECT_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_OBJECT_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -28,4 +28,4 @@ inline constexpr bool is_object_v = __is_object(_Tp);
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_OBJECT_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_OBJECT_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_pod.h b/libcxx/include/__cxx03/__type_traits/is_pod.h
index 3381a6165784..4b4e9cc3eb19 100644
--- a/libcxx/include/__cxx03/__type_traits/is_pod.h
+++ b/libcxx/include/__cxx03/__type_traits/is_pod.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_POD_H
-#define _LIBCPP___TYPE_TRAITS_IS_POD_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_POD_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_POD_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -28,4 +28,4 @@ inline constexpr bool is_pod_v = __is_pod(_Tp);
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_POD_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_POD_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_pointer.h b/libcxx/include/__cxx03/__type_traits/is_pointer.h
index 7afce1a07f28..8ce142192149 100644
--- a/libcxx/include/__cxx03/__type_traits/is_pointer.h
+++ b/libcxx/include/__cxx03/__type_traits/is_pointer.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_POINTER_H
-#define _LIBCPP___TYPE_TRAITS_IS_POINTER_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_POINTER_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_POINTER_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -62,4 +62,4 @@ inline constexpr bool is_pointer_v = is_pointer<_Tp>::value;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_POINTER_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_POINTER_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_polymorphic.h b/libcxx/include/__cxx03/__type_traits/is_polymorphic.h
index 577cfdbbf32c..206abd871915 100644
--- a/libcxx/include/__cxx03/__type_traits/is_polymorphic.h
+++ b/libcxx/include/__cxx03/__type_traits/is_polymorphic.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_POLYMORPHIC_H
-#define _LIBCPP___TYPE_TRAITS_IS_POLYMORPHIC_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_POLYMORPHIC_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_POLYMORPHIC_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -28,4 +28,4 @@ inline constexpr bool is_polymorphic_v = __is_polymorphic(_Tp);
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_POLYMORPHIC_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_POLYMORPHIC_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_primary_template.h b/libcxx/include/__cxx03/__type_traits/is_primary_template.h
index 021cd9744471..92cd5596fea3 100644
--- a/libcxx/include/__cxx03/__type_traits/is_primary_template.h
+++ b/libcxx/include/__cxx03/__type_traits/is_primary_template.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_PRIMARY_TEMPLATE_H
-#define _LIBCPP___TYPE_TRAITS_IS_PRIMARY_TEMPLATE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_PRIMARY_TEMPLATE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_PRIMARY_TEMPLATE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -28,4 +28,4 @@ using __is_primary_template = _IsValidExpansion<__test_for_primary_template, _Tp
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_PRIMARY_TEMPLATE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_PRIMARY_TEMPLATE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_reference.h b/libcxx/include/__cxx03/__type_traits/is_reference.h
index cca4d1ccdac4..72bdf1418f2f 100644
--- a/libcxx/include/__cxx03/__type_traits/is_reference.h
+++ b/libcxx/include/__cxx03/__type_traits/is_reference.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_REFERENCE_H
-#define _LIBCPP___TYPE_TRAITS_IS_REFERENCE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_REFERENCE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_REFERENCE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -65,4 +65,4 @@ inline constexpr bool is_rvalue_reference_v = is_rvalue_reference<_Tp>::value;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_REFERENCE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_REFERENCE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_reference_wrapper.h b/libcxx/include/__cxx03/__type_traits/is_reference_wrapper.h
index e3f06df80400..3cbce8faa911 100644
--- a/libcxx/include/__cxx03/__type_traits/is_reference_wrapper.h
+++ b/libcxx/include/__cxx03/__type_traits/is_reference_wrapper.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_REFERENCE_WRAPPER_H
-#define _LIBCPP___TYPE_TRAITS_IS_REFERENCE_WRAPPER_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_REFERENCE_WRAPPER_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_REFERENCE_WRAPPER_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/functional.h>
@@ -29,4 +29,4 @@ struct __is_reference_wrapper : public __is_reference_wrapper_impl<__remove_cv_t
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_ENABLE_IF_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_ENABLE_IF_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_referenceable.h b/libcxx/include/__cxx03/__type_traits/is_referenceable.h
index 13ef87553848..7bc98e885800 100644
--- a/libcxx/include/__cxx03/__type_traits/is_referenceable.h
+++ b/libcxx/include/__cxx03/__type_traits/is_referenceable.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_REFERENCEABLE_H
-#define _LIBCPP___TYPE_TRAITS_IS_REFERENCEABLE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_REFERENCEABLE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_REFERENCEABLE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -38,4 +38,4 @@ struct __libcpp_is_referenceable
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_REFERENCEABLE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_REFERENCEABLE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_same.h b/libcxx/include/__cxx03/__type_traits/is_same.h
index 29ff5116e8e8..d365e1235e7c 100644
--- a/libcxx/include/__cxx03/__type_traits/is_same.h
+++ b/libcxx/include/__cxx03/__type_traits/is_same.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_SAME_H
-#define _LIBCPP___TYPE_TRAITS_IS_SAME_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_SAME_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_SAME_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -41,4 +41,4 @@ using _IsNotSame = _BoolConstant<!__is_same(_Tp, _Up)>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_SAME_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_SAME_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_scalar.h b/libcxx/include/__cxx03/__type_traits/is_scalar.h
index 49d793ad06e7..b12e045f053a 100644
--- a/libcxx/include/__cxx03/__type_traits/is_scalar.h
+++ b/libcxx/include/__cxx03/__type_traits/is_scalar.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_SCALAR_H
-#define _LIBCPP___TYPE_TRAITS_IS_SCALAR_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_SCALAR_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_SCALAR_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -66,4 +66,4 @@ inline constexpr bool is_scalar_v = is_scalar<_Tp>::value;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_SCALAR_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_SCALAR_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_signed.h b/libcxx/include/__cxx03/__type_traits/is_signed.h
index 6f1cc05aaf37..20613cf63f7d 100644
--- a/libcxx/include/__cxx03/__type_traits/is_signed.h
+++ b/libcxx/include/__cxx03/__type_traits/is_signed.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_SIGNED_H
-#define _LIBCPP___TYPE_TRAITS_IS_SIGNED_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_SIGNED_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_SIGNED_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -56,4 +56,4 @@ inline constexpr bool is_signed_v = is_signed<_Tp>::value;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_SIGNED_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_SIGNED_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_signed_integer.h b/libcxx/include/__cxx03/__type_traits/is_signed_integer.h
index 24b1aae25835..6a1198f24cd4 100644
--- a/libcxx/include/__cxx03/__type_traits/is_signed_integer.h
+++ b/libcxx/include/__cxx03/__type_traits/is_signed_integer.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_SIGNED_INTEGER_H
-#define _LIBCPP___TYPE_TRAITS_IS_SIGNED_INTEGER_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_SIGNED_INTEGER_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_SIGNED_INTEGER_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -32,4 +32,4 @@ template <> struct __libcpp_is_signed_integer<__int128_t> : publi
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_SIGNED_INTEGER_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_SIGNED_INTEGER_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_specialization.h b/libcxx/include/__cxx03/__type_traits/is_specialization.h
index bccdd77df0e5..b1946df29587 100644
--- a/libcxx/include/__cxx03/__type_traits/is_specialization.h
+++ b/libcxx/include/__cxx03/__type_traits/is_specialization.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_SPECIALIZATION
-#define _LIBCPP___TYPE_TRAITS_IS_SPECIALIZATION
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_SPECIALIZATION
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_SPECIALIZATION
// This contains parts of P2098R1 but is based on MSVC STL's implementation.
//
@@ -42,4 +42,4 @@ inline constexpr bool __is_specialization_v<_Template<_Args...>, _Template> = tr
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_SPECIALIZATION
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_SPECIALIZATION
diff --git a/libcxx/include/__cxx03/__type_traits/is_standard_layout.h b/libcxx/include/__cxx03/__type_traits/is_standard_layout.h
index 1325f72478bd..22889d5ff9a3 100644
--- a/libcxx/include/__cxx03/__type_traits/is_standard_layout.h
+++ b/libcxx/include/__cxx03/__type_traits/is_standard_layout.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_STANDARD_LAYOUT_H
-#define _LIBCPP___TYPE_TRAITS_IS_STANDARD_LAYOUT_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_STANDARD_LAYOUT_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_STANDARD_LAYOUT_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -28,4 +28,4 @@ inline constexpr bool is_standard_layout_v = __is_standard_layout(_Tp);
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_STANDARD_LAYOUT_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_STANDARD_LAYOUT_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_swappable.h b/libcxx/include/__cxx03/__type_traits/is_swappable.h
index 9c2e373675d8..c3119c3de089 100644
--- a/libcxx/include/__cxx03/__type_traits/is_swappable.h
+++ b/libcxx/include/__cxx03/__type_traits/is_swappable.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_SWAPPABLE_H
-#define _LIBCPP___TYPE_TRAITS_IS_SWAPPABLE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_SWAPPABLE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_SWAPPABLE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/add_lvalue_reference.h>
@@ -101,4 +101,4 @@ struct _LIBCPP_TEMPLATE_VIS is_nothrow_swappable : bool_constant<is_nothrow_swap
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_SWAPPABLE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_SWAPPABLE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_trivial.h b/libcxx/include/__cxx03/__type_traits/is_trivial.h
index acb7a731ead5..e998255b813c 100644
--- a/libcxx/include/__cxx03/__type_traits/is_trivial.h
+++ b/libcxx/include/__cxx03/__type_traits/is_trivial.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_TRIVIAL_H
-#define _LIBCPP___TYPE_TRAITS_IS_TRIVIAL_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_TRIVIAL_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_TRIVIAL_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -28,4 +28,4 @@ inline constexpr bool is_trivial_v = __is_trivial(_Tp);
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_TRIVIAL_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_TRIVIAL_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_trivially_assignable.h b/libcxx/include/__cxx03/__type_traits/is_trivially_assignable.h
index 757652572c81..180e05de2b4b 100644
--- a/libcxx/include/__cxx03/__type_traits/is_trivially_assignable.h
+++ b/libcxx/include/__cxx03/__type_traits/is_trivially_assignable.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_TRIVIALLY_ASSIGNABLE_H
-#define _LIBCPP___TYPE_TRAITS_IS_TRIVIALLY_ASSIGNABLE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_TRIVIALLY_ASSIGNABLE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_TRIVIALLY_ASSIGNABLE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/add_const.h>
@@ -53,4 +53,4 @@ inline constexpr bool is_trivially_move_assignable_v = is_trivially_move_assigna
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_TRIVIALLY_ASSIGNABLE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_TRIVIALLY_ASSIGNABLE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_trivially_constructible.h b/libcxx/include/__cxx03/__type_traits/is_trivially_constructible.h
index 33110203fb42..a47e6d9031a5 100644
--- a/libcxx/include/__cxx03/__type_traits/is_trivially_constructible.h
+++ b/libcxx/include/__cxx03/__type_traits/is_trivially_constructible.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_TRIVIALLY_CONSTRUCTIBLE_H
-#define _LIBCPP___TYPE_TRAITS_IS_TRIVIALLY_CONSTRUCTIBLE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_TRIVIALLY_CONSTRUCTIBLE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_TRIVIALLY_CONSTRUCTIBLE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/add_lvalue_reference.h>
@@ -58,4 +58,4 @@ inline constexpr bool is_trivially_default_constructible_v = __is_trivially_cons
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_TRIVIALLY_CONSTRUCTIBLE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_TRIVIALLY_CONSTRUCTIBLE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_trivially_copyable.h b/libcxx/include/__cxx03/__type_traits/is_trivially_copyable.h
index c80688b38c43..67a55e86e6b0 100644
--- a/libcxx/include/__cxx03/__type_traits/is_trivially_copyable.h
+++ b/libcxx/include/__cxx03/__type_traits/is_trivially_copyable.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_TRIVIALLY_COPYABLE_H
-#define _LIBCPP___TYPE_TRAITS_IS_TRIVIALLY_COPYABLE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_TRIVIALLY_COPYABLE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_TRIVIALLY_COPYABLE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -34,4 +34,4 @@ inline constexpr bool __is_cheap_to_copy = is_trivially_copyable_v<_Tp> && sizeo
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_TRIVIALLY_COPYABLE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_TRIVIALLY_COPYABLE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_trivially_destructible.h b/libcxx/include/__cxx03/__type_traits/is_trivially_destructible.h
index 7c45619ea22c..1dbd9e86a069 100644
--- a/libcxx/include/__cxx03/__type_traits/is_trivially_destructible.h
+++ b/libcxx/include/__cxx03/__type_traits/is_trivially_destructible.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_TRIVIALLY_DESTRUCTIBLE_H
-#define _LIBCPP___TYPE_TRAITS_IS_TRIVIALLY_DESTRUCTIBLE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_TRIVIALLY_DESTRUCTIBLE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_TRIVIALLY_DESTRUCTIBLE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -44,4 +44,4 @@ inline constexpr bool is_trivially_destructible_v = is_trivially_destructible<_T
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_TRIVIALLY_DESTRUCTIBLE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_TRIVIALLY_DESTRUCTIBLE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_trivially_lexicographically_comparable.h b/libcxx/include/__cxx03/__type_traits/is_trivially_lexicographically_comparable.h
index 45043370a19e..a5522b4427a9 100644
--- a/libcxx/include/__cxx03/__type_traits/is_trivially_lexicographically_comparable.h
+++ b/libcxx/include/__cxx03/__type_traits/is_trivially_lexicographically_comparable.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_TRIVIALLY_LEXICOGRAPHICALLY_COMPARABLE_H
-#define _LIBCPP___TYPE_TRAITS_IS_TRIVIALLY_LEXICOGRAPHICALLY_COMPARABLE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_TRIVIALLY_LEXICOGRAPHICALLY_COMPARABLE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_TRIVIALLY_LEXICOGRAPHICALLY_COMPARABLE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -50,4 +50,4 @@ struct __libcpp_is_trivially_lexicographically_comparable
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_TRIVIALLY_LEXICOGRAPHICALLY_COMPARABLE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_TRIVIALLY_LEXICOGRAPHICALLY_COMPARABLE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_trivially_relocatable.h b/libcxx/include/__cxx03/__type_traits/is_trivially_relocatable.h
index d134218cba3f..062b289575bc 100644
--- a/libcxx/include/__cxx03/__type_traits/is_trivially_relocatable.h
+++ b/libcxx/include/__cxx03/__type_traits/is_trivially_relocatable.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_TRIVIALLY_RELOCATABLE_H
-#define _LIBCPP___TYPE_TRAITS_IS_TRIVIALLY_RELOCATABLE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_TRIVIALLY_RELOCATABLE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_TRIVIALLY_RELOCATABLE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -39,4 +39,4 @@ struct __libcpp_is_trivially_relocatable<_Tp,
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_TRIVIALLY_RELOCATABLE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_TRIVIALLY_RELOCATABLE_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_unbounded_array.h b/libcxx/include/__cxx03/__type_traits/is_unbounded_array.h
index e7262f563028..d11a8094e9c1 100644
--- a/libcxx/include/__cxx03/__type_traits/is_unbounded_array.h
+++ b/libcxx/include/__cxx03/__type_traits/is_unbounded_array.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_UNBOUNDED_ARRAY_H
-#define _LIBCPP___TYPE_TRAITS_IS_UNBOUNDED_ARRAY_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_UNBOUNDED_ARRAY_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_UNBOUNDED_ARRAY_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -37,4 +37,4 @@ inline constexpr bool is_unbounded_array_v = is_unbounded_array<_Tp>::value;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_UNBOUNDED_ARRAY_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_UNBOUNDED_ARRAY_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_union.h b/libcxx/include/__cxx03/__type_traits/is_union.h
index 03733e6dac23..eaa222efde03 100644
--- a/libcxx/include/__cxx03/__type_traits/is_union.h
+++ b/libcxx/include/__cxx03/__type_traits/is_union.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_UNION_H
-#define _LIBCPP___TYPE_TRAITS_IS_UNION_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_UNION_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_UNION_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -28,4 +28,4 @@ inline constexpr bool is_union_v = __is_union(_Tp);
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_UNION_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_UNION_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_unsigned.h b/libcxx/include/__cxx03/__type_traits/is_unsigned.h
index b302380cd783..99f888fb45be 100644
--- a/libcxx/include/__cxx03/__type_traits/is_unsigned.h
+++ b/libcxx/include/__cxx03/__type_traits/is_unsigned.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_UNSIGNED_H
-#define _LIBCPP___TYPE_TRAITS_IS_UNSIGNED_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_UNSIGNED_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_UNSIGNED_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -56,4 +56,4 @@ inline constexpr bool is_unsigned_v = is_unsigned<_Tp>::value;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_UNSIGNED_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_UNSIGNED_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_unsigned_integer.h b/libcxx/include/__cxx03/__type_traits/is_unsigned_integer.h
index 7a0508289ed6..250427cf8adf 100644
--- a/libcxx/include/__cxx03/__type_traits/is_unsigned_integer.h
+++ b/libcxx/include/__cxx03/__type_traits/is_unsigned_integer.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_UNSIGNED_INTEGER_H
-#define _LIBCPP___TYPE_TRAITS_IS_UNSIGNED_INTEGER_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_UNSIGNED_INTEGER_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_UNSIGNED_INTEGER_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -32,4 +32,4 @@ template <> struct __libcpp_is_unsigned_integer<__uint128_t> : p
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_UNSIGNED_INTEGER_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_UNSIGNED_INTEGER_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_valid_expansion.h b/libcxx/include/__cxx03/__type_traits/is_valid_expansion.h
index a2a4b30ff2f4..d2b8927d78e2 100644
--- a/libcxx/include/__cxx03/__type_traits/is_valid_expansion.h
+++ b/libcxx/include/__cxx03/__type_traits/is_valid_expansion.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_VALID_EXPANSION_H
-#define _LIBCPP___TYPE_TRAITS_IS_VALID_EXPANSION_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_VALID_EXPANSION_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_VALID_EXPANSION_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -28,4 +28,4 @@ using _IsValidExpansion _LIBCPP_NODEBUG = decltype(std::__sfinae_test_impl<_Temp
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_VALID_EXPANSION_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_VALID_EXPANSION_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_void.h b/libcxx/include/__cxx03/__type_traits/is_void.h
index aa6712e19c33..0f5e9cae179c 100644
--- a/libcxx/include/__cxx03/__type_traits/is_void.h
+++ b/libcxx/include/__cxx03/__type_traits/is_void.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_VOID_H
-#define _LIBCPP___TYPE_TRAITS_IS_VOID_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_VOID_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_VOID_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -28,4 +28,4 @@ inline constexpr bool is_void_v = __is_same(__remove_cv(_Tp), void);
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_VOID_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_VOID_H
diff --git a/libcxx/include/__cxx03/__type_traits/is_volatile.h b/libcxx/include/__cxx03/__type_traits/is_volatile.h
index 43f9d089d260..75b6b49122ed 100644
--- a/libcxx/include/__cxx03/__type_traits/is_volatile.h
+++ b/libcxx/include/__cxx03/__type_traits/is_volatile.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_IS_VOLATILE_H
-#define _LIBCPP___TYPE_TRAITS_IS_VOLATILE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_IS_VOLATILE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_IS_VOLATILE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -44,4 +44,4 @@ inline constexpr bool is_volatile_v = is_volatile<_Tp>::value;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_IS_VOLATILE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_IS_VOLATILE_H
diff --git a/libcxx/include/__cxx03/__type_traits/lazy.h b/libcxx/include/__cxx03/__type_traits/lazy.h
index 4eb5893671f1..5362d9892989 100644
--- a/libcxx/include/__cxx03/__type_traits/lazy.h
+++ b/libcxx/include/__cxx03/__type_traits/lazy.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_LAZY_H
-#define _LIBCPP___TYPE_TRAITS_LAZY_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_LAZY_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_LAZY_H
#include <__cxx03/__config>
@@ -22,4 +22,4 @@ struct _Lazy : _Func<_Args...> {};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_LAZY_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_LAZY_H
diff --git a/libcxx/include/__cxx03/__type_traits/make_32_64_or_128_bit.h b/libcxx/include/__cxx03/__type_traits/make_32_64_or_128_bit.h
index e1be7d2022ed..918a4c1db69d 100644
--- a/libcxx/include/__cxx03/__type_traits/make_32_64_or_128_bit.h
+++ b/libcxx/include/__cxx03/__type_traits/make_32_64_or_128_bit.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_MAKE_32_64_OR_128_BIT_H
-#define _LIBCPP___TYPE_TRAITS_MAKE_32_64_OR_128_BIT_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_MAKE_32_64_OR_128_BIT_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_MAKE_32_64_OR_128_BIT_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/conditional.h>
@@ -46,4 +46,4 @@ using __make_32_64_or_128_bit_t =
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_MAKE_32_64_OR_128_BIT_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_MAKE_32_64_OR_128_BIT_H
diff --git a/libcxx/include/__cxx03/__type_traits/make_const_lvalue_ref.h b/libcxx/include/__cxx03/__type_traits/make_const_lvalue_ref.h
index cf9a46262a4b..de7fc2a84596 100644
--- a/libcxx/include/__cxx03/__type_traits/make_const_lvalue_ref.h
+++ b/libcxx/include/__cxx03/__type_traits/make_const_lvalue_ref.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_MAKE_CONST_LVALUE_REF_H
-#define _LIBCPP___TYPE_TRAITS_MAKE_CONST_LVALUE_REF_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_MAKE_CONST_LVALUE_REF_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_MAKE_CONST_LVALUE_REF_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/remove_reference.h>
@@ -23,4 +23,4 @@ using __make_const_lvalue_ref = const __libcpp_remove_reference_t<_Tp>&;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_MAKE_CONST_LVALUE_REF_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_MAKE_CONST_LVALUE_REF_H
diff --git a/libcxx/include/__cxx03/__type_traits/make_signed.h b/libcxx/include/__cxx03/__type_traits/make_signed.h
index 6fc97078d653..fb359441ee6e 100644
--- a/libcxx/include/__cxx03/__type_traits/make_signed.h
+++ b/libcxx/include/__cxx03/__type_traits/make_signed.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_MAKE_SIGNED_H
-#define _LIBCPP___TYPE_TRAITS_MAKE_SIGNED_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_MAKE_SIGNED_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_MAKE_SIGNED_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/copy_cv.h>
@@ -86,4 +86,4 @@ using make_signed_t = __make_signed_t<_Tp>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_MAKE_SIGNED_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_MAKE_SIGNED_H
diff --git a/libcxx/include/__cxx03/__type_traits/make_unsigned.h b/libcxx/include/__cxx03/__type_traits/make_unsigned.h
index 1b0312d61f9b..3e2105242b66 100644
--- a/libcxx/include/__cxx03/__type_traits/make_unsigned.h
+++ b/libcxx/include/__cxx03/__type_traits/make_unsigned.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_MAKE_UNSIGNED_H
-#define _LIBCPP___TYPE_TRAITS_MAKE_UNSIGNED_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_MAKE_UNSIGNED_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_MAKE_UNSIGNED_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/conditional.h>
@@ -98,4 +98,4 @@ using __copy_unsigned_t = __conditional_t<is_unsigned<_Tp>::value, __make_unsign
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_MAKE_UNSIGNED_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_MAKE_UNSIGNED_H
diff --git a/libcxx/include/__cxx03/__type_traits/maybe_const.h b/libcxx/include/__cxx03/__type_traits/maybe_const.h
index 97928110edf2..88551f8fac1c 100644
--- a/libcxx/include/__cxx03/__type_traits/maybe_const.h
+++ b/libcxx/include/__cxx03/__type_traits/maybe_const.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_MAYBE_CONST_H
-#define _LIBCPP___TYPE_TRAITS_MAYBE_CONST_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_MAYBE_CONST_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_MAYBE_CONST_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/conditional.h>
@@ -23,4 +23,4 @@ using __maybe_const = __conditional_t<_Const, const _Tp, _Tp>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_MAYBE_CONST_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_MAYBE_CONST_H
diff --git a/libcxx/include/__cxx03/__type_traits/nat.h b/libcxx/include/__cxx03/__type_traits/nat.h
index e476364c4950..f45a7aadb3c7 100644
--- a/libcxx/include/__cxx03/__type_traits/nat.h
+++ b/libcxx/include/__cxx03/__type_traits/nat.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_NAT_H
-#define _LIBCPP___TYPE_TRAITS_NAT_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_NAT_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_NAT_H
#include <__cxx03/__config>
@@ -28,4 +28,4 @@ struct __nat {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_NAT_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_NAT_H
diff --git a/libcxx/include/__cxx03/__type_traits/negation.h b/libcxx/include/__cxx03/__type_traits/negation.h
index 56559071e62f..d9b290e2e35d 100644
--- a/libcxx/include/__cxx03/__type_traits/negation.h
+++ b/libcxx/include/__cxx03/__type_traits/negation.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_NEGATION_H
-#define _LIBCPP___TYPE_TRAITS_NEGATION_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_NEGATION_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_NEGATION_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -30,4 +30,4 @@ inline constexpr bool negation_v = !_Tp::value;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_NEGATION_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_NEGATION_H
diff --git a/libcxx/include/__cxx03/__type_traits/noexcept_move_assign_container.h b/libcxx/include/__cxx03/__type_traits/noexcept_move_assign_container.h
index 4684440a5760..d275ed585678 100644
--- a/libcxx/include/__cxx03/__type_traits/noexcept_move_assign_container.h
+++ b/libcxx/include/__cxx03/__type_traits/noexcept_move_assign_container.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_NOEXCEPT_MOVE_ASSIGN_CONTAINER_H
-#define _LIBCPP___TYPE_TRAITS_NOEXCEPT_MOVE_ASSIGN_CONTAINER_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_NOEXCEPT_MOVE_ASSIGN_CONTAINER_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_NOEXCEPT_MOVE_ASSIGN_CONTAINER_H
#include <__cxx03/__config>
#include <__cxx03/__memory/allocator_traits.h>
@@ -34,4 +34,4 @@ struct __noexcept_move_assign_container
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_NOEXCEPT_MOVE_ASSIGN_CONTAINER_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_NOEXCEPT_MOVE_ASSIGN_CONTAINER_H
diff --git a/libcxx/include/__cxx03/__type_traits/promote.h b/libcxx/include/__cxx03/__type_traits/promote.h
index b890aecdb5eb..92671223e3db 100644
--- a/libcxx/include/__cxx03/__type_traits/promote.h
+++ b/libcxx/include/__cxx03/__type_traits/promote.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_PROMOTE_H
-#define _LIBCPP___TYPE_TRAITS_PROMOTE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_PROMOTE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_PROMOTE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -125,4 +125,4 @@ class __promote : public __promote_imp<_A1, _A2, _A3> {};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_PROMOTE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_PROMOTE_H
diff --git a/libcxx/include/__cxx03/__type_traits/rank.h b/libcxx/include/__cxx03/__type_traits/rank.h
index 6f2109b6541f..a6b2598f6d7c 100644
--- a/libcxx/include/__cxx03/__type_traits/rank.h
+++ b/libcxx/include/__cxx03/__type_traits/rank.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_RANK_H
-#define _LIBCPP___TYPE_TRAITS_RANK_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_RANK_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_RANK_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -43,4 +43,4 @@ inline constexpr size_t rank_v = rank<_Tp>::value;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_RANK_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_RANK_H
diff --git a/libcxx/include/__cxx03/__type_traits/remove_all_extents.h b/libcxx/include/__cxx03/__type_traits/remove_all_extents.h
index 3d06a5211788..9a1fd0c7fb5b 100644
--- a/libcxx/include/__cxx03/__type_traits/remove_all_extents.h
+++ b/libcxx/include/__cxx03/__type_traits/remove_all_extents.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_REMOVE_ALL_EXTENTS_H
-#define _LIBCPP___TYPE_TRAITS_REMOVE_ALL_EXTENTS_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_ALL_EXTENTS_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_ALL_EXTENTS_H
#include <__cxx03/__config>
#include <__cxx03/cstddef>
@@ -51,4 +51,4 @@ using remove_all_extents_t = __remove_all_extents_t<_Tp>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_REMOVE_ALL_EXTENTS_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_ALL_EXTENTS_H
diff --git a/libcxx/include/__cxx03/__type_traits/remove_const.h b/libcxx/include/__cxx03/__type_traits/remove_const.h
index 06a70a260080..885563bfcfbe 100644
--- a/libcxx/include/__cxx03/__type_traits/remove_const.h
+++ b/libcxx/include/__cxx03/__type_traits/remove_const.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_REMOVE_CONST_H
-#define _LIBCPP___TYPE_TRAITS_REMOVE_CONST_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_CONST_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_CONST_H
#include <__cxx03/__config>
@@ -46,4 +46,4 @@ using remove_const_t = __remove_const_t<_Tp>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_REMOVE_CONST_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_CONST_H
diff --git a/libcxx/include/__cxx03/__type_traits/remove_const_ref.h b/libcxx/include/__cxx03/__type_traits/remove_const_ref.h
index c7d058dc2a65..24f727288060 100644
--- a/libcxx/include/__cxx03/__type_traits/remove_const_ref.h
+++ b/libcxx/include/__cxx03/__type_traits/remove_const_ref.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_REMOVE_CONST_REF_H
-#define _LIBCPP___TYPE_TRAITS_REMOVE_CONST_REF_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_CONST_REF_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_CONST_REF_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/remove_const.h>
@@ -24,4 +24,4 @@ using __remove_const_ref_t = __remove_const_t<__libcpp_remove_reference_t<_Tp> >
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_REMOVE_CONST_REF_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_CONST_REF_H
diff --git a/libcxx/include/__cxx03/__type_traits/remove_cv.h b/libcxx/include/__cxx03/__type_traits/remove_cv.h
index 34bce7cf45ff..1612d24464a8 100644
--- a/libcxx/include/__cxx03/__type_traits/remove_cv.h
+++ b/libcxx/include/__cxx03/__type_traits/remove_cv.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_REMOVE_CV_H
-#define _LIBCPP___TYPE_TRAITS_REMOVE_CV_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_CV_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_CV_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/remove_const.h>
@@ -44,4 +44,4 @@ using remove_cv_t = __remove_cv_t<_Tp>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_REMOVE_CV_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_CV_H
diff --git a/libcxx/include/__cxx03/__type_traits/remove_cvref.h b/libcxx/include/__cxx03/__type_traits/remove_cvref.h
index 38a37d730e44..907622efe1a6 100644
--- a/libcxx/include/__cxx03/__type_traits/remove_cvref.h
+++ b/libcxx/include/__cxx03/__type_traits/remove_cvref.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_REMOVE_CVREF_H
-#define _LIBCPP___TYPE_TRAITS_REMOVE_CVREF_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_CVREF_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_CVREF_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/is_same.h>
@@ -43,4 +43,4 @@ using remove_cvref_t = __remove_cvref_t<_Tp>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_REMOVE_CVREF_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_CVREF_H
diff --git a/libcxx/include/__cxx03/__type_traits/remove_extent.h b/libcxx/include/__cxx03/__type_traits/remove_extent.h
index b1ccdc8a075d..31a2535dca88 100644
--- a/libcxx/include/__cxx03/__type_traits/remove_extent.h
+++ b/libcxx/include/__cxx03/__type_traits/remove_extent.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_REMOVE_EXTENT_H
-#define _LIBCPP___TYPE_TRAITS_REMOVE_EXTENT_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_EXTENT_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_EXTENT_H
#include <__cxx03/__config>
#include <__cxx03/cstddef>
@@ -51,4 +51,4 @@ using remove_extent_t = __remove_extent_t<_Tp>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_REMOVE_EXTENT_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_EXTENT_H
diff --git a/libcxx/include/__cxx03/__type_traits/remove_pointer.h b/libcxx/include/__cxx03/__type_traits/remove_pointer.h
index 965ddf01a30f..4d689f67d176 100644
--- a/libcxx/include/__cxx03/__type_traits/remove_pointer.h
+++ b/libcxx/include/__cxx03/__type_traits/remove_pointer.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_REMOVE_POINTER_H
-#define _LIBCPP___TYPE_TRAITS_REMOVE_POINTER_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_POINTER_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_POINTER_H
#include <__cxx03/__config>
@@ -50,4 +50,4 @@ using remove_pointer_t = __remove_pointer_t<_Tp>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_REMOVE_POINTER_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_POINTER_H
diff --git a/libcxx/include/__cxx03/__type_traits/remove_reference.h b/libcxx/include/__cxx03/__type_traits/remove_reference.h
index 768b9acd2b68..cd500ff761e2 100644
--- a/libcxx/include/__cxx03/__type_traits/remove_reference.h
+++ b/libcxx/include/__cxx03/__type_traits/remove_reference.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_REMOVE_REFERENCE_H
-#define _LIBCPP___TYPE_TRAITS_REMOVE_REFERENCE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_REFERENCE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_REFERENCE_H
#include <__cxx03/__config>
@@ -44,4 +44,4 @@ using remove_reference_t = __libcpp_remove_reference_t<_Tp>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_REMOVE_REFERENCE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_REFERENCE_H
diff --git a/libcxx/include/__cxx03/__type_traits/remove_volatile.h b/libcxx/include/__cxx03/__type_traits/remove_volatile.h
index 95fc78ee8e41..3c7e04139804 100644
--- a/libcxx/include/__cxx03/__type_traits/remove_volatile.h
+++ b/libcxx/include/__cxx03/__type_traits/remove_volatile.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_REMOVE_VOLATILE_H
-#define _LIBCPP___TYPE_TRAITS_REMOVE_VOLATILE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_VOLATILE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_VOLATILE_H
#include <__cxx03/__config>
@@ -46,4 +46,4 @@ using remove_volatile_t = __remove_volatile_t<_Tp>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_REMOVE_VOLATILE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_REMOVE_VOLATILE_H
diff --git a/libcxx/include/__cxx03/__type_traits/result_of.h b/libcxx/include/__cxx03/__type_traits/result_of.h
index 7398f52f8965..36d418034654 100644
--- a/libcxx/include/__cxx03/__type_traits/result_of.h
+++ b/libcxx/include/__cxx03/__type_traits/result_of.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_RESULT_OF_H
-#define _LIBCPP___TYPE_TRAITS_RESULT_OF_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_RESULT_OF_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_RESULT_OF_H
#include <__cxx03/__config>
#include <__cxx03/__functional/invoke.h>
@@ -35,4 +35,4 @@ using result_of_t _LIBCPP_DEPRECATED_IN_CXX17 = typename result_of<_Tp>::type;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_RESULT_OF_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_RESULT_OF_H
diff --git a/libcxx/include/__cxx03/__type_traits/strip_signature.h b/libcxx/include/__cxx03/__type_traits/strip_signature.h
index d728604ac2fe..2e7736609bf1 100644
--- a/libcxx/include/__cxx03/__type_traits/strip_signature.h
+++ b/libcxx/include/__cxx03/__type_traits/strip_signature.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_STRIP_SIGNATURE_H
-#define _LIBCPP___TYPE_TRAITS_STRIP_SIGNATURE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_STRIP_SIGNATURE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_STRIP_SIGNATURE_H
#include <__cxx03/__config>
@@ -78,4 +78,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 17
-#endif // _LIBCPP___TYPE_TRAITS_STRIP_SIGNATURE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_STRIP_SIGNATURE_H
diff --git a/libcxx/include/__cxx03/__type_traits/type_identity.h b/libcxx/include/__cxx03/__type_traits/type_identity.h
index 27bbd7c51d42..1ff01002509d 100644
--- a/libcxx/include/__cxx03/__type_traits/type_identity.h
+++ b/libcxx/include/__cxx03/__type_traits/type_identity.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_TYPE_IDENTITY_H
-#define _LIBCPP___TYPE_TRAITS_TYPE_IDENTITY_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_TYPE_IDENTITY_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_TYPE_IDENTITY_H
#include <__cxx03/__config>
@@ -36,4 +36,4 @@ using type_identity_t = typename type_identity<_Tp>::type;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_TYPE_IDENTITY_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_TYPE_IDENTITY_H
diff --git a/libcxx/include/__cxx03/__type_traits/type_list.h b/libcxx/include/__cxx03/__type_traits/type_list.h
index 31717a60b13c..40d6f2927634 100644
--- a/libcxx/include/__cxx03/__type_traits/type_list.h
+++ b/libcxx/include/__cxx03/__type_traits/type_list.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_TYPE_LIST_H
-#define _LIBCPP___TYPE_TRAITS_TYPE_LIST_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_TYPE_LIST_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_TYPE_LIST_H
#include <__cxx03/__config>
#include <__cxx03/cstddef>
@@ -39,4 +39,4 @@ struct __find_first<__type_list<_Hp, _Tp>, _Size, false> {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_TYPE_LIST_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_TYPE_LIST_H
diff --git a/libcxx/include/__cxx03/__type_traits/underlying_type.h b/libcxx/include/__cxx03/__type_traits/underlying_type.h
index da9d3df26452..6e82ff83a6f7 100644
--- a/libcxx/include/__cxx03/__type_traits/underlying_type.h
+++ b/libcxx/include/__cxx03/__type_traits/underlying_type.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_UNDERLYING_TYPE_H
-#define _LIBCPP___TYPE_TRAITS_UNDERLYING_TYPE_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_UNDERLYING_TYPE_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_UNDERLYING_TYPE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/is_enum.h>
@@ -39,4 +39,4 @@ using underlying_type_t = typename underlying_type<_Tp>::type;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_UNDERLYING_TYPE_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_UNDERLYING_TYPE_H
diff --git a/libcxx/include/__cxx03/__type_traits/unwrap_ref.h b/libcxx/include/__cxx03/__type_traits/unwrap_ref.h
index 034bf337518d..a5628ece8de3 100644
--- a/libcxx/include/__cxx03/__type_traits/unwrap_ref.h
+++ b/libcxx/include/__cxx03/__type_traits/unwrap_ref.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_UNWRAP_REF_H
-#define _LIBCPP___TYPE_TRAITS_UNWRAP_REF_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_UNWRAP_REF_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_UNWRAP_REF_H
#include <__cxx03/__config>
#include <__cxx03/__fwd/functional.h>
@@ -55,4 +55,4 @@ struct __unwrap_ref_decay
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_UNWRAP_REF_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_UNWRAP_REF_H
diff --git a/libcxx/include/__cxx03/__type_traits/void_t.h b/libcxx/include/__cxx03/__type_traits/void_t.h
index 2fa557ab3817..a639a5f73d2b 100644
--- a/libcxx/include/__cxx03/__type_traits/void_t.h
+++ b/libcxx/include/__cxx03/__type_traits/void_t.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___TYPE_TRAITS_VOID_T_H
-#define _LIBCPP___TYPE_TRAITS_VOID_T_H
+#ifndef _LIBCPP___CXX03___TYPE_TRAITS_VOID_T_H
+#define _LIBCPP___CXX03___TYPE_TRAITS_VOID_T_H
#include <__cxx03/__config>
@@ -27,4 +27,4 @@ using __void_t = void;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___TYPE_TRAITS_VOID_T_H
+#endif // _LIBCPP___CXX03___TYPE_TRAITS_VOID_T_H
diff --git a/libcxx/include/__cxx03/__utility/as_const.h b/libcxx/include/__cxx03/__utility/as_const.h
index 33c4686d663e..ba1b67216f1c 100644
--- a/libcxx/include/__cxx03/__utility/as_const.h
+++ b/libcxx/include/__cxx03/__utility/as_const.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___UTILITY_AS_CONST_H
-#define _LIBCPP___UTILITY_AS_CONST_H
+#ifndef _LIBCPP___CXX03___UTILITY_AS_CONST_H
+#define _LIBCPP___CXX03___UTILITY_AS_CONST_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/add_const.h>
@@ -32,4 +32,4 @@ void as_const(const _Tp&&) = delete;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___UTILITY_AS_CONST_H
+#endif // _LIBCPP___CXX03___UTILITY_AS_CONST_H
diff --git a/libcxx/include/__cxx03/__utility/as_lvalue.h b/libcxx/include/__cxx03/__utility/as_lvalue.h
index 95ce9497207d..ea5404ad0bd2 100644
--- a/libcxx/include/__cxx03/__utility/as_lvalue.h
+++ b/libcxx/include/__cxx03/__utility/as_lvalue.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___UTILITY_AS_LVALUE_H
-#define _LIBCPP___UTILITY_AS_LVALUE_H
+#ifndef _LIBCPP___CXX03___UTILITY_AS_LVALUE_H
+#define _LIBCPP___CXX03___UTILITY_AS_LVALUE_H
#include <__cxx03/__config>
@@ -34,4 +34,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___UTILITY_AS_LVALUE_H
+#endif // _LIBCPP___CXX03___UTILITY_AS_LVALUE_H
diff --git a/libcxx/include/__cxx03/__utility/auto_cast.h b/libcxx/include/__cxx03/__utility/auto_cast.h
index 9932382c6306..c506e891121e 100644
--- a/libcxx/include/__cxx03/__utility/auto_cast.h
+++ b/libcxx/include/__cxx03/__utility/auto_cast.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___UTILITY_AUTO_CAST_H
-#define _LIBCPP___UTILITY_AUTO_CAST_H
+#ifndef _LIBCPP___CXX03___UTILITY_AUTO_CAST_H
+#define _LIBCPP___CXX03___UTILITY_AUTO_CAST_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/decay.h>
@@ -19,4 +19,4 @@
#define _LIBCPP_AUTO_CAST(expr) static_cast<::std::__decay_t<decltype((expr))> >(expr)
-#endif // _LIBCPP___UTILITY_AUTO_CAST_H
+#endif // _LIBCPP___CXX03___UTILITY_AUTO_CAST_H
diff --git a/libcxx/include/__cxx03/__utility/cmp.h b/libcxx/include/__cxx03/__utility/cmp.h
index 512a31857642..afb4d83a2a29 100644
--- a/libcxx/include/__cxx03/__utility/cmp.h
+++ b/libcxx/include/__cxx03/__utility/cmp.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___UTILITY_CMP_H
-#define _LIBCPP___UTILITY_CMP_H
+#ifndef _LIBCPP___CXX03___UTILITY_CMP_H
+#define _LIBCPP___CXX03___UTILITY_CMP_H
#include <__cxx03/__concepts/arithmetic.h>
#include <__cxx03/__config>
@@ -78,4 +78,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___UTILITY_CMP_H
+#endif // _LIBCPP___CXX03___UTILITY_CMP_H
diff --git a/libcxx/include/__cxx03/__utility/convert_to_integral.h b/libcxx/include/__cxx03/__utility/convert_to_integral.h
index b350d0fd9d93..e1cc9195de16 100644
--- a/libcxx/include/__cxx03/__utility/convert_to_integral.h
+++ b/libcxx/include/__cxx03/__utility/convert_to_integral.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___UTILITY_CONVERT_TO_INTEGRAL_H
-#define _LIBCPP___UTILITY_CONVERT_TO_INTEGRAL_H
+#ifndef _LIBCPP___CXX03___UTILITY_CONVERT_TO_INTEGRAL_H
+#define _LIBCPP___CXX03___UTILITY_CONVERT_TO_INTEGRAL_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/enable_if.h>
@@ -65,4 +65,4 @@ __convert_to_integral(_Tp __val) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___UTILITY_CONVERT_TO_INTEGRAL_H
+#endif // _LIBCPP___CXX03___UTILITY_CONVERT_TO_INTEGRAL_H
diff --git a/libcxx/include/__cxx03/__utility/declval.h b/libcxx/include/__cxx03/__utility/declval.h
index f8c2c2ac4287..8992c5a0b6dd 100644
--- a/libcxx/include/__cxx03/__utility/declval.h
+++ b/libcxx/include/__cxx03/__utility/declval.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___UTILITY_DECLVAL_H
-#define _LIBCPP___UTILITY_DECLVAL_H
+#ifndef _LIBCPP___CXX03___UTILITY_DECLVAL_H
+#define _LIBCPP___CXX03___UTILITY_DECLVAL_H
#include <__cxx03/__config>
@@ -35,4 +35,4 @@ _LIBCPP_HIDE_FROM_ABI decltype(std::__declval<_Tp>(0)) declval() _NOEXCEPT {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___UTILITY_DECLVAL_H
+#endif // _LIBCPP___CXX03___UTILITY_DECLVAL_H
diff --git a/libcxx/include/__cxx03/__utility/empty.h b/libcxx/include/__cxx03/__utility/empty.h
index bd169acabc48..b6623020fe50 100644
--- a/libcxx/include/__cxx03/__utility/empty.h
+++ b/libcxx/include/__cxx03/__utility/empty.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___UTILITY_EMPTY_H
-#define _LIBCPP___UTILITY_EMPTY_H
+#ifndef _LIBCPP___CXX03___UTILITY_EMPTY_H
+#define _LIBCPP___CXX03___UTILITY_EMPTY_H
#include <__cxx03/__config>
@@ -21,4 +21,4 @@ struct __empty {};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___UTILITY_EMPTY_H
+#endif // _LIBCPP___CXX03___UTILITY_EMPTY_H
diff --git a/libcxx/include/__cxx03/__utility/exception_guard.h b/libcxx/include/__cxx03/__utility/exception_guard.h
index ec4c58fca0ff..2cdb9b41cd0e 100644
--- a/libcxx/include/__cxx03/__utility/exception_guard.h
+++ b/libcxx/include/__cxx03/__utility/exception_guard.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___UTILITY_TRANSACTION_H
-#define _LIBCPP___UTILITY_TRANSACTION_H
+#ifndef _LIBCPP___CXX03___UTILITY_TRANSACTION_H
+#define _LIBCPP___CXX03___UTILITY_TRANSACTION_H
#include <__cxx03/__assert>
#include <__cxx03/__config>
@@ -141,4 +141,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___UTILITY_TRANSACTION_H
+#endif // _LIBCPP___CXX03___UTILITY_TRANSACTION_H
diff --git a/libcxx/include/__cxx03/__utility/exchange.h b/libcxx/include/__cxx03/__utility/exchange.h
index 258d4c4ce4e9..682e7d78e65d 100644
--- a/libcxx/include/__cxx03/__utility/exchange.h
+++ b/libcxx/include/__cxx03/__utility/exchange.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___UTILITY_EXCHANGE_H
-#define _LIBCPP___UTILITY_EXCHANGE_H
+#ifndef _LIBCPP___CXX03___UTILITY_EXCHANGE_H
+#define _LIBCPP___CXX03___UTILITY_EXCHANGE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/is_nothrow_assignable.h>
@@ -38,4 +38,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___UTILITY_EXCHANGE_H
+#endif // _LIBCPP___CXX03___UTILITY_EXCHANGE_H
diff --git a/libcxx/include/__cxx03/__utility/forward.h b/libcxx/include/__cxx03/__utility/forward.h
index ac63e2cafd3d..fc0b45a0ed7c 100644
--- a/libcxx/include/__cxx03/__utility/forward.h
+++ b/libcxx/include/__cxx03/__utility/forward.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___UTILITY_FORWARD_H
-#define _LIBCPP___UTILITY_FORWARD_H
+#ifndef _LIBCPP___CXX03___UTILITY_FORWARD_H
+#define _LIBCPP___CXX03___UTILITY_FORWARD_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/is_reference.h>
@@ -35,4 +35,4 @@ forward(_LIBCPP_LIFETIMEBOUND __libcpp_remove_reference_t<_Tp>&& __t) _NOEXCEPT
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___UTILITY_FORWARD_H
+#endif // _LIBCPP___CXX03___UTILITY_FORWARD_H
diff --git a/libcxx/include/__cxx03/__utility/forward_like.h b/libcxx/include/__cxx03/__utility/forward_like.h
index ed5cbee0be0c..989a76ed5b10 100644
--- a/libcxx/include/__cxx03/__utility/forward_like.h
+++ b/libcxx/include/__cxx03/__utility/forward_like.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___UTILITY_FORWARD_LIKE_H
-#define _LIBCPP___UTILITY_FORWARD_LIKE_H
+#ifndef _LIBCPP___CXX03___UTILITY_FORWARD_LIKE_H
+#define _LIBCPP___CXX03___UTILITY_FORWARD_LIKE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/conditional.h>
@@ -43,4 +43,4 @@ forward_like(_LIBCPP_LIFETIMEBOUND _Up&& __ux) noexcept -> _ForwardLike<_Tp, _Up
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___UTILITY_FORWARD_LIKE_H
+#endif // _LIBCPP___CXX03___UTILITY_FORWARD_LIKE_H
diff --git a/libcxx/include/__cxx03/__utility/in_place.h b/libcxx/include/__cxx03/__utility/in_place.h
index b0c257dec465..2ab0be25579b 100644
--- a/libcxx/include/__cxx03/__utility/in_place.h
+++ b/libcxx/include/__cxx03/__utility/in_place.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___UTILITY_IN_PLACE_H
-#define _LIBCPP___UTILITY_IN_PLACE_H
+#ifndef _LIBCPP___CXX03___UTILITY_IN_PLACE_H
+#define _LIBCPP___CXX03___UTILITY_IN_PLACE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/remove_cvref.h>
@@ -60,4 +60,4 @@ using __is_inplace_index = __is_inplace_index_imp<__remove_cvref_t<_Tp>>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___UTILITY_IN_PLACE_H
+#endif // _LIBCPP___CXX03___UTILITY_IN_PLACE_H
diff --git a/libcxx/include/__cxx03/__utility/integer_sequence.h b/libcxx/include/__cxx03/__utility/integer_sequence.h
index 5f3d1a763001..f5fdf6325e5b 100644
--- a/libcxx/include/__cxx03/__utility/integer_sequence.h
+++ b/libcxx/include/__cxx03/__utility/integer_sequence.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___UTILITY_INTEGER_SEQUENCE_H
-#define _LIBCPP___UTILITY_INTEGER_SEQUENCE_H
+#ifndef _LIBCPP___CXX03___UTILITY_INTEGER_SEQUENCE_H
+#define _LIBCPP___CXX03___UTILITY_INTEGER_SEQUENCE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/is_integral.h>
@@ -87,4 +87,4 @@ _LIBCPP_HIDE_FROM_ABI constexpr void __for_each_index_sequence(index_sequence<_I
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___UTILITY_INTEGER_SEQUENCE_H
+#endif // _LIBCPP___CXX03___UTILITY_INTEGER_SEQUENCE_H
diff --git a/libcxx/include/__cxx03/__utility/is_pointer_in_range.h b/libcxx/include/__cxx03/__utility/is_pointer_in_range.h
index 8773c526a0a3..4d7d3c5e039f 100644
--- a/libcxx/include/__cxx03/__utility/is_pointer_in_range.h
+++ b/libcxx/include/__cxx03/__utility/is_pointer_in_range.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___UTILITY_IS_POINTER_IN_RANGE_H
-#define _LIBCPP___UTILITY_IS_POINTER_IN_RANGE_H
+#ifndef _LIBCPP___CXX03___UTILITY_IS_POINTER_IN_RANGE_H
+#define _LIBCPP___CXX03___UTILITY_IS_POINTER_IN_RANGE_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__assert>
@@ -59,4 +59,4 @@ __is_pointer_in_range(const _Tp* __begin, const _Tp* __end, const _Up* __ptr) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___UTILITY_IS_POINTER_IN_RANGE_H
+#endif // _LIBCPP___CXX03___UTILITY_IS_POINTER_IN_RANGE_H
diff --git a/libcxx/include/__cxx03/__utility/is_valid_range.h b/libcxx/include/__cxx03/__utility/is_valid_range.h
index a7027bd582cb..b3770c2c428b 100644
--- a/libcxx/include/__cxx03/__utility/is_valid_range.h
+++ b/libcxx/include/__cxx03/__utility/is_valid_range.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___UTILITY_IS_VALID_RANGE_H
-#define _LIBCPP___UTILITY_IS_VALID_RANGE_H
+#ifndef _LIBCPP___CXX03___UTILITY_IS_VALID_RANGE_H
+#define _LIBCPP___CXX03___UTILITY_IS_VALID_RANGE_H
#include <__cxx03/__algorithm/comp.h>
#include <__cxx03/__config>
@@ -34,4 +34,4 @@ __is_valid_range(const _Tp* __first, const _Tp* __last) {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___UTILITY_IS_VALID_RANGE_H
+#endif // _LIBCPP___CXX03___UTILITY_IS_VALID_RANGE_H
diff --git a/libcxx/include/__cxx03/__utility/move.h b/libcxx/include/__cxx03/__utility/move.h
index 89fa877161e6..18692ba9ec12 100644
--- a/libcxx/include/__cxx03/__utility/move.h
+++ b/libcxx/include/__cxx03/__utility/move.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___UTILITY_MOVE_H
-#define _LIBCPP___UTILITY_MOVE_H
+#ifndef _LIBCPP___CXX03___UTILITY_MOVE_H
+#define _LIBCPP___CXX03___UTILITY_MOVE_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/conditional.h>
@@ -46,4 +46,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___UTILITY_MOVE_H
+#endif // _LIBCPP___CXX03___UTILITY_MOVE_H
diff --git a/libcxx/include/__cxx03/__utility/no_destroy.h b/libcxx/include/__cxx03/__utility/no_destroy.h
index 14ac437ecf71..5c3dfc5d81e6 100644
--- a/libcxx/include/__cxx03/__utility/no_destroy.h
+++ b/libcxx/include/__cxx03/__utility/no_destroy.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___UTILITY_NO_DESTROY_H
-#define _LIBCPP___UTILITY_NO_DESTROY_H
+#ifndef _LIBCPP___CXX03___UTILITY_NO_DESTROY_H
+#define _LIBCPP___CXX03___UTILITY_NO_DESTROY_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/is_constant_evaluated.h>
@@ -51,4 +51,4 @@ private:
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___UTILITY_NO_DESTROY_H
+#endif // _LIBCPP___CXX03___UTILITY_NO_DESTROY_H
diff --git a/libcxx/include/__cxx03/__utility/pair.h b/libcxx/include/__cxx03/__utility/pair.h
index 175976a8f627..496fbbba675a 100644
--- a/libcxx/include/__cxx03/__utility/pair.h
+++ b/libcxx/include/__cxx03/__utility/pair.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___UTILITY_PAIR_H
-#define _LIBCPP___UTILITY_PAIR_H
+#ifndef _LIBCPP___CXX03___UTILITY_PAIR_H
+#define _LIBCPP___CXX03___UTILITY_PAIR_H
#include <__cxx03/__compare/common_comparison_category.h>
#include <__cxx03/__compare/synth_three_way.h>
@@ -715,4 +715,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___UTILITY_PAIR_H
+#endif // _LIBCPP___CXX03___UTILITY_PAIR_H
diff --git a/libcxx/include/__cxx03/__utility/piecewise_construct.h b/libcxx/include/__cxx03/__utility/piecewise_construct.h
index 10ad333f81f1..a45d38070f09 100644
--- a/libcxx/include/__cxx03/__utility/piecewise_construct.h
+++ b/libcxx/include/__cxx03/__utility/piecewise_construct.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___UTILITY_PIECEWISE_CONSTRUCT_H
-#define _LIBCPP___UTILITY_PIECEWISE_CONSTRUCT_H
+#ifndef _LIBCPP___CXX03___UTILITY_PIECEWISE_CONSTRUCT_H
+#define _LIBCPP___CXX03___UTILITY_PIECEWISE_CONSTRUCT_H
#include <__cxx03/__config>
@@ -29,4 +29,4 @@ constexpr piecewise_construct_t piecewise_construct = piecewise_construct_t();
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___UTILITY_PIECEWISE_CONSTRUCT_H
+#endif // _LIBCPP___CXX03___UTILITY_PIECEWISE_CONSTRUCT_H
diff --git a/libcxx/include/__cxx03/__utility/priority_tag.h b/libcxx/include/__cxx03/__utility/priority_tag.h
index 8d8cf0e70056..cefcc927b231 100644
--- a/libcxx/include/__cxx03/__utility/priority_tag.h
+++ b/libcxx/include/__cxx03/__utility/priority_tag.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___UTILITY_PRIORITY_TAG_H
-#define _LIBCPP___UTILITY_PRIORITY_TAG_H
+#ifndef _LIBCPP___CXX03___UTILITY_PRIORITY_TAG_H
+#define _LIBCPP___CXX03___UTILITY_PRIORITY_TAG_H
#include <__cxx03/__config>
#include <__cxx03/cstddef>
@@ -25,4 +25,4 @@ struct __priority_tag<0> {};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___UTILITY_PRIORITY_TAG_H
+#endif // _LIBCPP___CXX03___UTILITY_PRIORITY_TAG_H
diff --git a/libcxx/include/__cxx03/__utility/private_constructor_tag.h b/libcxx/include/__cxx03/__utility/private_constructor_tag.h
index c2198dbdd420..2db48a6c9c06 100644
--- a/libcxx/include/__cxx03/__utility/private_constructor_tag.h
+++ b/libcxx/include/__cxx03/__utility/private_constructor_tag.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP__UTILITY_PRIVATE_CONSTRUCTOR_TAG_H
-#define _LIBCPP__UTILITY_PRIVATE_CONSTRUCTOR_TAG_H
+#ifndef _LIBCPP___CXX03__UTILITY_PRIVATE_CONSTRUCTOR_TAG_H
+#define _LIBCPP___CXX03__UTILITY_PRIVATE_CONSTRUCTOR_TAG_H
#include <__cxx03/__config>
@@ -25,4 +25,4 @@ struct __private_constructor_tag {};
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP__UTILITY_PRIVATE_CONSTRUCTOR_TAG_H
+#endif // _LIBCPP___CXX03__UTILITY_PRIVATE_CONSTRUCTOR_TAG_H
diff --git a/libcxx/include/__cxx03/__utility/rel_ops.h b/libcxx/include/__cxx03/__utility/rel_ops.h
index f066a816fcfb..b8fadd4d8622 100644
--- a/libcxx/include/__cxx03/__utility/rel_ops.h
+++ b/libcxx/include/__cxx03/__utility/rel_ops.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___UTILITY_REL_OPS_H
-#define _LIBCPP___UTILITY_REL_OPS_H
+#ifndef _LIBCPP___CXX03___UTILITY_REL_OPS_H
+#define _LIBCPP___CXX03___UTILITY_REL_OPS_H
#include <__cxx03/__config>
@@ -43,4 +43,4 @@ inline _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI bool operator>=(const _
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___UTILITY_REL_OPS_H
+#endif // _LIBCPP___CXX03___UTILITY_REL_OPS_H
diff --git a/libcxx/include/__cxx03/__utility/small_buffer.h b/libcxx/include/__cxx03/__utility/small_buffer.h
index 4836a739ed08..fa5e5b238ab9 100644
--- a/libcxx/include/__cxx03/__utility/small_buffer.h
+++ b/libcxx/include/__cxx03/__utility/small_buffer.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___UTILITY_SMALL_BUFFER_H
-#define _LIBCPP___UTILITY_SMALL_BUFFER_H
+#ifndef _LIBCPP___CXX03___UTILITY_SMALL_BUFFER_H
+#define _LIBCPP___CXX03___UTILITY_SMALL_BUFFER_H
#include <__cxx03/__config>
#include <__cxx03/__memory/construct_at.h>
@@ -96,4 +96,4 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER >= 23
-#endif // _LIBCPP___UTILITY_SMALL_BUFFER_H
+#endif // _LIBCPP___CXX03___UTILITY_SMALL_BUFFER_H
diff --git a/libcxx/include/__cxx03/__utility/swap.h b/libcxx/include/__cxx03/__utility/swap.h
index 6ad367509635..d74ec818084c 100644
--- a/libcxx/include/__cxx03/__utility/swap.h
+++ b/libcxx/include/__cxx03/__utility/swap.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___UTILITY_SWAP_H
-#define _LIBCPP___UTILITY_SWAP_H
+#ifndef _LIBCPP___CXX03___UTILITY_SWAP_H
+#define _LIBCPP___CXX03___UTILITY_SWAP_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/is_assignable.h>
@@ -56,4 +56,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP___UTILITY_SWAP_H
+#endif // _LIBCPP___CXX03___UTILITY_SWAP_H
diff --git a/libcxx/include/__cxx03/__utility/to_underlying.h b/libcxx/include/__cxx03/__utility/to_underlying.h
index 8d33de1714c7..9006012f5a19 100644
--- a/libcxx/include/__cxx03/__utility/to_underlying.h
+++ b/libcxx/include/__cxx03/__utility/to_underlying.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___UTILITY_TO_UNDERLYING_H
-#define _LIBCPP___UTILITY_TO_UNDERLYING_H
+#ifndef _LIBCPP___CXX03___UTILITY_TO_UNDERLYING_H
+#define _LIBCPP___CXX03___UTILITY_TO_UNDERLYING_H
#include <__cxx03/__config>
#include <__cxx03/__type_traits/underlying_type.h>
@@ -35,4 +35,4 @@ template <class _Tp>
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___UTILITY_TO_UNDERLYING_H
+#endif // _LIBCPP___CXX03___UTILITY_TO_UNDERLYING_H
diff --git a/libcxx/include/__cxx03/__utility/unreachable.h b/libcxx/include/__cxx03/__utility/unreachable.h
index fb4a775d0244..373cddc1365c 100644
--- a/libcxx/include/__cxx03/__utility/unreachable.h
+++ b/libcxx/include/__cxx03/__utility/unreachable.h
@@ -6,8 +6,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___UTILITY_UNREACHABLE_H
-#define _LIBCPP___UTILITY_UNREACHABLE_H
+#ifndef _LIBCPP___CXX03___UTILITY_UNREACHABLE_H
+#define _LIBCPP___CXX03___UTILITY_UNREACHABLE_H
#include <__cxx03/__assert>
#include <__cxx03/__config>
@@ -31,4 +31,4 @@ _LIBCPP_NORETURN _LIBCPP_HIDE_FROM_ABI inline void __libcpp_unreachable() {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___UTILITY_UNREACHABLE_H
+#endif // _LIBCPP___CXX03___UTILITY_UNREACHABLE_H
diff --git a/libcxx/include/__cxx03/__variant/monostate.h b/libcxx/include/__cxx03/__variant/monostate.h
index 6a136e75516b..66b94618a0fe 100644
--- a/libcxx/include/__cxx03/__variant/monostate.h
+++ b/libcxx/include/__cxx03/__variant/monostate.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___VARIANT_MONOSTATE_H
-#define _LIBCPP___VARIANT_MONOSTATE_H
+#ifndef _LIBCPP___CXX03___VARIANT_MONOSTATE_H
+#define _LIBCPP___CXX03___VARIANT_MONOSTATE_H
#include <__cxx03/__compare/ordering.h>
#include <__cxx03/__config>
@@ -61,4 +61,4 @@ struct _LIBCPP_TEMPLATE_VIS hash<monostate> {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___VARIANT_MONOSTATE_H
+#endif // _LIBCPP___CXX03___VARIANT_MONOSTATE_H
diff --git a/libcxx/include/__cxx03/__verbose_abort b/libcxx/include/__cxx03/__verbose_abort
index 4eb994a4f204..4fcfffa2b4df 100644
--- a/libcxx/include/__cxx03/__verbose_abort
+++ b/libcxx/include/__cxx03/__verbose_abort
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP___VERBOSE_ABORT
-#define _LIBCPP___VERBOSE_ABORT
+#ifndef _LIBCPP___CXX03___VERBOSE_ABORT
+#define _LIBCPP___CXX03___VERBOSE_ABORT
#include <__cxx03/__config>
@@ -49,4 +49,4 @@ void __use(const char*, ...);
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP___VERBOSE_ABORT
+#endif // _LIBCPP___CXX03___VERBOSE_ABORT
diff --git a/libcxx/include/__cxx03/algorithm b/libcxx/include/__cxx03/algorithm
index 929e2c5b7422..8eff4d152adb 100644
--- a/libcxx/include/__cxx03/algorithm
+++ b/libcxx/include/__cxx03/algorithm
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_ALGORITHM
-#define _LIBCPP_ALGORITHM
+#ifndef _LIBCPP___CXX03_ALGORITHM
+#define _LIBCPP___CXX03_ALGORITHM
/*
algorithm synopsis
@@ -2046,4 +2046,4 @@ template <class BidirectionalIterator, class Compare>
# include <__cxx03/utility>
#endif
-#endif // _LIBCPP_ALGORITHM
+#endif // _LIBCPP___CXX03_ALGORITHM
diff --git a/libcxx/include/__cxx03/any b/libcxx/include/__cxx03/any
index 06ce9336abbd..01289c5c4f0a 100644
--- a/libcxx/include/__cxx03/any
+++ b/libcxx/include/__cxx03/any
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_ANY
-#define _LIBCPP_ANY
+#ifndef _LIBCPP___CXX03_ANY
+#define _LIBCPP___CXX03_ANY
/*
any synopsis
@@ -611,4 +611,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/variant>
#endif
-#endif // _LIBCPP_ANY
+#endif // _LIBCPP___CXX03_ANY
diff --git a/libcxx/include/__cxx03/array b/libcxx/include/__cxx03/array
index 2686dd85668b..74dc287aa54d 100644
--- a/libcxx/include/__cxx03/array
+++ b/libcxx/include/__cxx03/array
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_ARRAY
-#define _LIBCPP_ARRAY
+#ifndef _LIBCPP___CXX03_ARRAY
+#define _LIBCPP___CXX03_ARRAY
/*
array synopsis
@@ -511,4 +511,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/utility>
#endif
-#endif // _LIBCPP_ARRAY
+#endif // _LIBCPP___CXX03_ARRAY
diff --git a/libcxx/include/__cxx03/atomic b/libcxx/include/__cxx03/atomic
index 7a0b5bd38fb9..1b488d99f80f 100644
--- a/libcxx/include/__cxx03/atomic
+++ b/libcxx/include/__cxx03/atomic
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_ATOMIC
-#define _LIBCPP_ATOMIC
+#ifndef _LIBCPP___CXX03_ATOMIC
+#define _LIBCPP___CXX03_ATOMIC
/*
atomic synopsis
@@ -589,7 +589,7 @@ template <class T>
#include <__cxx03/__config>
-#if _LIBCPP_STD_VER < 23 && defined(_LIBCPP_STDATOMIC_H)
+#if _LIBCPP_STD_VER < 23 && defined(_LIBCPP___CXX03_STDATOMIC_H)
# error <atomic> is incompatible with <stdatomic.h> before C++23. Please compile with -std=c++23.
#endif
@@ -629,4 +629,4 @@ template <class T>
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_ATOMIC
+#endif // _LIBCPP___CXX03_ATOMIC
diff --git a/libcxx/include/__cxx03/barrier b/libcxx/include/__cxx03/barrier
index 5aee9e7210ec..5e11f2439c40 100644
--- a/libcxx/include/__cxx03/barrier
+++ b/libcxx/include/__cxx03/barrier
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_BARRIER
-#define _LIBCPP_BARRIER
+#ifndef _LIBCPP___CXX03_BARRIER
+#define _LIBCPP___CXX03_BARRIER
/*
barrier synopsis
@@ -305,4 +305,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/variant>
#endif
-#endif //_LIBCPP_BARRIER
+#endif //_LIBCPP___CXX03_BARRIER
diff --git a/libcxx/include/__cxx03/bit b/libcxx/include/__cxx03/bit
index e220eedfeaa9..29da3a21c892 100644
--- a/libcxx/include/__cxx03/bit
+++ b/libcxx/include/__cxx03/bit
@@ -7,8 +7,8 @@
//
//===---------------------------------------------------------------------===//
-#ifndef _LIBCPP_BIT
-#define _LIBCPP_BIT
+#ifndef _LIBCPP___CXX03_BIT
+#define _LIBCPP___CXX03_BIT
/*
bit synopsis
@@ -98,4 +98,4 @@ namespace std {
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_BIT
+#endif // _LIBCPP___CXX03_BIT
diff --git a/libcxx/include/__cxx03/bitset b/libcxx/include/__cxx03/bitset
index f41d78ce27f0..1507d0cdaf2f 100644
--- a/libcxx/include/__cxx03/bitset
+++ b/libcxx/include/__cxx03/bitset
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_BITSET
-#define _LIBCPP_BITSET
+#ifndef _LIBCPP___CXX03_BITSET
+#define _LIBCPP___CXX03_BITSET
// clang-format off
@@ -966,4 +966,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_BITSET
+#endif // _LIBCPP___CXX03_BITSET
diff --git a/libcxx/include/__cxx03/ccomplex b/libcxx/include/__cxx03/ccomplex
index fb16b8fbb54a..a96d7512661c 100644
--- a/libcxx/include/__cxx03/ccomplex
+++ b/libcxx/include/__cxx03/ccomplex
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CCOMPLEX
-#define _LIBCPP_CCOMPLEX
+#ifndef _LIBCPP___CXX03_CCOMPLEX
+#define _LIBCPP___CXX03_CCOMPLEX
/*
ccomplex synopsis
@@ -23,4 +23,4 @@
# pragma GCC system_header
#endif
-#endif // _LIBCPP_CCOMPLEX
+#endif // _LIBCPP___CXX03_CCOMPLEX
diff --git a/libcxx/include/__cxx03/cctype b/libcxx/include/__cxx03/cctype
index 1bfb66b704a2..7f1becb46341 100644
--- a/libcxx/include/__cxx03/cctype
+++ b/libcxx/include/__cxx03/cctype
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CCTYPE
-#define _LIBCPP_CCTYPE
+#ifndef _LIBCPP___CXX03_CCTYPE
+#define _LIBCPP___CXX03_CCTYPE
/*
cctype synopsis
@@ -38,7 +38,7 @@ int toupper(int c);
#include <__cxx03/ctype.h>
-#ifndef _LIBCPP_CTYPE_H
+#ifndef _LIBCPP___CXX03_CTYPE_H
# error <cctype> tried including <ctype.h> but didn't find libc++'s <ctype.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
@@ -124,4 +124,4 @@ using ::toupper _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_CCTYPE
+#endif // _LIBCPP___CXX03_CCTYPE
diff --git a/libcxx/include/__cxx03/cerrno b/libcxx/include/__cxx03/cerrno
index 987e7492ce05..acb894ea1949 100644
--- a/libcxx/include/__cxx03/cerrno
+++ b/libcxx/include/__cxx03/cerrno
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CERRNO
-#define _LIBCPP_CERRNO
+#ifndef _LIBCPP___CXX03_CERRNO
+#define _LIBCPP___CXX03_CERRNO
/*
cerrno synopsis
@@ -26,7 +26,7 @@ Macros:
#include <__cxx03/errno.h>
-#ifndef _LIBCPP_ERRNO_H
+#ifndef _LIBCPP___CXX03_ERRNO_H
# error <cerrno> tried including <errno.h> but didn't find libc++'s <errno.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
@@ -45,4 +45,4 @@ Macros:
// Based on the post commit feedback the macro are no longer deprecated.
// Instead libc++ leaves the deprecation to the provider of errno.h.
-#endif // _LIBCPP_CERRNO
+#endif // _LIBCPP___CXX03_CERRNO
diff --git a/libcxx/include/__cxx03/cfenv b/libcxx/include/__cxx03/cfenv
index 59c56d29a7c4..d707f5a65b9b 100644
--- a/libcxx/include/__cxx03/cfenv
+++ b/libcxx/include/__cxx03/cfenv
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CFENV
-#define _LIBCPP_CFENV
+#ifndef _LIBCPP___CXX03_CFENV
+#define _LIBCPP___CXX03_CFENV
/*
cfenv synopsis
@@ -56,7 +56,7 @@ int feupdateenv(const fenv_t* envp);
#include <__cxx03/fenv.h>
-#ifndef _LIBCPP_FENV_H
+#ifndef _LIBCPP___CXX03_FENV_H
# error <cfenv> tried including <fenv.h> but didn't find libc++'s <fenv.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
@@ -87,4 +87,4 @@ using ::feupdateenv _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_CFENV
+#endif // _LIBCPP___CXX03_CFENV
diff --git a/libcxx/include/__cxx03/cfloat b/libcxx/include/__cxx03/cfloat
index 5f65b014ca12..5d10db6a454a 100644
--- a/libcxx/include/__cxx03/cfloat
+++ b/libcxx/include/__cxx03/cfloat
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CFLOAT
-#define _LIBCPP_CFLOAT
+#ifndef _LIBCPP___CXX03_CFLOAT
+#define _LIBCPP___CXX03_CFLOAT
/*
cfloat synopsis
@@ -73,7 +73,7 @@ Macros:
#include <__cxx03/float.h>
-#ifndef _LIBCPP_FLOAT_H
+#ifndef _LIBCPP___CXX03_FLOAT_H
# error <cfloat> tried including <float.h> but didn't find libc++'s <float.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
@@ -85,4 +85,4 @@ Macros:
# pragma GCC system_header
#endif
-#endif // _LIBCPP_CFLOAT
+#endif // _LIBCPP___CXX03_CFLOAT
diff --git a/libcxx/include/__cxx03/charconv b/libcxx/include/__cxx03/charconv
index 0135a74fba8a..352189aa3408 100644
--- a/libcxx/include/__cxx03/charconv
+++ b/libcxx/include/__cxx03/charconv
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CHARCONV
-#define _LIBCPP_CHARCONV
+#ifndef _LIBCPP___CXX03_CHARCONV
+#define _LIBCPP___CXX03_CHARCONV
/*
charconv synopsis
@@ -112,4 +112,4 @@ _LIBCPP_END_NAMESPACE_STD
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_CHARCONV
+#endif // _LIBCPP___CXX03_CHARCONV
diff --git a/libcxx/include/__cxx03/chrono b/libcxx/include/__cxx03/chrono
index f39abf1897df..167e85203ced 100644
--- a/libcxx/include/__cxx03/chrono
+++ b/libcxx/include/__cxx03/chrono
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CHRONO
-#define _LIBCPP_CHRONO
+#ifndef _LIBCPP___CXX03_CHRONO
+#define _LIBCPP___CXX03_CHRONO
// clang-format off
@@ -1019,4 +1019,4 @@ constexpr chrono::year operator ""y(unsigned lo
# endif
#endif
-#endif // _LIBCPP_CHRONO
+#endif // _LIBCPP___CXX03_CHRONO
diff --git a/libcxx/include/__cxx03/cinttypes b/libcxx/include/__cxx03/cinttypes
index 146f5b8fce0c..a14c1a57e66f 100644
--- a/libcxx/include/__cxx03/cinttypes
+++ b/libcxx/include/__cxx03/cinttypes
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CINTTYPES
-#define _LIBCPP_CINTTYPES
+#ifndef _LIBCPP___CXX03_CINTTYPES
+#define _LIBCPP___CXX03_CINTTYPES
/*
cinttypes synopsis
@@ -243,7 +243,7 @@ uintmax_t wcstoumax(const wchar_t* restrict nptr, wchar_t** restrict endptr, int
#include <__cxx03/inttypes.h>
-#ifndef _LIBCPP_INTTYPES_H
+#ifndef _LIBCPP___CXX03_INTTYPES_H
# error <cinttypes> tried including <inttypes.h> but didn't find libc++'s <inttypes.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
@@ -267,4 +267,4 @@ using ::wcstoumax _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_CINTTYPES
+#endif // _LIBCPP___CXX03_CINTTYPES
diff --git a/libcxx/include/__cxx03/ciso646 b/libcxx/include/__cxx03/ciso646
index 7109a31b52f2..5323d0b3393b 100644
--- a/libcxx/include/__cxx03/ciso646
+++ b/libcxx/include/__cxx03/ciso646
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CISO646
-#define _LIBCPP_CISO646
+#ifndef _LIBCPP___CXX03_CISO646
+#define _LIBCPP___CXX03_CISO646
/*
ciso646 synopsis
@@ -21,4 +21,4 @@
# pragma GCC system_header
#endif
-#endif // _LIBCPP_CISO646
+#endif // _LIBCPP___CXX03_CISO646
diff --git a/libcxx/include/__cxx03/climits b/libcxx/include/__cxx03/climits
index aff33b687bde..2c6fe5ab95b4 100644
--- a/libcxx/include/__cxx03/climits
+++ b/libcxx/include/__cxx03/climits
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CLIMITS
-#define _LIBCPP_CLIMITS
+#ifndef _LIBCPP___CXX03_CLIMITS
+#define _LIBCPP___CXX03_CLIMITS
/*
climits synopsis
@@ -39,10 +39,10 @@ Macros:
#include <__cxx03/__config>
-#include <__cxx03/limits.h>
+#include <limits.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
#endif
-#endif // _LIBCPP_CLIMITS
+#endif // _LIBCPP___CXX03_CLIMITS
diff --git a/libcxx/include/__cxx03/clocale b/libcxx/include/__cxx03/clocale
index d8fc91465ef7..497aed248691 100644
--- a/libcxx/include/__cxx03/clocale
+++ b/libcxx/include/__cxx03/clocale
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CLOCALE
-#define _LIBCPP_CLOCALE
+#ifndef _LIBCPP___CXX03_CLOCALE
+#define _LIBCPP___CXX03_CLOCALE
/*
clocale synopsis
@@ -38,7 +38,7 @@ lconv* localeconv();
#include <__cxx03/locale.h>
-#ifndef _LIBCPP_LOCALE_H
+#ifndef _LIBCPP___CXX03_LOCALE_H
# error <clocale> tried including <locale.h> but didn't find libc++'s <locale.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
@@ -58,4 +58,4 @@ using ::localeconv _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_CLOCALE
+#endif // _LIBCPP___CXX03_CLOCALE
diff --git a/libcxx/include/__cxx03/cmath b/libcxx/include/__cxx03/cmath
index 659b5c965d6e..6aa9ad9c7c4d 100644
--- a/libcxx/include/__cxx03/cmath
+++ b/libcxx/include/__cxx03/cmath
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CMATH
-#define _LIBCPP_CMATH
+#ifndef _LIBCPP___CXX03_CMATH
+#define _LIBCPP___CXX03_CMATH
/*
cmath synopsis
@@ -327,7 +327,7 @@ constexpr long double lerp(long double a, long double b, long double t) noexcept
#include <__cxx03/__math/special_functions.h>
#include <__cxx03/math.h>
-#ifndef _LIBCPP_MATH_H
+#ifndef _LIBCPP___CXX03_MATH_H
# error <cmath> tried including <math.h> but didn't find libc++'s <math.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
@@ -643,4 +643,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_CMATH
+#endif // _LIBCPP___CXX03_CMATH
diff --git a/libcxx/include/__cxx03/codecvt b/libcxx/include/__cxx03/codecvt
index 827822bf1246..22a4de3790d1 100644
--- a/libcxx/include/__cxx03/codecvt
+++ b/libcxx/include/__cxx03/codecvt
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CODECVT
-#define _LIBCPP_CODECVT
+#ifndef _LIBCPP___CXX03_CODECVT
+#define _LIBCPP___CXX03_CODECVT
/*
codecvt synopsis
@@ -594,4 +594,4 @@ _LIBCPP_END_NAMESPACE_STD
# include <__cxx03/typeinfo>
#endif
-#endif // _LIBCPP_CODECVT
+#endif // _LIBCPP___CXX03_CODECVT
diff --git a/libcxx/include/__cxx03/compare b/libcxx/include/__cxx03/compare
index 03b87ea1d107..1199cc45c622 100644
--- a/libcxx/include/__cxx03/compare
+++ b/libcxx/include/__cxx03/compare
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_COMPARE
-#define _LIBCPP_COMPARE
+#ifndef _LIBCPP___CXX03_COMPARE
+#define _LIBCPP___CXX03_COMPARE
/*
compare synopsis
@@ -175,4 +175,4 @@ namespace std {
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_COMPARE
+#endif // _LIBCPP___CXX03_COMPARE
diff --git a/libcxx/include/__cxx03/complex b/libcxx/include/__cxx03/complex
index 0bad3de20008..c68bce75bb9b 100644
--- a/libcxx/include/__cxx03/complex
+++ b/libcxx/include/__cxx03/complex
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_COMPLEX
-#define _LIBCPP_COMPLEX
+#ifndef _LIBCPP___CXX03_COMPLEX
+#define _LIBCPP___CXX03_COMPLEX
/*
complex synopsis
@@ -1477,4 +1477,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_COMPLEX
+#endif // _LIBCPP___CXX03_COMPLEX
diff --git a/libcxx/include/__cxx03/complex.h b/libcxx/include/__cxx03/complex.h
index a20ab8880206..373017ff3f44 100644
--- a/libcxx/include/__cxx03/complex.h
+++ b/libcxx/include/__cxx03/complex.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_COMPLEX_H
-#define _LIBCPP_COMPLEX_H
+#ifndef _LIBCPP___CXX03_COMPLEX_H
+#define _LIBCPP___CXX03_COMPLEX_H
/*
complex.h synopsis
@@ -29,4 +29,4 @@
# include_next <complex.h>
#endif
-#endif // _LIBCPP_COMPLEX_H
+#endif // _LIBCPP___CXX03_COMPLEX_H
diff --git a/libcxx/include/__cxx03/concepts b/libcxx/include/__cxx03/concepts
index aa6e62e4d39c..4e129022e55a 100644
--- a/libcxx/include/__cxx03/concepts
+++ b/libcxx/include/__cxx03/concepts
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CONCEPTS
-#define _LIBCPP_CONCEPTS
+#ifndef _LIBCPP___CXX03_CONCEPTS
+#define _LIBCPP___CXX03_CONCEPTS
/*
concepts synopsis
@@ -170,4 +170,4 @@ namespace std {
# pragma GCC system_header
#endif
-#endif // _LIBCPP_CONCEPTS
+#endif // _LIBCPP___CXX03_CONCEPTS
diff --git a/libcxx/include/__cxx03/condition_variable b/libcxx/include/__cxx03/condition_variable
index db862c44f9d3..5ad540c4626c 100644
--- a/libcxx/include/__cxx03/condition_variable
+++ b/libcxx/include/__cxx03/condition_variable
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CONDITION_VARIABLE
-#define _LIBCPP_CONDITION_VARIABLE
+#ifndef _LIBCPP___CXX03_CONDITION_VARIABLE
+#define _LIBCPP___CXX03_CONDITION_VARIABLE
/*
condition_variable synopsis
@@ -366,4 +366,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/typeinfo>
#endif
-#endif // _LIBCPP_CONDITION_VARIABLE
+#endif // _LIBCPP___CXX03_CONDITION_VARIABLE
diff --git a/libcxx/include/__cxx03/coroutine b/libcxx/include/__cxx03/coroutine
index 2a8a06e63cc2..6f2af35cc4d7 100644
--- a/libcxx/include/__cxx03/coroutine
+++ b/libcxx/include/__cxx03/coroutine
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_COROUTINE
-#define _LIBCPP_COROUTINE
+#ifndef _LIBCPP___CXX03_COROUTINE
+#define _LIBCPP___CXX03_COROUTINE
/**
coroutine synopsis
@@ -64,4 +64,4 @@ struct suspend_always;
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_COROUTINE
+#endif // _LIBCPP___CXX03_COROUTINE
diff --git a/libcxx/include/__cxx03/csetjmp b/libcxx/include/__cxx03/csetjmp
index be9391506d0f..5eeda2dda4ba 100644
--- a/libcxx/include/__cxx03/csetjmp
+++ b/libcxx/include/__cxx03/csetjmp
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CSETJMP
-#define _LIBCPP_CSETJMP
+#ifndef _LIBCPP___CXX03_CSETJMP
+#define _LIBCPP___CXX03_CSETJMP
/*
csetjmp synopsis
@@ -35,7 +35,7 @@ void longjmp(jmp_buf env, int val);
// <setjmp.h> is not provided by libc++
#if __has_include(<setjmp.h>)
# include <setjmp.h>
-# ifdef _LIBCPP_SETJMP_H
+# ifdef _LIBCPP___CXX03_SETJMP_H
# error "If libc++ starts defining <setjmp.h>, the __has_include check should move to libc++'s <setjmp.h>"
# endif
#endif
@@ -51,4 +51,4 @@ using ::longjmp _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_CSETJMP
+#endif // _LIBCPP___CXX03_CSETJMP
diff --git a/libcxx/include/__cxx03/csignal b/libcxx/include/__cxx03/csignal
index f8f511fbca43..945278d6f2df 100644
--- a/libcxx/include/__cxx03/csignal
+++ b/libcxx/include/__cxx03/csignal
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CSIGNAL
-#define _LIBCPP_CSIGNAL
+#ifndef _LIBCPP___CXX03_CSIGNAL
+#define _LIBCPP___CXX03_CSIGNAL
/*
csignal synopsis
@@ -44,7 +44,7 @@ int raise(int sig);
// <signal.h> is not provided by libc++
#if __has_include(<signal.h>)
# include <signal.h>
-# ifdef _LIBCPP_SIGNAL_H
+# ifdef _LIBCPP___CXX03_SIGNAL_H
# error "If libc++ starts defining <signal.h>, the __has_include check should move to libc++'s <signal.h>"
# endif
#endif
@@ -61,4 +61,4 @@ using ::raise _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_CSIGNAL
+#endif // _LIBCPP___CXX03_CSIGNAL
diff --git a/libcxx/include/__cxx03/cstdarg b/libcxx/include/__cxx03/cstdarg
index ae04819a679a..91a452a154f6 100644
--- a/libcxx/include/__cxx03/cstdarg
+++ b/libcxx/include/__cxx03/cstdarg
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CSTDARG
-#define _LIBCPP_CSTDARG
+#ifndef _LIBCPP___CXX03_CSTDARG
+#define _LIBCPP___CXX03_CSTDARG
/*
cstdarg synopsis
@@ -36,7 +36,7 @@ Types:
// <stdarg.h> is not provided by libc++
#if __has_include(<stdarg.h>)
# include <stdarg.h>
-# ifdef _LIBCPP_STDARG_H
+# ifdef _LIBCPP___CXX03_STDARG_H
# error "If libc++ starts defining <stdarg.h>, the __has_include check should move to libc++'s <stdarg.h>"
# endif
#endif
@@ -51,4 +51,4 @@ using ::va_list _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_CSTDARG
+#endif // _LIBCPP___CXX03_CSTDARG
diff --git a/libcxx/include/__cxx03/cstdbool b/libcxx/include/__cxx03/cstdbool
index 7449c4078010..16053e239c93 100644
--- a/libcxx/include/__cxx03/cstdbool
+++ b/libcxx/include/__cxx03/cstdbool
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CSTDBOOL
-#define _LIBCPP_CSTDBOOL
+#ifndef _LIBCPP___CXX03_CSTDBOOL
+#define _LIBCPP___CXX03_CSTDBOOL
/*
cstdbool synopsis
@@ -28,4 +28,4 @@ Macros:
#undef __bool_true_false_are_defined
#define __bool_true_false_are_defined 1
-#endif // _LIBCPP_CSTDBOOL
+#endif // _LIBCPP___CXX03_CSTDBOOL
diff --git a/libcxx/include/__cxx03/cstddef b/libcxx/include/__cxx03/cstddef
index 284f2fb46561..38f89a77d1ce 100644
--- a/libcxx/include/__cxx03/cstddef
+++ b/libcxx/include/__cxx03/cstddef
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CSTDDEF
-#define _LIBCPP_CSTDDEF
+#ifndef _LIBCPP___CXX03_CSTDDEF
+#define _LIBCPP___CXX03_CSTDDEF
/*
cstddef synopsis
@@ -41,7 +41,7 @@ Types:
#include <__cxx03/stddef.h>
-#ifndef _LIBCPP_STDDEF_H
+#ifndef _LIBCPP___CXX03_STDDEF_H
# error <cstddef> tried including <stddef.h> but didn't find libc++'s <stddef.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
@@ -130,4 +130,4 @@ template <class _Integer, __enable_if_t<is_integral<_Integer>::value, int> = 0>
#endif
-#endif // _LIBCPP_CSTDDEF
+#endif // _LIBCPP___CXX03_CSTDDEF
diff --git a/libcxx/include/__cxx03/cstdint b/libcxx/include/__cxx03/cstdint
index 8dd7e8510130..876abb7480bc 100644
--- a/libcxx/include/__cxx03/cstdint
+++ b/libcxx/include/__cxx03/cstdint
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CSTDINT
-#define _LIBCPP_CSTDINT
+#ifndef _LIBCPP___CXX03_CSTDINT
+#define _LIBCPP___CXX03_CSTDINT
/*
cstdint synopsis
@@ -144,7 +144,7 @@ Types:
#include <__cxx03/stdint.h>
-#ifndef _LIBCPP_STDINT_H
+#ifndef _LIBCPP___CXX03_STDINT_H
# error <cstdint> tried including <stdint.h> but didn't find libc++'s <stdint.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
@@ -196,4 +196,4 @@ using ::uintmax_t _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_CSTDINT
+#endif // _LIBCPP___CXX03_CSTDINT
diff --git a/libcxx/include/__cxx03/cstdio b/libcxx/include/__cxx03/cstdio
index 3085e6d3733a..801a58625c4c 100644
--- a/libcxx/include/__cxx03/cstdio
+++ b/libcxx/include/__cxx03/cstdio
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CSTDIO
-#define _LIBCPP_CSTDIO
+#ifndef _LIBCPP___CXX03_CSTDIO
+#define _LIBCPP___CXX03_CSTDIO
/*
cstdio synopsis
@@ -99,7 +99,7 @@ void perror(const char* s);
#include <__cxx03/stdio.h>
-#ifndef _LIBCPP_STDIO_H
+#ifndef _LIBCPP___CXX03_STDIO_H
# error <cstdio> tried including <stdio.h> but didn't find libc++'s <stdio.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
@@ -171,4 +171,4 @@ using ::vprintf _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_CSTDIO
+#endif // _LIBCPP___CXX03_CSTDIO
diff --git a/libcxx/include/__cxx03/cstdlib b/libcxx/include/__cxx03/cstdlib
index 078db2b1a911..ec4757dc3d35 100644
--- a/libcxx/include/__cxx03/cstdlib
+++ b/libcxx/include/__cxx03/cstdlib
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CSTDLIB
-#define _LIBCPP_CSTDLIB
+#ifndef _LIBCPP___CXX03_CSTDLIB
+#define _LIBCPP___CXX03_CSTDLIB
/*
cstdlib synopsis
@@ -85,7 +85,7 @@ void *aligned_alloc(size_t alignment, size_t size); // C11
#include <__cxx03/stdlib.h>
-#ifndef _LIBCPP_STDLIB_H
+#ifndef _LIBCPP___CXX03_STDLIB_H
# error <cstdlib> tried including <stdlib.h> but didn't find libc++'s <stdlib.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
@@ -151,4 +151,4 @@ using ::aligned_alloc _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_CSTDLIB
+#endif // _LIBCPP___CXX03_CSTDLIB
diff --git a/libcxx/include/__cxx03/cstring b/libcxx/include/__cxx03/cstring
index 693777c0f0bd..4d57420f54f5 100644
--- a/libcxx/include/__cxx03/cstring
+++ b/libcxx/include/__cxx03/cstring
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CSTRING
-#define _LIBCPP_CSTRING
+#ifndef _LIBCPP___CXX03_CSTRING
+#define _LIBCPP___CXX03_CSTRING
/*
cstring synopsis
@@ -61,7 +61,7 @@ size_t strlen(const char* s);
#include <__cxx03/string.h>
-#ifndef _LIBCPP_STRING_H
+#ifndef _LIBCPP___CXX03_STRING_H
# error <cstring> tried including <string.h> but didn't find libc++'s <string.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
@@ -101,4 +101,4 @@ using ::strlen _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_CSTRING
+#endif // _LIBCPP___CXX03_CSTRING
diff --git a/libcxx/include/__cxx03/ctgmath b/libcxx/include/__cxx03/ctgmath
index 5da5f6dfb66d..e3fa00fd68ab 100644
--- a/libcxx/include/__cxx03/ctgmath
+++ b/libcxx/include/__cxx03/ctgmath
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CTGMATH
-#define _LIBCPP_CTGMATH
+#ifndef _LIBCPP___CXX03_CTGMATH
+#define _LIBCPP___CXX03_CTGMATH
/*
ctgmath synopsis
@@ -25,4 +25,4 @@
# pragma GCC system_header
#endif
-#endif // _LIBCPP_CTGMATH
+#endif // _LIBCPP___CXX03_CTGMATH
diff --git a/libcxx/include/__cxx03/ctime b/libcxx/include/__cxx03/ctime
index 84080a9c5e95..07432e6e9a43 100644
--- a/libcxx/include/__cxx03/ctime
+++ b/libcxx/include/__cxx03/ctime
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CTIME
-#define _LIBCPP_CTIME
+#ifndef _LIBCPP___CXX03_CTIME
+#define _LIBCPP___CXX03_CTIME
/*
ctime synopsis
@@ -50,7 +50,7 @@ int timespec_get( struct timespec *ts, int base); // C++17
// <time.h> is not provided by libc++
#if __has_include(<time.h>)
# include <time.h>
-# ifdef _LIBCPP_TIME_H
+# ifdef _LIBCPP___CXX03_TIME_H
# error "If libc++ starts defining <time.h>, the __has_include check should move to libc++'s <time.h>"
# endif
#endif
@@ -83,4 +83,4 @@ using ::timespec_get _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_CTIME
+#endif // _LIBCPP___CXX03_CTIME
diff --git a/libcxx/include/__cxx03/ctype.h b/libcxx/include/__cxx03/ctype.h
index e169040376d4..cd4097ab012f 100644
--- a/libcxx/include/__cxx03/ctype.h
+++ b/libcxx/include/__cxx03/ctype.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CTYPE_H
-#define _LIBCPP_CTYPE_H
+#ifndef _LIBCPP___CXX03_CTYPE_H
+#define _LIBCPP___CXX03_CTYPE_H
/*
ctype.h synopsis
@@ -58,4 +58,4 @@ int toupper(int c);
#endif
-#endif // _LIBCPP_CTYPE_H
+#endif // _LIBCPP___CXX03_CTYPE_H
diff --git a/libcxx/include/__cxx03/cuchar b/libcxx/include/__cxx03/cuchar
index 1029f7376756..c9da0e7e55f0 100644
--- a/libcxx/include/__cxx03/cuchar
+++ b/libcxx/include/__cxx03/cuchar
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CUCHAR
-#define _LIBCPP_CUCHAR
+#ifndef _LIBCPP___CXX03_CUCHAR
+#define _LIBCPP___CXX03_CUCHAR
/*
cuchar synopsis // since C++11
@@ -40,7 +40,7 @@ size_t c32rtomb(char* s, char32_t c32, mbstate_t* ps);
#include <__cxx03/uchar.h>
-#ifndef _LIBCPP_UCHAR_H
+#ifndef _LIBCPP___CXX03_UCHAR_H
# error <cuchar> tried including <uchar.h> but didn't find libc++'s <uchar.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
@@ -72,4 +72,4 @@ using ::c32rtomb _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_CUCHAR
+#endif // _LIBCPP___CXX03_CUCHAR
diff --git a/libcxx/include/__cxx03/cwchar b/libcxx/include/__cxx03/cwchar
index 50fa5607fc4a..2da11571df1f 100644
--- a/libcxx/include/__cxx03/cwchar
+++ b/libcxx/include/__cxx03/cwchar
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CWCHAR
-#define _LIBCPP_CWCHAR
+#ifndef _LIBCPP___CXX03_CWCHAR
+#define _LIBCPP___CXX03_CWCHAR
/*
cwchar synopsis
@@ -112,7 +112,7 @@ size_t wcsrtombs(char* restrict dst, const wchar_t** restrict src, size_t len,
#include <__cxx03/wchar.h>
-#ifndef _LIBCPP_WCHAR_H
+#ifndef _LIBCPP___CXX03_WCHAR_H
# error <cwchar> tried including <wchar.h> but didn't find libc++'s <wchar.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
@@ -258,4 +258,4 @@ _LIBCPP_END_NAMESPACE_STD
# include <__cxx03/cstddef>
#endif
-#endif // _LIBCPP_CWCHAR
+#endif // _LIBCPP___CXX03_CWCHAR
diff --git a/libcxx/include/__cxx03/cwctype b/libcxx/include/__cxx03/cwctype
index 791277f9c103..5228124936c6 100644
--- a/libcxx/include/__cxx03/cwctype
+++ b/libcxx/include/__cxx03/cwctype
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_CWCTYPE
-#define _LIBCPP_CWCTYPE
+#ifndef _LIBCPP___CXX03_CWCTYPE
+#define _LIBCPP___CXX03_CWCTYPE
/*
cwctype synopsis
@@ -54,7 +54,7 @@ wctrans_t wctrans(const char* property);
#include <__cxx03/wctype.h>
-#ifndef _LIBCPP_WCTYPE_H
+#ifndef _LIBCPP___CXX03_WCTYPE_H
# error <cwctype> tried including <wctype.h> but didn't find libc++'s <wctype.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
@@ -94,4 +94,4 @@ using ::wctrans _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_CWCTYPE
+#endif // _LIBCPP___CXX03_CWCTYPE
diff --git a/libcxx/include/__cxx03/deque b/libcxx/include/__cxx03/deque
index 7525a5b59a9b..8e40befbb71e 100644
--- a/libcxx/include/__cxx03/deque
+++ b/libcxx/include/__cxx03/deque
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_DEQUE
-#define _LIBCPP_DEQUE
+#ifndef _LIBCPP___CXX03_DEQUE
+#define _LIBCPP___CXX03_DEQUE
/*
deque synopsis
@@ -2618,4 +2618,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/typeinfo>
#endif
-#endif // _LIBCPP_DEQUE
+#endif // _LIBCPP___CXX03_DEQUE
diff --git a/libcxx/include/__cxx03/errno.h b/libcxx/include/__cxx03/errno.h
index 0ebd03c0b6a6..440235bef854 100644
--- a/libcxx/include/__cxx03/errno.h
+++ b/libcxx/include/__cxx03/errno.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_ERRNO_H
-#define _LIBCPP_ERRNO_H
+#ifndef _LIBCPP___CXX03_ERRNO_H
+#define _LIBCPP___CXX03_ERRNO_H
/*
errno.h synopsis
@@ -396,4 +396,4 @@ static const int __elast2 = 105;
#endif // __cplusplus
-#endif // _LIBCPP_ERRNO_H
+#endif // _LIBCPP___CXX03_ERRNO_H
diff --git a/libcxx/include/__cxx03/exception b/libcxx/include/__cxx03/exception
index a6cb38526ff3..17a8aefd29bf 100644
--- a/libcxx/include/__cxx03/exception
+++ b/libcxx/include/__cxx03/exception
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_EXCEPTION
-#define _LIBCPP_EXCEPTION
+#ifndef _LIBCPP___CXX03_EXCEPTION
+#define _LIBCPP___CXX03_EXCEPTION
/*
exception synopsis
@@ -93,4 +93,4 @@ template <class E> void rethrow_if_nested(const E& e);
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_EXCEPTION
+#endif // _LIBCPP___CXX03_EXCEPTION
diff --git a/libcxx/include/__cxx03/execution b/libcxx/include/__cxx03/execution
index c04c665e6908..b056c9c226e1 100644
--- a/libcxx/include/__cxx03/execution
+++ b/libcxx/include/__cxx03/execution
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_EXECUTION
-#define _LIBCPP_EXECUTION
+#ifndef _LIBCPP___CXX03_EXECUTION
+#define _LIBCPP___CXX03_EXECUTION
/*
namespace std::execution {
@@ -146,4 +146,4 @@ _LIBCPP_END_NAMESPACE_STD
# include <__cxx03/cstddef>
#endif
-#endif // _LIBCPP_EXECUTION
+#endif // _LIBCPP___CXX03_EXECUTION
diff --git a/libcxx/include/__cxx03/expected b/libcxx/include/__cxx03/expected
index c3bd4af17414..6c5ebf190a89 100644
--- a/libcxx/include/__cxx03/expected
+++ b/libcxx/include/__cxx03/expected
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_EXPECTED
-#define _LIBCPP_EXPECTED
+#ifndef _LIBCPP___CXX03_EXPECTED
+#define _LIBCPP___CXX03_EXPECTED
/*
Header <expected> synopsis
@@ -59,4 +59,4 @@ namespace std {
# include <__cxx03/new>
#endif
-#endif // _LIBCPP_EXPECTED
+#endif // _LIBCPP___CXX03_EXPECTED
diff --git a/libcxx/include/__cxx03/experimental/__config b/libcxx/include/__cxx03/experimental/__config
index 8f6065f919c7..027522ed3577 100644
--- a/libcxx/include/__cxx03/experimental/__config
+++ b/libcxx/include/__cxx03/experimental/__config
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_EXPERIMENTAL_CONFIG
-#define _LIBCPP_EXPERIMENTAL_CONFIG
+#ifndef _LIBCPP___CXX03_EXPERIMENTAL_CONFIG
+#define _LIBCPP___CXX03_EXPERIMENTAL_CONFIG
#include <__cxx03/__config>
diff --git a/libcxx/include/__cxx03/experimental/__simd/aligned_tag.h b/libcxx/include/__cxx03/experimental/__simd/aligned_tag.h
index bbe6ee04d7c5..ea0ddd94e468 100644
--- a/libcxx/include/__cxx03/experimental/__simd/aligned_tag.h
+++ b/libcxx/include/__cxx03/experimental/__simd/aligned_tag.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_EXPERIMENTAL___SIMD_ALIGNED_TAG_H
-#define _LIBCPP_EXPERIMENTAL___SIMD_ALIGNED_TAG_H
+#ifndef _LIBCPP___CXX03_EXPERIMENTAL___SIMD_ALIGNED_TAG_H
+#define _LIBCPP___CXX03_EXPERIMENTAL___SIMD_ALIGNED_TAG_H
#include <__cxx03/__memory/assume_aligned.h>
#include <__cxx03/__type_traits/remove_const.h>
@@ -72,4 +72,4 @@ inline constexpr overaligned_tag<_Np> overaligned{};
_LIBCPP_END_NAMESPACE_EXPERIMENTAL
#endif // _LIBCPP_STD_VER >= 17 && defined(_LIBCPP_ENABLE_EXPERIMENTAL)
-#endif // _LIBCPP_EXPERIMENTAL___SIMD_ALIGNED_TAG_H
+#endif // _LIBCPP___CXX03_EXPERIMENTAL___SIMD_ALIGNED_TAG_H
diff --git a/libcxx/include/__cxx03/experimental/__simd/declaration.h b/libcxx/include/__cxx03/experimental/__simd/declaration.h
index 7a57e3b88891..94f068ee8b2a 100644
--- a/libcxx/include/__cxx03/experimental/__simd/declaration.h
+++ b/libcxx/include/__cxx03/experimental/__simd/declaration.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_EXPERIMENTAL___SIMD_DECLARATION_H
-#define _LIBCPP_EXPERIMENTAL___SIMD_DECLARATION_H
+#ifndef _LIBCPP___CXX03_EXPERIMENTAL___SIMD_DECLARATION_H
+#define _LIBCPP___CXX03_EXPERIMENTAL___SIMD_DECLARATION_H
#include <__cxx03/cstddef>
#include <__cxx03/experimental/__config>
@@ -78,4 +78,4 @@ class simd_mask;
_LIBCPP_END_NAMESPACE_EXPERIMENTAL
#endif // _LIBCPP_STD_VER >= 17 && defined(_LIBCPP_ENABLE_EXPERIMENTAL)
-#endif // _LIBCPP_EXPERIMENTAL___SIMD_DECLARATION_H
+#endif // _LIBCPP___CXX03_EXPERIMENTAL___SIMD_DECLARATION_H
diff --git a/libcxx/include/__cxx03/experimental/__simd/reference.h b/libcxx/include/__cxx03/experimental/__simd/reference.h
index b9e0289c0ee9..b7330d4b175c 100644
--- a/libcxx/include/__cxx03/experimental/__simd/reference.h
+++ b/libcxx/include/__cxx03/experimental/__simd/reference.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_EXPERIMENTAL___SIMD_REFERENCE_H
-#define _LIBCPP_EXPERIMENTAL___SIMD_REFERENCE_H
+#ifndef _LIBCPP___CXX03_EXPERIMENTAL___SIMD_REFERENCE_H
+#define _LIBCPP___CXX03_EXPERIMENTAL___SIMD_REFERENCE_H
#include <__cxx03/__type_traits/is_assignable.h>
#include <__cxx03/__type_traits/is_same.h>
@@ -102,4 +102,4 @@ _LIBCPP_END_NAMESPACE_EXPERIMENTAL
_LIBCPP_POP_MACROS
-#endif // _LIBCPP_EXPERIMENTAL___SIMD_REFERENCE_H
+#endif // _LIBCPP___CXX03_EXPERIMENTAL___SIMD_REFERENCE_H
diff --git a/libcxx/include/__cxx03/experimental/__simd/scalar.h b/libcxx/include/__cxx03/experimental/__simd/scalar.h
index 938fee89fa47..5f582c6dd8ea 100644
--- a/libcxx/include/__cxx03/experimental/__simd/scalar.h
+++ b/libcxx/include/__cxx03/experimental/__simd/scalar.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_EXPERIMENTAL___SIMD_SCALAR_H
-#define _LIBCPP_EXPERIMENTAL___SIMD_SCALAR_H
+#ifndef _LIBCPP___CXX03_EXPERIMENTAL___SIMD_SCALAR_H
+#define _LIBCPP___CXX03_EXPERIMENTAL___SIMD_SCALAR_H
#include <__cxx03/__assert>
#include <__cxx03/cstddef>
@@ -84,4 +84,4 @@ struct __mask_operations<_Tp, simd_abi::__scalar> {
_LIBCPP_END_NAMESPACE_EXPERIMENTAL
#endif // _LIBCPP_STD_VER >= 17 && defined(_LIBCPP_ENABLE_EXPERIMENTAL)
-#endif // _LIBCPP_EXPERIMENTAL___SIMD_SCALAR_H
+#endif // _LIBCPP___CXX03_EXPERIMENTAL___SIMD_SCALAR_H
diff --git a/libcxx/include/__cxx03/experimental/__simd/simd.h b/libcxx/include/__cxx03/experimental/__simd/simd.h
index 4e170997fbad..8f9d94d9ae53 100644
--- a/libcxx/include/__cxx03/experimental/__simd/simd.h
+++ b/libcxx/include/__cxx03/experimental/__simd/simd.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_EXPERIMENTAL___SIMD_SIMD_H
-#define _LIBCPP_EXPERIMENTAL___SIMD_SIMD_H
+#ifndef _LIBCPP___CXX03_EXPERIMENTAL___SIMD_SIMD_H
+#define _LIBCPP___CXX03_EXPERIMENTAL___SIMD_SIMD_H
#include <__cxx03/__type_traits/is_same.h>
#include <__cxx03/__type_traits/remove_cvref.h>
@@ -99,4 +99,4 @@ using fixed_size_simd = simd<_Tp, simd_abi::fixed_size<_Np>>;
_LIBCPP_END_NAMESPACE_EXPERIMENTAL
#endif // _LIBCPP_STD_VER >= 17 && defined(_LIBCPP_ENABLE_EXPERIMENTAL)
-#endif // _LIBCPP_EXPERIMENTAL___SIMD_SIMD_H
+#endif // _LIBCPP___CXX03_EXPERIMENTAL___SIMD_SIMD_H
diff --git a/libcxx/include/__cxx03/experimental/__simd/simd_mask.h b/libcxx/include/__cxx03/experimental/__simd/simd_mask.h
index fa2f134ea7a3..34658d0e2eea 100644
--- a/libcxx/include/__cxx03/experimental/__simd/simd_mask.h
+++ b/libcxx/include/__cxx03/experimental/__simd/simd_mask.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_EXPERIMENTAL___SIMD_SIMD_MASK_H
-#define _LIBCPP_EXPERIMENTAL___SIMD_SIMD_MASK_H
+#ifndef _LIBCPP___CXX03_EXPERIMENTAL___SIMD_SIMD_MASK_H
+#define _LIBCPP___CXX03_EXPERIMENTAL___SIMD_SIMD_MASK_H
#include <__cxx03/__type_traits/is_same.h>
#include <__cxx03/cstddef>
@@ -87,4 +87,4 @@ using fixed_size_simd_mask = simd_mask<_Tp, simd_abi::fixed_size<_Np>>;
_LIBCPP_END_NAMESPACE_EXPERIMENTAL
#endif // _LIBCPP_STD_VER >= 17 && defined(_LIBCPP_ENABLE_EXPERIMENTAL)
-#endif // _LIBCPP_EXPERIMENTAL___SIMD_SIMD_MASK_H
+#endif // _LIBCPP___CXX03_EXPERIMENTAL___SIMD_SIMD_MASK_H
diff --git a/libcxx/include/__cxx03/experimental/__simd/traits.h b/libcxx/include/__cxx03/experimental/__simd/traits.h
index 3a0480b512e2..fbaca2660e43 100644
--- a/libcxx/include/__cxx03/experimental/__simd/traits.h
+++ b/libcxx/include/__cxx03/experimental/__simd/traits.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_EXPERIMENTAL___SIMD_TRAITS_H
-#define _LIBCPP_EXPERIMENTAL___SIMD_TRAITS_H
+#ifndef _LIBCPP___CXX03_EXPERIMENTAL___SIMD_TRAITS_H
+#define _LIBCPP___CXX03_EXPERIMENTAL___SIMD_TRAITS_H
#include <__cxx03/__bit/bit_ceil.h>
#include <__cxx03/__type_traits/integral_constant.h>
@@ -72,4 +72,4 @@ inline constexpr size_t memory_alignment_v = memory_alignment<_Tp, _Up>::value;
_LIBCPP_END_NAMESPACE_EXPERIMENTAL
#endif // _LIBCPP_STD_VER >= 17 && defined(_LIBCPP_ENABLE_EXPERIMENTAL)
-#endif // _LIBCPP_EXPERIMENTAL___SIMD_TRAITS_H
+#endif // _LIBCPP___CXX03_EXPERIMENTAL___SIMD_TRAITS_H
diff --git a/libcxx/include/__cxx03/experimental/__simd/utility.h b/libcxx/include/__cxx03/experimental/__simd/utility.h
index 803378ddcdd3..c047059abf04 100644
--- a/libcxx/include/__cxx03/experimental/__simd/utility.h
+++ b/libcxx/include/__cxx03/experimental/__simd/utility.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_EXPERIMENTAL___SIMD_UTILITY_H
-#define _LIBCPP_EXPERIMENTAL___SIMD_UTILITY_H
+#ifndef _LIBCPP___CXX03_EXPERIMENTAL___SIMD_UTILITY_H
+#define _LIBCPP___CXX03_EXPERIMENTAL___SIMD_UTILITY_H
#include <__cxx03/__type_traits/is_arithmetic.h>
#include <__cxx03/__type_traits/is_const.h>
@@ -100,4 +100,4 @@ _LIBCPP_END_NAMESPACE_EXPERIMENTAL
_LIBCPP_POP_MACROS
-#endif // _LIBCPP_EXPERIMENTAL___SIMD_UTILITY_H
+#endif // _LIBCPP___CXX03_EXPERIMENTAL___SIMD_UTILITY_H
diff --git a/libcxx/include/__cxx03/experimental/__simd/vec_ext.h b/libcxx/include/__cxx03/experimental/__simd/vec_ext.h
index 99917e51a221..a77fbc31fe83 100644
--- a/libcxx/include/__cxx03/experimental/__simd/vec_ext.h
+++ b/libcxx/include/__cxx03/experimental/__simd/vec_ext.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_EXPERIMENTAL___SIMD_VEC_EXT_H
-#define _LIBCPP_EXPERIMENTAL___SIMD_VEC_EXT_H
+#ifndef _LIBCPP___CXX03_EXPERIMENTAL___SIMD_VEC_EXT_H
+#define _LIBCPP___CXX03_EXPERIMENTAL___SIMD_VEC_EXT_H
#include <__cxx03/__assert>
#include <__cxx03/__bit/bit_ceil.h>
@@ -116,4 +116,4 @@ struct __mask_operations<_Tp, simd_abi::__vec_ext<_Np>> {
_LIBCPP_END_NAMESPACE_EXPERIMENTAL
#endif // _LIBCPP_STD_VER >= 17 && defined(_LIBCPP_ENABLE_EXPERIMENTAL)
-#endif // _LIBCPP_EXPERIMENTAL___SIMD_VEC_EXT_H
+#endif // _LIBCPP___CXX03_EXPERIMENTAL___SIMD_VEC_EXT_H
diff --git a/libcxx/include/__cxx03/experimental/iterator b/libcxx/include/__cxx03/experimental/iterator
index d579927c548c..b639c5900832 100644
--- a/libcxx/include/__cxx03/experimental/iterator
+++ b/libcxx/include/__cxx03/experimental/iterator
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_EXPERIMENTAL_ITERATOR
-#define _LIBCPP_EXPERIMENTAL_ITERATOR
+#ifndef _LIBCPP___CXX03_EXPERIMENTAL_ITERATOR
+#define _LIBCPP___CXX03_EXPERIMENTAL_ITERATOR
/*
namespace std {
@@ -124,4 +124,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_EXPERIMENTAL_ITERATOR
+#endif // _LIBCPP___CXX03_EXPERIMENTAL_ITERATOR
diff --git a/libcxx/include/__cxx03/experimental/memory b/libcxx/include/__cxx03/experimental/memory
index 6e70a6d2f87c..37b271087275 100644
--- a/libcxx/include/__cxx03/experimental/memory
+++ b/libcxx/include/__cxx03/experimental/memory
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_EXPERIMENTAL_MEMORY
-#define _LIBCPP_EXPERIMENTAL_MEMORY
+#ifndef _LIBCPP___CXX03_EXPERIMENTAL_MEMORY
+#define _LIBCPP___CXX03_EXPERIMENTAL_MEMORY
/*
experimental/memory synopsis
@@ -195,4 +195,4 @@ _LIBCPP_END_NAMESPACE_STD
# include <__cxx03/limits>
#endif
-#endif /* _LIBCPP_EXPERIMENTAL_MEMORY */
+#endif /* _LIBCPP___CXX03_EXPERIMENTAL_MEMORY */
diff --git a/libcxx/include/__cxx03/experimental/propagate_const b/libcxx/include/__cxx03/experimental/propagate_const
index d439f7c52c0a..7fc9d35ba8f3 100644
--- a/libcxx/include/__cxx03/experimental/propagate_const
+++ b/libcxx/include/__cxx03/experimental/propagate_const
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_EXPERIMENTAL_PROPAGATE_CONST
-#define _LIBCPP_EXPERIMENTAL_PROPAGATE_CONST
+#ifndef _LIBCPP___CXX03_EXPERIMENTAL_PROPAGATE_CONST
+#define _LIBCPP___CXX03_EXPERIMENTAL_PROPAGATE_CONST
/*
propagate_const synopsis
@@ -487,4 +487,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_EXPERIMENTAL_PROPAGATE_CONST
+#endif // _LIBCPP___CXX03_EXPERIMENTAL_PROPAGATE_CONST
diff --git a/libcxx/include/__cxx03/experimental/simd b/libcxx/include/__cxx03/experimental/simd
index 4b0461cf4ef3..553f97594c5c 100644
--- a/libcxx/include/__cxx03/experimental/simd
+++ b/libcxx/include/__cxx03/experimental/simd
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_EXPERIMENTAL_SIMD
-#define _LIBCPP_EXPERIMENTAL_SIMD
+#ifndef _LIBCPP___CXX03_EXPERIMENTAL_SIMD
+#define _LIBCPP___CXX03_EXPERIMENTAL_SIMD
/*
experimental/simd synopsis
@@ -85,4 +85,4 @@ inline namespace parallelism_v2 {
#include <__cxx03/experimental/__simd/traits.h>
#include <__cxx03/experimental/__simd/vec_ext.h>
-#endif /* _LIBCPP_EXPERIMENTAL_SIMD */
+#endif /* _LIBCPP___CXX03_EXPERIMENTAL_SIMD */
diff --git a/libcxx/include/__cxx03/experimental/type_traits b/libcxx/include/__cxx03/experimental/type_traits
index 47f29d83b0e6..c7cfef14a3c0 100644
--- a/libcxx/include/__cxx03/experimental/type_traits
+++ b/libcxx/include/__cxx03/experimental/type_traits
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_EXPERIMENTAL_TYPE_TRAITS
-#define _LIBCPP_EXPERIMENTAL_TYPE_TRAITS
+#ifndef _LIBCPP___CXX03_EXPERIMENTAL_TYPE_TRAITS
+#define _LIBCPP___CXX03_EXPERIMENTAL_TYPE_TRAITS
/**
experimental/type_traits synopsis
@@ -150,4 +150,4 @@ _LIBCPP_END_NAMESPACE_LFTS
#endif /* _LIBCPP_STD_VER >= 14 */
-#endif /* _LIBCPP_EXPERIMENTAL_TYPE_TRAITS */
+#endif /* _LIBCPP___CXX03_EXPERIMENTAL_TYPE_TRAITS */
diff --git a/libcxx/include/__cxx03/experimental/utility b/libcxx/include/__cxx03/experimental/utility
index 73239e7a4856..4e8156ae8728 100644
--- a/libcxx/include/__cxx03/experimental/utility
+++ b/libcxx/include/__cxx03/experimental/utility
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_EXPERIMENTAL_UTILITY
-#define _LIBCPP_EXPERIMENTAL_UTILITY
+#ifndef _LIBCPP___CXX03_EXPERIMENTAL_UTILITY
+#define _LIBCPP___CXX03_EXPERIMENTAL_UTILITY
/*
experimental/utility synopsis
@@ -43,4 +43,4 @@ struct _LIBCPP_TEMPLATE_VIS erased_type {};
_LIBCPP_END_NAMESPACE_LFTS
-#endif /* _LIBCPP_EXPERIMENTAL_UTILITY */
+#endif /* _LIBCPP___CXX03_EXPERIMENTAL_UTILITY */
diff --git a/libcxx/include/__cxx03/ext/__hash b/libcxx/include/__cxx03/ext/__hash
index 3b363257b1a0..8f27c7ea105c 100644
--- a/libcxx/include/__cxx03/ext/__hash
+++ b/libcxx/include/__cxx03/ext/__hash
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_EXT_HASH
-#define _LIBCPP_EXT_HASH
+#ifndef _LIBCPP___CXX03_EXT_HASH
+#define _LIBCPP___CXX03_EXT_HASH
#pragma GCC system_header
@@ -82,4 +82,4 @@ struct _LIBCPP_TEMPLATE_VIS hash<unsigned long> : public std::__unary_function<u
};
} // namespace __gnu_cxx
-#endif // _LIBCPP_EXT_HASH
+#endif // _LIBCPP___CXX03_EXT_HASH
diff --git a/libcxx/include/__cxx03/ext/hash_map b/libcxx/include/__cxx03/ext/hash_map
index bffb68672e43..f075ed19ea40 100644
--- a/libcxx/include/__cxx03/ext/hash_map
+++ b/libcxx/include/__cxx03/ext/hash_map
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_HASH_MAP
-#define _LIBCPP_HASH_MAP
+#ifndef _LIBCPP___CXX03_HASH_MAP
+#define _LIBCPP___CXX03_HASH_MAP
/*
@@ -869,4 +869,4 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const hash_multimap<_Key, _Tp, _Has
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_HASH_MAP
+#endif // _LIBCPP___CXX03_HASH_MAP
diff --git a/libcxx/include/__cxx03/ext/hash_set b/libcxx/include/__cxx03/ext/hash_set
index 3886e578ec4a..fefad7c5833b 100644
--- a/libcxx/include/__cxx03/ext/hash_set
+++ b/libcxx/include/__cxx03/ext/hash_set
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_HASH_SET
-#define _LIBCPP_HASH_SET
+#ifndef _LIBCPP___CXX03_HASH_SET
+#define _LIBCPP___CXX03_HASH_SET
/*
@@ -581,4 +581,4 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const hash_multiset<_Value, _Hash,
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_HASH_SET
+#endif // _LIBCPP___CXX03_HASH_SET
diff --git a/libcxx/include/__cxx03/fenv.h b/libcxx/include/__cxx03/fenv.h
index dd9f381892b5..87fe9d18b2b7 100644
--- a/libcxx/include/__cxx03/fenv.h
+++ b/libcxx/include/__cxx03/fenv.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_FENV_H
-#define _LIBCPP_FENV_H
+#ifndef _LIBCPP___CXX03_FENV_H
+#define _LIBCPP___CXX03_FENV_H
/*
fenv.h synopsis
@@ -111,4 +111,4 @@ extern "C++" {
#endif // defined(__cplusplus)
-#endif // _LIBCPP_FENV_H
+#endif // _LIBCPP___CXX03_FENV_H
diff --git a/libcxx/include/__cxx03/filesystem b/libcxx/include/__cxx03/filesystem
index 2f1393bcbcf6..c991e15b923a 100644
--- a/libcxx/include/__cxx03/filesystem
+++ b/libcxx/include/__cxx03/filesystem
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_FILESYSTEM
-#define _LIBCPP_FILESYSTEM
+#ifndef _LIBCPP___CXX03_FILESYSTEM
+#define _LIBCPP___CXX03_FILESYSTEM
/*
filesystem synopsis
@@ -574,4 +574,4 @@ inline constexpr bool std::ranges::enable_view<std::filesystem::recursive_direct
# include <__cxx03/system_error>
#endif
-#endif // _LIBCPP_FILESYSTEM
+#endif // _LIBCPP___CXX03_FILESYSTEM
diff --git a/libcxx/include/__cxx03/float.h b/libcxx/include/__cxx03/float.h
index 535e73e46151..38f199067f41 100644
--- a/libcxx/include/__cxx03/float.h
+++ b/libcxx/include/__cxx03/float.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_FLOAT_H
-#define _LIBCPP_FLOAT_H
+#ifndef _LIBCPP___CXX03_FLOAT_H
+#define _LIBCPP___CXX03_FLOAT_H
/*
float.h synopsis
@@ -92,4 +92,4 @@ Macros:
#endif // __cplusplus
-#endif // _LIBCPP_FLOAT_H
+#endif // _LIBCPP___CXX03_FLOAT_H
diff --git a/libcxx/include/__cxx03/format b/libcxx/include/__cxx03/format
index c8adb186f102..0183f8374efd 100644
--- a/libcxx/include/__cxx03/format
+++ b/libcxx/include/__cxx03/format
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_FORMAT
-#define _LIBCPP_FORMAT
+#ifndef _LIBCPP___CXX03_FORMAT
+#define _LIBCPP___CXX03_FORMAT
/*
@@ -254,4 +254,4 @@ namespace std {
# endif
#endif
-#endif // _LIBCPP_FORMAT
+#endif // _LIBCPP___CXX03_FORMAT
diff --git a/libcxx/include/__cxx03/forward_list b/libcxx/include/__cxx03/forward_list
index c83ab2582372..ecffb9c8f3a1 100644
--- a/libcxx/include/__cxx03/forward_list
+++ b/libcxx/include/__cxx03/forward_list
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_FORWARD_LIST
-#define _LIBCPP_FORWARD_LIST
+#ifndef _LIBCPP___CXX03_FORWARD_LIST
+#define _LIBCPP___CXX03_FORWARD_LIST
/*
forward_list synopsis
@@ -1571,4 +1571,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/typeinfo>
#endif
-#endif // _LIBCPP_FORWARD_LIST
+#endif // _LIBCPP___CXX03_FORWARD_LIST
diff --git a/libcxx/include/__cxx03/fstream b/libcxx/include/__cxx03/fstream
index 6fbced3caec3..7e43a533fd79 100644
--- a/libcxx/include/__cxx03/fstream
+++ b/libcxx/include/__cxx03/fstream
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_FSTREAM
-#define _LIBCPP_FSTREAM
+#ifndef _LIBCPP___CXX03_FSTREAM
+#define _LIBCPP___CXX03_FSTREAM
/*
fstream synopsis
@@ -1569,4 +1569,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_FSTREAM
+#endif // _LIBCPP___CXX03_FSTREAM
diff --git a/libcxx/include/__cxx03/functional b/libcxx/include/__cxx03/functional
index 406c2ce29725..985fcfa95320 100644
--- a/libcxx/include/__cxx03/functional
+++ b/libcxx/include/__cxx03/functional
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_FUNCTIONAL
-#define _LIBCPP_FUNCTIONAL
+#ifndef _LIBCPP___CXX03_FUNCTIONAL
+#define _LIBCPP___CXX03_FUNCTIONAL
/*
functional synopsis
@@ -595,4 +595,4 @@ POLICY: For non-variadic implementations, the number of arguments is limited
# include <__cxx03/utility>
#endif
-#endif // _LIBCPP_FUNCTIONAL
+#endif // _LIBCPP___CXX03_FUNCTIONAL
diff --git a/libcxx/include/__cxx03/future b/libcxx/include/__cxx03/future
index d40749d7375e..f92bc1266939 100644
--- a/libcxx/include/__cxx03/future
+++ b/libcxx/include/__cxx03/future
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_FUTURE
-#define _LIBCPP_FUTURE
+#ifndef _LIBCPP___CXX03_FUTURE
+#define _LIBCPP___CXX03_FUTURE
/*
future synopsis
@@ -2059,4 +2059,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/system_error>
#endif
-#endif // _LIBCPP_FUTURE
+#endif // _LIBCPP___CXX03_FUTURE
diff --git a/libcxx/include/__cxx03/initializer_list b/libcxx/include/__cxx03/initializer_list
index b891c5e51b7a..4bb2deb01ae6 100644
--- a/libcxx/include/__cxx03/initializer_list
+++ b/libcxx/include/__cxx03/initializer_list
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_INITIALIZER_LIST
-#define _LIBCPP_INITIALIZER_LIST
+#ifndef _LIBCPP___CXX03_INITIALIZER_LIST
+#define _LIBCPP___CXX03_INITIALIZER_LIST
/*
initializer_list synopsis
@@ -95,4 +95,4 @@ inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 const _Ep* end(initia
} // namespace std
-#endif // _LIBCPP_INITIALIZER_LIST
+#endif // _LIBCPP___CXX03_INITIALIZER_LIST
diff --git a/libcxx/include/__cxx03/inttypes.h b/libcxx/include/__cxx03/inttypes.h
index 9101fab9ab08..82acd87f5e8e 100644
--- a/libcxx/include/__cxx03/inttypes.h
+++ b/libcxx/include/__cxx03/inttypes.h
@@ -7,12 +7,12 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_INTTYPES_H
+#ifndef _LIBCPP___CXX03_INTTYPES_H
// AIX system headers need inttypes.h to be re-enterable while _STD_TYPES_T
// is defined until an inclusion of it without _STD_TYPES_T occurs, in which
// case the header guard macro is defined.
#if !defined(_AIX) || !defined(_STD_TYPES_T)
-# define _LIBCPP_INTTYPES_H
+# define _LIBCPP___CXX03_INTTYPES_H
#endif // _STD_TYPES_T
/*
@@ -261,4 +261,4 @@ uintmax_t wcstoumax(const wchar_t* restrict nptr, wchar_t** restrict endptr, int
#endif // __cplusplus
-#endif // _LIBCPP_INTTYPES_H
+#endif // _LIBCPP___CXX03_INTTYPES_H
diff --git a/libcxx/include/__cxx03/iomanip b/libcxx/include/__cxx03/iomanip
index 768bee9f2266..8f75e23f67ac 100644
--- a/libcxx/include/__cxx03/iomanip
+++ b/libcxx/include/__cxx03/iomanip
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_IOMANIP
-#define _LIBCPP_IOMANIP
+#ifndef _LIBCPP___CXX03_IOMANIP
+#define _LIBCPP___CXX03_IOMANIP
/*
iomanip synopsis
@@ -539,4 +539,4 @@ quoted(basic_string_view<_CharT, _Traits> __sv, _CharT __delim = _CharT('"'), _C
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_IOMANIP
+#endif // _LIBCPP___CXX03_IOMANIP
diff --git a/libcxx/include/__cxx03/ios b/libcxx/include/__cxx03/ios
index a9eeefc0883d..ace6d666d6b5 100644
--- a/libcxx/include/__cxx03/ios
+++ b/libcxx/include/__cxx03/ios
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_IOS
-#define _LIBCPP_IOS
+#ifndef _LIBCPP___CXX03_IOS
+#define _LIBCPP___CXX03_IOS
/*
ios synopsis
@@ -886,4 +886,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/typeinfo>
#endif
-#endif // _LIBCPP_IOS
+#endif // _LIBCPP___CXX03_IOS
diff --git a/libcxx/include/__cxx03/iosfwd b/libcxx/include/__cxx03/iosfwd
index 9c4c86bc2fa2..624bd157d496 100644
--- a/libcxx/include/__cxx03/iosfwd
+++ b/libcxx/include/__cxx03/iosfwd
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_IOSFWD
-#define _LIBCPP_IOSFWD
+#ifndef _LIBCPP___CXX03_IOSFWD
+#define _LIBCPP___CXX03_IOSFWD
/*
iosfwd synopsis
@@ -183,4 +183,4 @@ public:
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_IOSFWD
+#endif // _LIBCPP___CXX03_IOSFWD
diff --git a/libcxx/include/__cxx03/iostream b/libcxx/include/__cxx03/iostream
index c4923117822c..d302ad2dfc15 100644
--- a/libcxx/include/__cxx03/iostream
+++ b/libcxx/include/__cxx03/iostream
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_IOSTREAM
-#define _LIBCPP_IOSTREAM
+#ifndef _LIBCPP___CXX03_IOSTREAM
+#define _LIBCPP___CXX03_IOSTREAM
/*
iostream synopsis
@@ -64,4 +64,4 @@ extern _LIBCPP_EXPORTED_FROM_ABI wostream wclog;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_IOSTREAM
+#endif // _LIBCPP___CXX03_IOSTREAM
diff --git a/libcxx/include/__cxx03/istream b/libcxx/include/__cxx03/istream
index c2fc00298bd5..b1f7b0888d71 100644
--- a/libcxx/include/__cxx03/istream
+++ b/libcxx/include/__cxx03/istream
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_ISTREAM
-#define _LIBCPP_ISTREAM
+#ifndef _LIBCPP___CXX03_ISTREAM
+#define _LIBCPP___CXX03_ISTREAM
/*
istream synopsis
@@ -1370,4 +1370,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP_ISTREAM
+#endif // _LIBCPP___CXX03_ISTREAM
diff --git a/libcxx/include/__cxx03/iterator b/libcxx/include/__cxx03/iterator
index f415443f8dc1..5ac8a4274b3d 100644
--- a/libcxx/include/__cxx03/iterator
+++ b/libcxx/include/__cxx03/iterator
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_ITERATOR
-#define _LIBCPP_ITERATOR
+#ifndef _LIBCPP___CXX03_ITERATOR
+#define _LIBCPP___CXX03_ITERATOR
/*
iterator synopsis
@@ -751,4 +751,4 @@ template <class E> constexpr const E* data(initializer_list<E> il) noexcept;
# include <__cxx03/utility>
#endif
-#endif // _LIBCPP_ITERATOR
+#endif // _LIBCPP___CXX03_ITERATOR
diff --git a/libcxx/include/__cxx03/latch b/libcxx/include/__cxx03/latch
index bcfb6a51243d..cca88c594039 100644
--- a/libcxx/include/__cxx03/latch
+++ b/libcxx/include/__cxx03/latch
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_LATCH
-#define _LIBCPP_LATCH
+#ifndef _LIBCPP___CXX03_LATCH
+#define _LIBCPP___CXX03_LATCH
/*
latch synopsis
@@ -126,4 +126,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/atomic>
#endif
-#endif //_LIBCPP_LATCH
+#endif //_LIBCPP___CXX03_LATCH
diff --git a/libcxx/include/__cxx03/limits b/libcxx/include/__cxx03/limits
index d028d8256f59..bfc3cb8e1bb1 100644
--- a/libcxx/include/__cxx03/limits
+++ b/libcxx/include/__cxx03/limits
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_LIMITS
-#define _LIBCPP_LIMITS
+#ifndef _LIBCPP___CXX03_LIMITS
+#define _LIBCPP___CXX03_LIMITS
/*
limits synopsis
@@ -581,4 +581,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_LIMITS
+#endif // _LIBCPP___CXX03_LIMITS
diff --git a/libcxx/include/__cxx03/list b/libcxx/include/__cxx03/list
index 742df50767e1..647bb770646c 100644
--- a/libcxx/include/__cxx03/list
+++ b/libcxx/include/__cxx03/list
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_LIST
-#define _LIBCPP_LIST
+#ifndef _LIBCPP___CXX03_LIST
+#define _LIBCPP___CXX03_LIST
/*
list synopsis
@@ -1739,4 +1739,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/typeinfo>
#endif
-#endif // _LIBCPP_LIST
+#endif // _LIBCPP___CXX03_LIST
diff --git a/libcxx/include/__cxx03/locale b/libcxx/include/__cxx03/locale
index 48ae270e0949..6360bbc2f6b6 100644
--- a/libcxx/include/__cxx03/locale
+++ b/libcxx/include/__cxx03/locale
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_LOCALE
-#define _LIBCPP_LOCALE
+#ifndef _LIBCPP___CXX03_LOCALE
+#define _LIBCPP___CXX03_LOCALE
/*
locale synopsis
@@ -222,7 +222,7 @@ template <class charT> class messages_byname;
// Most unix variants have catopen. These are the specific ones that don't.
# if !defined(__BIONIC__) && !defined(_NEWLIB_VERSION) && !defined(__EMSCRIPTEN__)
# define _LIBCPP_HAS_CATOPEN 1
-# include <__cxx03/nl_types.h>
+# include <nl_types.h>
# endif
# endif
@@ -3764,4 +3764,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/typeinfo>
#endif
-#endif // _LIBCPP_LOCALE
+#endif // _LIBCPP___CXX03_LOCALE
diff --git a/libcxx/include/__cxx03/locale.h b/libcxx/include/__cxx03/locale.h
index b33059d7965d..6a6773674ad9 100644
--- a/libcxx/include/__cxx03/locale.h
+++ b/libcxx/include/__cxx03/locale.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_LOCALE_H
-#define _LIBCPP_LOCALE_H
+#ifndef _LIBCPP___CXX03_LOCALE_H
+#define _LIBCPP___CXX03_LOCALE_H
/*
locale.h synopsis
@@ -43,4 +43,4 @@ Functions:
# include_next <locale.h>
#endif
-#endif // _LIBCPP_LOCALE_H
+#endif // _LIBCPP___CXX03_LOCALE_H
diff --git a/libcxx/include/__cxx03/map b/libcxx/include/__cxx03/map
index 53dcbaf4eae1..bd03d8b741a7 100644
--- a/libcxx/include/__cxx03/map
+++ b/libcxx/include/__cxx03/map
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_MAP
-#define _LIBCPP_MAP
+#ifndef _LIBCPP___CXX03_MAP
+#define _LIBCPP___CXX03_MAP
/*
@@ -2178,4 +2178,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/utility>
#endif
-#endif // _LIBCPP_MAP
+#endif // _LIBCPP___CXX03_MAP
diff --git a/libcxx/include/__cxx03/math.h b/libcxx/include/__cxx03/math.h
index 9a2509e93d01..ca4062072e01 100644
--- a/libcxx/include/__cxx03/math.h
+++ b/libcxx/include/__cxx03/math.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_MATH_H
-# define _LIBCPP_MATH_H
+#ifndef _LIBCPP___CXX03_MATH_H
+# define _LIBCPP___CXX03_MATH_H
/*
math.h synopsis
@@ -503,7 +503,7 @@ using std::__math::trunc;
# endif // __cplusplus
-#else // _LIBCPP_MATH_H
+#else // _LIBCPP___CXX03_MATH_H
// This include lives outside the header guard in order to support an MSVC
// extension which allows users to do:
@@ -517,4 +517,4 @@ using std::__math::trunc;
# include_next <math.h>
# endif
-#endif // _LIBCPP_MATH_H
+#endif // _LIBCPP___CXX03_MATH_H
diff --git a/libcxx/include/__cxx03/mdspan b/libcxx/include/__cxx03/mdspan
index 950145b34b09..c47a63794955 100644
--- a/libcxx/include/__cxx03/mdspan
+++ b/libcxx/include/__cxx03/mdspan
@@ -405,8 +405,8 @@ namespace std {
}
*/
-#ifndef _LIBCPP_MDSPAN
-#define _LIBCPP_MDSPAN
+#ifndef _LIBCPP___CXX03_MDSPAN
+#define _LIBCPP___CXX03_MDSPAN
#include <__cxx03/__config>
@@ -435,4 +435,4 @@ namespace std {
# include <__cxx03/span>
#endif
-#endif // _LIBCPP_MDSPAN
+#endif // _LIBCPP___CXX03_MDSPAN
diff --git a/libcxx/include/__cxx03/memory b/libcxx/include/__cxx03/memory
index 5bbcd8513e73..ea417bb827c7 100644
--- a/libcxx/include/__cxx03/memory
+++ b/libcxx/include/__cxx03/memory
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_MEMORY
-#define _LIBCPP_MEMORY
+#ifndef _LIBCPP___CXX03_MEMORY
+#define _LIBCPP___CXX03_MEMORY
// clang-format off
@@ -995,4 +995,4 @@ template<class Pointer = void, class Smart, class... Args>
# include <__cxx03/utility>
#endif
-#endif // _LIBCPP_MEMORY
+#endif // _LIBCPP___CXX03_MEMORY
diff --git a/libcxx/include/__cxx03/memory_resource b/libcxx/include/__cxx03/memory_resource
index fb217e40f630..1b56153dc843 100644
--- a/libcxx/include/__cxx03/memory_resource
+++ b/libcxx/include/__cxx03/memory_resource
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_MEMORY_RESOURCE
-#define _LIBCPP_MEMORY_RESOURCE
+#ifndef _LIBCPP___CXX03_MEMORY_RESOURCE
+#define _LIBCPP___CXX03_MEMORY_RESOURCE
/**
memory_resource synopsis
@@ -80,4 +80,4 @@ namespace std::pmr {
# include <__cxx03/stdexcept>
#endif
-#endif /* _LIBCPP_MEMORY_RESOURCE */
+#endif /* _LIBCPP___CXX03_MEMORY_RESOURCE */
diff --git a/libcxx/include/__cxx03/module.modulemap b/libcxx/include/__cxx03/module.modulemap
index 13d0dce34d97..34a2d0f25fc4 100644
--- a/libcxx/include/__cxx03/module.modulemap
+++ b/libcxx/include/__cxx03/module.modulemap
@@ -1,462 +1,462 @@
// Main C++ standard library interfaces
-module std_algorithm [system] {
+module cxx03_std_algorithm [system] {
header "algorithm"
export *
}
-module std_any [system] {
+module cxx03_std_any [system] {
header "any"
export *
}
-module std_array [system] {
+module cxx03_std_array [system] {
header "array"
export *
}
-module std_atomic [system] {
+module cxx03_std_atomic [system] {
header "atomic"
export *
}
-module std_barrier [system] {
+module cxx03_std_barrier [system] {
header "barrier"
export *
}
-module std_bit [system] {
+module cxx03_std_bit [system] {
header "bit"
export *
}
-module std_bitset [system] {
+module cxx03_std_bitset [system] {
header "bitset"
export *
}
-module std_charconv [system] {
+module cxx03_std_charconv [system] {
header "charconv"
export *
}
-module std_chrono [system] {
+module cxx03_std_chrono [system] {
header "chrono"
export *
}
-module std_codecvt [system] {
+module cxx03_std_codecvt [system] {
header "codecvt"
export *
}
-module std_compare [system] {
+module cxx03_std_compare [system] {
header "compare"
export *
}
-module std_complex [system] {
+module cxx03_std_complex [system] {
header "complex"
export *
}
-module std_concepts [system] {
+module cxx03_std_concepts [system] {
header "concepts"
export *
}
-module std_condition_variable [system] {
+module cxx03_std_condition_variable [system] {
header "condition_variable"
export *
}
-module std_coroutine [system] {
+module cxx03_std_coroutine [system] {
header "coroutine"
export *
}
-module std_deque [system] {
+module cxx03_std_deque [system] {
header "deque"
export *
}
-module std_exception [system] {
+module cxx03_std_exception [system] {
header "exception"
export *
}
-module std_execution [system] {
+module cxx03_std_execution [system] {
header "execution"
export *
}
-module std_expected [system] {
+module cxx03_std_expected [system] {
header "expected"
export *
}
-module std_filesystem [system] {
+module cxx03_std_filesystem [system] {
header "filesystem"
export *
}
-module std_format [system] {
+module cxx03_std_format [system] {
header "format"
export *
}
-module std_forward_list [system] {
+module cxx03_std_forward_list [system] {
header "forward_list"
export *
}
-module std_fstream [system] {
+module cxx03_std_fstream [system] {
header "fstream"
export *
}
-module std_functional [system] {
+module cxx03_std_functional [system] {
header "functional"
export *
}
-module std_future [system] {
+module cxx03_std_future [system] {
header "future"
export *
}
-module std_initializer_list [system] {
+module cxx03_std_initializer_list [system] {
header "initializer_list"
export *
}
-module std_iomanip [system] {
+module cxx03_std_iomanip [system] {
header "iomanip"
export *
}
-module std_ios [system] {
+module cxx03_std_ios [system] {
header "ios"
export *
}
-module std_iosfwd [system] {
+module cxx03_std_iosfwd [system] {
header "iosfwd"
export *
}
-module std_iostream [system] {
+module cxx03_std_iostream [system] {
header "iostream"
export *
}
-module std_istream [system] {
+module cxx03_std_istream [system] {
header "istream"
export *
}
-module std_iterator [system] {
+module cxx03_std_iterator [system] {
header "iterator"
export *
}
-module std_latch [system] {
+module cxx03_std_latch [system] {
header "latch"
export *
}
-module std_limits [system] {
+module cxx03_std_limits [system] {
header "limits"
export *
}
-module std_list [system] {
+module cxx03_std_list [system] {
header "list"
export *
}
-module std_locale [system] {
+module cxx03_std_locale [system] {
header "locale"
export *
}
-module std_map [system] {
+module cxx03_std_map [system] {
header "map"
export *
}
-module std_mdspan [system] {
+module cxx03_std_mdspan [system] {
header "mdspan"
export *
}
-module std_memory [system] {
+module cxx03_std_memory [system] {
header "memory"
export *
}
-module std_memory_resource [system] {
+module cxx03_std_memory_resource [system] {
header "memory_resource"
export *
}
-module std_mutex [system] {
+module cxx03_std_mutex [system] {
header "mutex"
export *
}
-module std_new [system] {
+module cxx03_std_new [system] {
header "new"
export *
}
-module std_numbers [system] {
+module cxx03_std_numbers [system] {
header "numbers"
export *
}
-module std_numeric [system] {
+module cxx03_std_numeric [system] {
header "numeric"
export *
}
-module std_optional [system] {
+module cxx03_std_optional [system] {
header "optional"
export *
}
-module std_ostream [system] {
+module cxx03_std_ostream [system] {
header "ostream"
export *
}
-module std_print [system] {
+module cxx03_std_print [system] {
header "print"
export *
}
-module std_queue [system] {
+module cxx03_std_queue [system] {
header "queue"
export *
}
-module std_random [system] {
+module cxx03_std_random [system] {
header "random"
export *
}
-module std_ranges [system] {
+module cxx03_std_ranges [system] {
header "ranges"
export *
}
-module std_ratio [system] {
+module cxx03_std_ratio [system] {
header "ratio"
export *
}
-module std_regex [system] {
+module cxx03_std_regex [system] {
header "regex"
export *
}
-module std_scoped_allocator [system] {
+module cxx03_std_scoped_allocator [system] {
header "scoped_allocator"
export *
}
-module std_semaphore [system] {
+module cxx03_std_semaphore [system] {
header "semaphore"
export *
}
-module std_set [system] {
+module cxx03_std_set [system] {
header "set"
export *
}
-module std_shared_mutex [system] {
+module cxx03_std_shared_mutex [system] {
header "shared_mutex"
export std_version
}
-module std_source_location [system] {
+module cxx03_std_source_location [system] {
header "source_location"
export *
}
-module std_span [system] {
+module cxx03_std_span [system] {
header "span"
export std_private_ranges_enable_borrowed_range
export std_version
export std_private_span_span_fwd
}
-module std_sstream [system] {
+module cxx03_std_sstream [system] {
header "sstream"
export *
}
-module std_stack [system] {
+module cxx03_std_stack [system] {
header "stack"
export *
}
-module std_stdexcept [system] {
+module cxx03_std_stdexcept [system] {
header "stdexcept"
export *
}
-module std_stop_token {
+module cxx03_std_stop_token {
header "stop_token"
export *
}
-module std_streambuf [system] {
+module cxx03_std_streambuf [system] {
header "streambuf"
export *
}
-module std_string [system] {
+module cxx03_std_string [system] {
header "string"
export *
}
-module std_string_view [system] {
+module cxx03_std_string_view [system] {
header "string_view"
export *
}
-module std_strstream [system] {
+module cxx03_std_strstream [system] {
header "strstream"
export *
}
-module std_syncstream [system] {
+module cxx03_std_syncstream [system] {
header "syncstream"
export *
}
-module std_system_error [system] {
+module cxx03_std_system_error [system] {
header "system_error"
export *
}
-module std_thread [system] {
+module cxx03_std_thread [system] {
header "thread"
export *
}
-module std_tuple [system] {
+module cxx03_std_tuple [system] {
header "tuple"
export *
}
-module std_type_traits [system] {
+module cxx03_std_type_traits [system] {
header "type_traits"
export *
}
-module std_typeindex [system] {
+module cxx03_std_typeindex [system] {
header "typeindex"
export *
}
-module std_typeinfo [system] {
+module cxx03_std_typeinfo [system] {
header "typeinfo"
export *
}
-module std_unordered_map [system] {
+module cxx03_std_unordered_map [system] {
header "unordered_map"
export *
}
-module std_unordered_set [system] {
+module cxx03_std_unordered_set [system] {
header "unordered_set"
export *
}
-module std_utility [system] {
+module cxx03_std_utility [system] {
header "utility"
export *
}
-module std_valarray [system] {
+module cxx03_std_valarray [system] {
header "valarray"
export *
}
-module std_variant [system] {
+module cxx03_std_variant [system] {
header "variant"
export *
}
-module std_vector [system] {
+module cxx03_std_vector [system] {
header "vector"
export *
}
-module std_version [system] {
+module cxx03_std_version [system] {
header "version"
export *
}
// C standard library interface wrappers
-module std_cassert [system] {
+module cxx03_std_cassert [system] {
// <cassert>'s use of NDEBUG requires textual inclusion.
textual header "cassert"
}
-module std_ccomplex [system] {
+module cxx03_std_ccomplex [system] {
header "ccomplex"
export *
}
-module std_cctype [system] {
+module cxx03_std_cctype [system] {
header "cctype"
export *
}
-module std_cerrno [system] {
+module cxx03_std_cerrno [system] {
header "cerrno"
export *
}
-module std_cfenv [system] {
+module cxx03_std_cfenv [system] {
header "cfenv"
export *
}
-module std_cfloat [system] {
+module cxx03_std_cfloat [system] {
header "cfloat"
export *
}
-module std_cinttypes [system] {
+module cxx03_std_cinttypes [system] {
header "cinttypes"
export *
}
-module std_ciso646 [system] {
+module cxx03_std_ciso646 [system] {
header "ciso646"
export *
}
-module std_climits [system] {
+module cxx03_std_climits [system] {
header "climits"
export *
}
-module std_clocale [system] {
+module cxx03_std_clocale [system] {
header "clocale"
export *
}
-module std_cmath [system] {
+module cxx03_std_cmath [system] {
header "cmath"
export *
}
-module std_csetjmp [system] {
+module cxx03_std_csetjmp [system] {
header "csetjmp"
export *
}
-module std_csignal [system] {
+module cxx03_std_csignal [system] {
header "csignal"
export *
}
// FIXME: <cstdalign> is missing.
-module std_cstdarg [system] {
+module cxx03_std_cstdarg [system] {
header "cstdarg"
export *
}
-module std_cstdbool [system] {
+module cxx03_std_cstdbool [system] {
header "cstdbool"
export *
}
-module std_cstddef [system] {
+module cxx03_std_cstddef [system] {
header "cstddef"
export *
}
-module std_cstdint [system] {
+module cxx03_std_cstdint [system] {
header "cstdint"
export *
}
-module std_cstdio [system] {
+module cxx03_std_cstdio [system] {
header "cstdio"
export *
}
-module std_cstdlib [system] {
+module cxx03_std_cstdlib [system] {
header "cstdlib"
export *
}
-module std_cstring [system] {
+module cxx03_std_cstring [system] {
header "cstring"
export *
}
-module std_ctgmath [system] {
+module cxx03_std_ctgmath [system] {
header "ctgmath"
export *
}
-module std_ctime [system] {
+module cxx03_std_ctime [system] {
header "ctime"
export *
}
-module std_cuchar [system] {
+module cxx03_std_cuchar [system] {
header "cuchar"
export *
}
-module std_cwchar [system] {
+module cxx03_std_cwchar [system] {
header "cwchar"
export *
}
-module std_cwctype [system] {
+module cxx03_std_cwctype [system] {
header "cwctype"
export *
}
// C standard library interfaces augmented/replaced in C++
// <assert.h> provided by C library.
-module std_complex_h [system] {
+module cxx03_std_complex_h [system] {
header "complex.h"
export *
}
-module std_ctype_h [system] {
+module cxx03_std_ctype_h [system] {
header "ctype.h"
export *
}
-module std_errno_h [system] {
+module cxx03_std_errno_h [system] {
header "errno.h"
export *
}
-module std_fenv_h [system] {
+module cxx03_std_fenv_h [system] {
header "fenv.h"
export *
}
-module std_float_h [system] {
+module cxx03_std_float_h [system] {
header "float.h"
export *
}
-module std_inttypes_h [system] {
+module cxx03_std_inttypes_h [system] {
header "inttypes.h"
export *
}
// <iso646.h> provided by compiler.
-module std_locale_h [system] {
+module cxx03_std_locale_h [system] {
header "locale.h"
export *
}
-module std_math_h [system] {
+module cxx03_std_math_h [system] {
header "math.h"
export *
}
@@ -464,59 +464,59 @@ module std_math_h [system] {
// <signal.h> provided by C library.
// FIXME: <stdalign.h> is missing.
// <stdarg.h> provided by compiler.
-module std_stdatomic_h [system] {
+module cxx03_std_stdatomic_h [system] {
header "stdatomic.h"
export *
}
-module std_stdbool_h [system] {
+module cxx03_std_stdbool_h [system] {
// <stdbool.h>'s __bool_true_false_are_defined macro requires textual inclusion.
textual header "stdbool.h"
export *
}
-module std_stddef_h [system] {
+module cxx03_std_stddef_h [system] {
// <stddef.h>'s __need_* macros require textual inclusion.
textual header "stddef.h"
export *
}
-module std_stdint_h [system] {
+module cxx03_std_stdint_h [system] {
header "stdint.h"
export *
}
-module std_stdio_h [system] {
+module cxx03_std_stdio_h [system] {
// <stdio.h>'s __need_* macros require textual inclusion.
textual header "stdio.h"
export *
}
-module std_stdlib_h [system] {
+module cxx03_std_stdlib_h [system] {
// <stdlib.h>'s __need_* macros require textual inclusion.
textual header "stdlib.h"
export *
}
-module std_string_h [system] {
+module cxx03_std_string_h [system] {
header "string.h"
export *
}
-module std_tgmath_h [system] {
+module cxx03_std_tgmath_h [system] {
header "tgmath.h"
export *
}
-module std_uchar_h [system] {
+module cxx03_std_uchar_h [system] {
header "uchar.h"
export *
}
// <time.h> provided by C library.
-module std_wchar_h [system] {
+module cxx03_std_wchar_h [system] {
// <wchar.h>'s __need_* macros require textual inclusion.
textual header "wchar.h"
export *
}
-module std_wctype_h [system] {
+module cxx03_std_wctype_h [system] {
header "wctype.h"
export *
}
// Experimental C++ standard library interfaces
-module std_experimental [system] {
+module cxx03_std_experimental [system] {
module iterator {
header "experimental/iterator"
export *
@@ -559,25 +559,25 @@ module std_experimental [system] {
// Convenience method to get all of the above modules in a single import statement.
// Importing only the needed modules is likely to be more performant.
-module std [system] {
+module cxx03_std [system] {
header "__std_clang_module"
export *
}
// Implementation detail headers that are private to libc++. These modules
// must not be directly imported.
-module std_private_assert [system] {
+module cxx03_std_private_assert [system] {
header "__assert"
export *
}
-module std_private_bit_reference [system] {
+module cxx03_std_private_bit_reference [system] {
header "__bit_reference"
export *
}
-module std_private_fwd_bit_reference [system] {
+module cxx03_std_private_fwd_bit_reference [system] {
header "__fwd/bit_reference.h"
}
-module std_private_config [system] {
+module cxx03_std_private_config [system] {
textual header "__config"
textual header "__configuration/abi.h"
textual header "__configuration/availability.h"
@@ -586,813 +586,813 @@ module std_private_config [system] {
textual header "__configuration/platform.h"
export *
}
-module std_private_hash_table [system] {
+module cxx03_std_private_hash_table [system] {
header "__hash_table"
export *
}
-module std_private_locale [system] {
+module cxx03_std_private_locale [system] {
header "__locale"
export *
}
-module std_private_mbstate_t [system] {
+module cxx03_std_private_mbstate_t [system] {
header "__mbstate_t.h"
export *
}
-module std_private_node_handle [system] {
+module cxx03_std_private_node_handle [system] {
header "__node_handle"
export *
}
-module std_private_split_buffer [system] {
+module cxx03_std_private_split_buffer [system] {
header "__split_buffer"
export *
}
-module std_private_std_mbstate_t [system] {
+module cxx03_std_private_std_mbstate_t [system] {
header "__std_mbstate_t.h"
export *
}
-module std_private_tree [system] {
+module cxx03_std_private_tree [system] {
header "__tree"
export *
}
-module std_private_undef_macros [system] {
+module cxx03_std_private_undef_macros [system] {
textual header "__undef_macros"
export *
}
-module std_private_verbose_abort [system] {
+module cxx03_std_private_verbose_abort [system] {
header "__verbose_abort"
export *
}
-module std_private_algorithm_adjacent_find [system] { header "__algorithm/adjacent_find.h" }
-module std_private_algorithm_all_of [system] { header "__algorithm/all_of.h" }
-module std_private_algorithm_any_of [system] { header "__algorithm/any_of.h" }
-module std_private_algorithm_binary_search [system] { header "__algorithm/binary_search.h" }
-module std_private_algorithm_clamp [system] { header "__algorithm/clamp.h" }
-module std_private_algorithm_comp [system] { header "__algorithm/comp.h" }
-module std_private_algorithm_comp_ref_type [system] { header "__algorithm/comp_ref_type.h" }
-module std_private_algorithm_copy [system] {
+module cxx03_std_private_algorithm_adjacent_find [system] { header "__algorithm/adjacent_find.h" }
+module cxx03_std_private_algorithm_all_of [system] { header "__algorithm/all_of.h" }
+module cxx03_std_private_algorithm_any_of [system] { header "__algorithm/any_of.h" }
+module cxx03_std_private_algorithm_binary_search [system] { header "__algorithm/binary_search.h" }
+module cxx03_std_private_algorithm_clamp [system] { header "__algorithm/clamp.h" }
+module cxx03_std_private_algorithm_comp [system] { header "__algorithm/comp.h" }
+module cxx03_std_private_algorithm_comp_ref_type [system] { header "__algorithm/comp_ref_type.h" }
+module cxx03_std_private_algorithm_copy [system] {
header "__algorithm/copy.h"
export std_private_algorithm_copy_move_common
}
-module std_private_algorithm_copy_backward [system] { header "__algorithm/copy_backward.h" }
-module std_private_algorithm_copy_if [system] { header "__algorithm/copy_if.h" }
-module std_private_algorithm_copy_move_common [system] {
+module cxx03_std_private_algorithm_copy_backward [system] { header "__algorithm/copy_backward.h" }
+module cxx03_std_private_algorithm_copy_if [system] { header "__algorithm/copy_if.h" }
+module cxx03_std_private_algorithm_copy_move_common [system] {
header "__algorithm/copy_move_common.h"
export std_private_type_traits_is_trivially_copyable
}
-module std_private_algorithm_copy_n [system] { header "__algorithm/copy_n.h" }
-module std_private_algorithm_count [system] { header "__algorithm/count.h" }
-module std_private_algorithm_count_if [system] { header "__algorithm/count_if.h" }
-module std_private_algorithm_equal [system] { header "__algorithm/equal.h" }
-module std_private_algorithm_equal_range [system] { header "__algorithm/equal_range.h" }
-module std_private_algorithm_fill [system] { header "__algorithm/fill.h" }
-module std_private_algorithm_fill_n [system] { header "__algorithm/fill_n.h" }
-module std_private_algorithm_find [system] {
+module cxx03_std_private_algorithm_copy_n [system] { header "__algorithm/copy_n.h" }
+module cxx03_std_private_algorithm_count [system] { header "__algorithm/count.h" }
+module cxx03_std_private_algorithm_count_if [system] { header "__algorithm/count_if.h" }
+module cxx03_std_private_algorithm_equal [system] { header "__algorithm/equal.h" }
+module cxx03_std_private_algorithm_equal_range [system] { header "__algorithm/equal_range.h" }
+module cxx03_std_private_algorithm_fill [system] { header "__algorithm/fill.h" }
+module cxx03_std_private_algorithm_fill_n [system] { header "__algorithm/fill_n.h" }
+module cxx03_std_private_algorithm_find [system] {
header "__algorithm/find.h"
export std_private_algorithm_unwrap_iter
}
-module std_private_algorithm_find_end [system] { header "__algorithm/find_end.h" }
-module std_private_algorithm_find_first_of [system] { header "__algorithm/find_first_of.h" }
-module std_private_algorithm_find_if [system] { header "__algorithm/find_if.h" }
-module std_private_algorithm_find_if_not [system] { header "__algorithm/find_if_not.h" }
-module std_private_algorithm_find_segment_if [system] { header "__algorithm/find_segment_if.h" }
-module std_private_algorithm_fold [system] { header "__algorithm/fold.h" }
-module std_private_algorithm_for_each [system] { header "__algorithm/for_each.h" }
-module std_private_algorithm_for_each_n [system] { header "__algorithm/for_each_n.h" }
-module std_private_algorithm_for_each_segment [system] { header "__algorithm/for_each_segment.h" }
-module std_private_algorithm_generate [system] { header "__algorithm/generate.h" }
-module std_private_algorithm_generate_n [system] { header "__algorithm/generate_n.h" }
-module std_private_algorithm_half_positive [system] { header "__algorithm/half_positive.h" }
-module std_private_algorithm_in_found_result [system] { header "__algorithm/in_found_result.h" }
-module std_private_algorithm_in_fun_result [system] { header "__algorithm/in_fun_result.h" }
-module std_private_algorithm_in_in_out_result [system] { header "__algorithm/in_in_out_result.h" }
-module std_private_algorithm_in_in_result [system] { header "__algorithm/in_in_result.h" }
-module std_private_algorithm_in_out_out_result [system] { header "__algorithm/in_out_out_result.h" }
-module std_private_algorithm_in_out_result [system] { header "__algorithm/in_out_result.h" }
-module std_private_algorithm_includes [system] { header "__algorithm/includes.h" }
-module std_private_algorithm_inplace_merge [system] { header "__algorithm/inplace_merge.h" }
-module std_private_algorithm_is_heap [system] { header "__algorithm/is_heap.h" }
-module std_private_algorithm_is_heap_until [system] { header "__algorithm/is_heap_until.h" }
-module std_private_algorithm_is_partitioned [system] { header "__algorithm/is_partitioned.h" }
-module std_private_algorithm_is_permutation [system] { header "__algorithm/is_permutation.h" }
-module std_private_algorithm_is_sorted [system] { header "__algorithm/is_sorted.h" }
-module std_private_algorithm_is_sorted_until [system] { header "__algorithm/is_sorted_until.h" }
-module std_private_algorithm_iter_swap [system] { header "__algorithm/iter_swap.h" }
-module std_private_algorithm_iterator_operations [system] {
+module cxx03_std_private_algorithm_find_end [system] { header "__algorithm/find_end.h" }
+module cxx03_std_private_algorithm_find_first_of [system] { header "__algorithm/find_first_of.h" }
+module cxx03_std_private_algorithm_find_if [system] { header "__algorithm/find_if.h" }
+module cxx03_std_private_algorithm_find_if_not [system] { header "__algorithm/find_if_not.h" }
+module cxx03_std_private_algorithm_find_segment_if [system] { header "__algorithm/find_segment_if.h" }
+module cxx03_std_private_algorithm_fold [system] { header "__algorithm/fold.h" }
+module cxx03_std_private_algorithm_for_each [system] { header "__algorithm/for_each.h" }
+module cxx03_std_private_algorithm_for_each_n [system] { header "__algorithm/for_each_n.h" }
+module cxx03_std_private_algorithm_for_each_segment [system] { header "__algorithm/for_each_segment.h" }
+module cxx03_std_private_algorithm_generate [system] { header "__algorithm/generate.h" }
+module cxx03_std_private_algorithm_generate_n [system] { header "__algorithm/generate_n.h" }
+module cxx03_std_private_algorithm_half_positive [system] { header "__algorithm/half_positive.h" }
+module cxx03_std_private_algorithm_in_found_result [system] { header "__algorithm/in_found_result.h" }
+module cxx03_std_private_algorithm_in_fun_result [system] { header "__algorithm/in_fun_result.h" }
+module cxx03_std_private_algorithm_in_in_out_result [system] { header "__algorithm/in_in_out_result.h" }
+module cxx03_std_private_algorithm_in_in_result [system] { header "__algorithm/in_in_result.h" }
+module cxx03_std_private_algorithm_in_out_out_result [system] { header "__algorithm/in_out_out_result.h" }
+module cxx03_std_private_algorithm_in_out_result [system] { header "__algorithm/in_out_result.h" }
+module cxx03_std_private_algorithm_includes [system] { header "__algorithm/includes.h" }
+module cxx03_std_private_algorithm_inplace_merge [system] { header "__algorithm/inplace_merge.h" }
+module cxx03_std_private_algorithm_is_heap [system] { header "__algorithm/is_heap.h" }
+module cxx03_std_private_algorithm_is_heap_until [system] { header "__algorithm/is_heap_until.h" }
+module cxx03_std_private_algorithm_is_partitioned [system] { header "__algorithm/is_partitioned.h" }
+module cxx03_std_private_algorithm_is_permutation [system] { header "__algorithm/is_permutation.h" }
+module cxx03_std_private_algorithm_is_sorted [system] { header "__algorithm/is_sorted.h" }
+module cxx03_std_private_algorithm_is_sorted_until [system] { header "__algorithm/is_sorted_until.h" }
+module cxx03_std_private_algorithm_iter_swap [system] { header "__algorithm/iter_swap.h" }
+module cxx03_std_private_algorithm_iterator_operations [system] {
header "__algorithm/iterator_operations.h"
export *
}
-module std_private_algorithm_lexicographical_compare [system] { header "__algorithm/lexicographical_compare.h" }
-module std_private_algorithm_lexicographical_compare_three_way [system] { header "__algorithm/lexicographical_compare_three_way.h" }
-module std_private_algorithm_lower_bound [system] { header "__algorithm/lower_bound.h" }
-module std_private_algorithm_make_heap [system] { header "__algorithm/make_heap.h" }
-module std_private_algorithm_make_projected [system] { header "__algorithm/make_projected.h" }
-module std_private_algorithm_max [system] { header "__algorithm/max.h" }
-module std_private_algorithm_max_element [system] { header "__algorithm/max_element.h" }
-module std_private_algorithm_merge [system] { header "__algorithm/merge.h" }
-module std_private_algorithm_min [system] { header "__algorithm/min.h" }
-module std_private_algorithm_min_element [system] { header "__algorithm/min_element.h" }
-module std_private_algorithm_min_max_result [system] { header "__algorithm/min_max_result.h" }
-module std_private_algorithm_minmax [system] {
+module cxx03_std_private_algorithm_lexicographical_compare [system] { header "__algorithm/lexicographical_compare.h" }
+module cxx03_std_private_algorithm_lexicographical_compare_three_way [system] { header "__algorithm/lexicographical_compare_three_way.h" }
+module cxx03_std_private_algorithm_lower_bound [system] { header "__algorithm/lower_bound.h" }
+module cxx03_std_private_algorithm_make_heap [system] { header "__algorithm/make_heap.h" }
+module cxx03_std_private_algorithm_make_projected [system] { header "__algorithm/make_projected.h" }
+module cxx03_std_private_algorithm_max [system] { header "__algorithm/max.h" }
+module cxx03_std_private_algorithm_max_element [system] { header "__algorithm/max_element.h" }
+module cxx03_std_private_algorithm_merge [system] { header "__algorithm/merge.h" }
+module cxx03_std_private_algorithm_min [system] { header "__algorithm/min.h" }
+module cxx03_std_private_algorithm_min_element [system] { header "__algorithm/min_element.h" }
+module cxx03_std_private_algorithm_min_max_result [system] { header "__algorithm/min_max_result.h" }
+module cxx03_std_private_algorithm_minmax [system] {
header "__algorithm/minmax.h"
export *
}
-module std_private_algorithm_minmax_element [system] { header "__algorithm/minmax_element.h" }
-module std_private_algorithm_mismatch [system] {
+module cxx03_std_private_algorithm_minmax_element [system] { header "__algorithm/minmax_element.h" }
+module cxx03_std_private_algorithm_mismatch [system] {
header "__algorithm/mismatch.h"
export std_private_algorithm_simd_utils
export std_private_iterator_aliasing_iterator
}
-module std_private_algorithm_move [system] { header "__algorithm/move.h" }
-module std_private_algorithm_move_backward [system] { header "__algorithm/move_backward.h" }
-module std_private_algorithm_next_permutation [system] { header "__algorithm/next_permutation.h" }
-module std_private_algorithm_none_of [system] { header "__algorithm/none_of.h" }
-module std_private_algorithm_nth_element [system] { header "__algorithm/nth_element.h" }
-module std_private_algorithm_partial_sort [system] { header "__algorithm/partial_sort.h" }
-module std_private_algorithm_partial_sort_copy [system] { header "__algorithm/partial_sort_copy.h" }
-module std_private_algorithm_partition [system] { header "__algorithm/partition.h" }
-module std_private_algorithm_partition_copy [system] { header "__algorithm/partition_copy.h" }
-module std_private_algorithm_partition_point [system] { header "__algorithm/partition_point.h" }
-module std_private_algorithm_pop_heap [system] { header "__algorithm/pop_heap.h" }
-module std_private_algorithm_prev_permutation [system] { header "__algorithm/prev_permutation.h" }
-module std_private_algorithm_pstl [system] {
+module cxx03_std_private_algorithm_move [system] { header "__algorithm/move.h" }
+module cxx03_std_private_algorithm_move_backward [system] { header "__algorithm/move_backward.h" }
+module cxx03_std_private_algorithm_next_permutation [system] { header "__algorithm/next_permutation.h" }
+module cxx03_std_private_algorithm_none_of [system] { header "__algorithm/none_of.h" }
+module cxx03_std_private_algorithm_nth_element [system] { header "__algorithm/nth_element.h" }
+module cxx03_std_private_algorithm_partial_sort [system] { header "__algorithm/partial_sort.h" }
+module cxx03_std_private_algorithm_partial_sort_copy [system] { header "__algorithm/partial_sort_copy.h" }
+module cxx03_std_private_algorithm_partition [system] { header "__algorithm/partition.h" }
+module cxx03_std_private_algorithm_partition_copy [system] { header "__algorithm/partition_copy.h" }
+module cxx03_std_private_algorithm_partition_point [system] { header "__algorithm/partition_point.h" }
+module cxx03_std_private_algorithm_pop_heap [system] { header "__algorithm/pop_heap.h" }
+module cxx03_std_private_algorithm_prev_permutation [system] { header "__algorithm/prev_permutation.h" }
+module cxx03_std_private_algorithm_pstl [system] {
header "__algorithm/pstl.h"
export *
}
-module std_private_algorithm_push_heap [system] { header "__algorithm/push_heap.h" }
-module std_private_algorithm_ranges_adjacent_find [system] { header "__algorithm/ranges_adjacent_find.h" }
-module std_private_algorithm_ranges_all_of [system] { header "__algorithm/ranges_all_of.h" }
-module std_private_algorithm_ranges_any_of [system] { header "__algorithm/ranges_any_of.h" }
-module std_private_algorithm_ranges_binary_search [system] {
+module cxx03_std_private_algorithm_push_heap [system] { header "__algorithm/push_heap.h" }
+module cxx03_std_private_algorithm_ranges_adjacent_find [system] { header "__algorithm/ranges_adjacent_find.h" }
+module cxx03_std_private_algorithm_ranges_all_of [system] { header "__algorithm/ranges_all_of.h" }
+module cxx03_std_private_algorithm_ranges_any_of [system] { header "__algorithm/ranges_any_of.h" }
+module cxx03_std_private_algorithm_ranges_binary_search [system] {
header "__algorithm/ranges_binary_search.h"
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_clamp [system] {
+module cxx03_std_private_algorithm_ranges_clamp [system] {
header "__algorithm/ranges_clamp.h"
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_contains [system] { header "__algorithm/ranges_contains.h" }
-module std_private_algorithm_ranges_contains_subrange [system] { header "__algorithm/ranges_contains_subrange.h" }
-module std_private_algorithm_ranges_copy [system] {
+module cxx03_std_private_algorithm_ranges_contains [system] { header "__algorithm/ranges_contains.h" }
+module cxx03_std_private_algorithm_ranges_contains_subrange [system] { header "__algorithm/ranges_contains_subrange.h" }
+module cxx03_std_private_algorithm_ranges_copy [system] {
header "__algorithm/ranges_copy.h"
export std_private_algorithm_in_out_result
}
-module std_private_algorithm_ranges_copy_backward [system] {
+module cxx03_std_private_algorithm_ranges_copy_backward [system] {
header "__algorithm/ranges_copy_backward.h"
export std_private_algorithm_in_out_result
}
-module std_private_algorithm_ranges_copy_if [system] {
+module cxx03_std_private_algorithm_ranges_copy_if [system] {
header "__algorithm/ranges_copy_if.h"
export std_private_algorithm_in_out_result
}
-module std_private_algorithm_ranges_copy_n [system] {
+module cxx03_std_private_algorithm_ranges_copy_n [system] {
header "__algorithm/ranges_copy_n.h"
export std_private_algorithm_in_out_result
}
-module std_private_algorithm_ranges_count [system] { header "__algorithm/ranges_count.h" }
-module std_private_algorithm_ranges_count_if [system] { header "__algorithm/ranges_count_if.h" }
-module std_private_algorithm_ranges_ends_with [system] { header "__algorithm/ranges_ends_with.h" }
-module std_private_algorithm_ranges_equal [system] { header "__algorithm/ranges_equal.h" }
-module std_private_algorithm_ranges_equal_range [system] {
+module cxx03_std_private_algorithm_ranges_count [system] { header "__algorithm/ranges_count.h" }
+module cxx03_std_private_algorithm_ranges_count_if [system] { header "__algorithm/ranges_count_if.h" }
+module cxx03_std_private_algorithm_ranges_ends_with [system] { header "__algorithm/ranges_ends_with.h" }
+module cxx03_std_private_algorithm_ranges_equal [system] { header "__algorithm/ranges_equal.h" }
+module cxx03_std_private_algorithm_ranges_equal_range [system] {
header "__algorithm/ranges_equal_range.h"
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_fill [system] { header "__algorithm/ranges_fill.h" }
-module std_private_algorithm_ranges_fill_n [system] { header "__algorithm/ranges_fill_n.h" }
-module std_private_algorithm_ranges_find [system] { header "__algorithm/ranges_find.h" }
-module std_private_algorithm_ranges_find_end [system] { header "__algorithm/ranges_find_end.h" }
-module std_private_algorithm_ranges_find_first_of [system] { header "__algorithm/ranges_find_first_of.h" }
-module std_private_algorithm_ranges_find_if [system] { header "__algorithm/ranges_find_if.h" }
-module std_private_algorithm_ranges_find_if_not [system] { header "__algorithm/ranges_find_if_not.h" }
-module std_private_algorithm_ranges_find_last [system] { header "__algorithm/ranges_find_last.h" }
-module std_private_algorithm_ranges_for_each [system] {
+module cxx03_std_private_algorithm_ranges_fill [system] { header "__algorithm/ranges_fill.h" }
+module cxx03_std_private_algorithm_ranges_fill_n [system] { header "__algorithm/ranges_fill_n.h" }
+module cxx03_std_private_algorithm_ranges_find [system] { header "__algorithm/ranges_find.h" }
+module cxx03_std_private_algorithm_ranges_find_end [system] { header "__algorithm/ranges_find_end.h" }
+module cxx03_std_private_algorithm_ranges_find_first_of [system] { header "__algorithm/ranges_find_first_of.h" }
+module cxx03_std_private_algorithm_ranges_find_if [system] { header "__algorithm/ranges_find_if.h" }
+module cxx03_std_private_algorithm_ranges_find_if_not [system] { header "__algorithm/ranges_find_if_not.h" }
+module cxx03_std_private_algorithm_ranges_find_last [system] { header "__algorithm/ranges_find_last.h" }
+module cxx03_std_private_algorithm_ranges_for_each [system] {
header "__algorithm/ranges_for_each.h"
export std_private_algorithm_in_fun_result
}
-module std_private_algorithm_ranges_for_each_n [system] {
+module cxx03_std_private_algorithm_ranges_for_each_n [system] {
header "__algorithm/ranges_for_each_n.h"
export std_private_algorithm_in_fun_result
}
-module std_private_algorithm_ranges_generate [system] { header "__algorithm/ranges_generate.h" }
-module std_private_algorithm_ranges_generate_n [system] { header "__algorithm/ranges_generate_n.h" }
-module std_private_algorithm_ranges_includes [system] {
+module cxx03_std_private_algorithm_ranges_generate [system] { header "__algorithm/ranges_generate.h" }
+module cxx03_std_private_algorithm_ranges_generate_n [system] { header "__algorithm/ranges_generate_n.h" }
+module cxx03_std_private_algorithm_ranges_includes [system] {
header "__algorithm/ranges_includes.h"
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_inplace_merge [system] {
+module cxx03_std_private_algorithm_ranges_inplace_merge [system] {
header "__algorithm/ranges_inplace_merge.h"
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_is_heap [system] {
+module cxx03_std_private_algorithm_ranges_is_heap [system] {
header "__algorithm/ranges_is_heap.h"
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_is_heap_until [system] {
+module cxx03_std_private_algorithm_ranges_is_heap_until [system] {
header "__algorithm/ranges_is_heap_until.h"
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_is_partitioned [system] { header "__algorithm/ranges_is_partitioned.h" }
-module std_private_algorithm_ranges_is_permutation [system] { header "__algorithm/ranges_is_permutation.h" }
-module std_private_algorithm_ranges_is_sorted [system] {
+module cxx03_std_private_algorithm_ranges_is_partitioned [system] { header "__algorithm/ranges_is_partitioned.h" }
+module cxx03_std_private_algorithm_ranges_is_permutation [system] { header "__algorithm/ranges_is_permutation.h" }
+module cxx03_std_private_algorithm_ranges_is_sorted [system] {
header "__algorithm/ranges_is_sorted.h"
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_is_sorted_until [system] {
+module cxx03_std_private_algorithm_ranges_is_sorted_until [system] {
header "__algorithm/ranges_is_sorted_until.h"
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_iterator_concept [system] { header "__algorithm/ranges_iterator_concept.h" }
-module std_private_algorithm_ranges_lexicographical_compare [system] {
+module cxx03_std_private_algorithm_ranges_iterator_concept [system] { header "__algorithm/ranges_iterator_concept.h" }
+module cxx03_std_private_algorithm_ranges_lexicographical_compare [system] {
header "__algorithm/ranges_lexicographical_compare.h"
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_lower_bound [system] {
+module cxx03_std_private_algorithm_ranges_lower_bound [system] {
header "__algorithm/ranges_lower_bound.h"
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_make_heap [system] {
+module cxx03_std_private_algorithm_ranges_make_heap [system] {
header "__algorithm/ranges_make_heap.h"
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_max [system] {
+module cxx03_std_private_algorithm_ranges_max [system] {
header "__algorithm/ranges_max.h"
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_max_element [system] {
+module cxx03_std_private_algorithm_ranges_max_element [system] {
header "__algorithm/ranges_max_element.h"
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_merge [system] {
+module cxx03_std_private_algorithm_ranges_merge [system] {
header "__algorithm/ranges_merge.h"
export std_private_algorithm_in_in_out_result
}
-module std_private_algorithm_ranges_min [system] {
+module cxx03_std_private_algorithm_ranges_min [system] {
header "__algorithm/ranges_min.h"
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_min_element [system] {
+module cxx03_std_private_algorithm_ranges_min_element [system] {
header "__algorithm/ranges_min_element.h"
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_minmax [system] {
+module cxx03_std_private_algorithm_ranges_minmax [system] {
header "__algorithm/ranges_minmax.h"
export std_private_functional_ranges_operations
export std_private_algorithm_min_max_result
}
-module std_private_algorithm_ranges_minmax_element [system] {
+module cxx03_std_private_algorithm_ranges_minmax_element [system] {
header "__algorithm/ranges_minmax_element.h"
export std_private_functional_ranges_operations
export std_private_algorithm_min_max_result
}
-module std_private_algorithm_ranges_mismatch [system] {
+module cxx03_std_private_algorithm_ranges_mismatch [system] {
header "__algorithm/ranges_mismatch.h"
export std_private_algorithm_in_in_result
}
-module std_private_algorithm_ranges_move [system] {
+module cxx03_std_private_algorithm_ranges_move [system] {
header "__algorithm/ranges_move.h"
export std_private_algorithm_in_out_result
}
-module std_private_algorithm_ranges_move_backward [system] {
+module cxx03_std_private_algorithm_ranges_move_backward [system] {
header "__algorithm/ranges_move_backward.h"
export std_private_algorithm_in_out_result
}
-module std_private_algorithm_ranges_next_permutation [system] {
+module cxx03_std_private_algorithm_ranges_next_permutation [system] {
header "__algorithm/ranges_next_permutation.h"
export std_private_algorithm_in_found_result
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_none_of [system] { header "__algorithm/ranges_none_of.h" }
-module std_private_algorithm_ranges_nth_element [system] {
+module cxx03_std_private_algorithm_ranges_none_of [system] { header "__algorithm/ranges_none_of.h" }
+module cxx03_std_private_algorithm_ranges_nth_element [system] {
header "__algorithm/ranges_nth_element.h"
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_partial_sort [system] {
+module cxx03_std_private_algorithm_ranges_partial_sort [system] {
header "__algorithm/ranges_partial_sort.h"
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_partial_sort_copy [system] {
+module cxx03_std_private_algorithm_ranges_partial_sort_copy [system] {
header "__algorithm/ranges_partial_sort_copy.h"
export std_private_algorithm_in_out_result
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_partition [system] { header "__algorithm/ranges_partition.h" }
-module std_private_algorithm_ranges_partition_copy [system] { header "__algorithm/ranges_partition_copy.h" }
-module std_private_algorithm_ranges_partition_point [system] { header "__algorithm/ranges_partition_point.h" }
-module std_private_algorithm_ranges_pop_heap [system] {
+module cxx03_std_private_algorithm_ranges_partition [system] { header "__algorithm/ranges_partition.h" }
+module cxx03_std_private_algorithm_ranges_partition_copy [system] { header "__algorithm/ranges_partition_copy.h" }
+module cxx03_std_private_algorithm_ranges_partition_point [system] { header "__algorithm/ranges_partition_point.h" }
+module cxx03_std_private_algorithm_ranges_pop_heap [system] {
header "__algorithm/ranges_pop_heap.h"
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_prev_permutation [system] {
+module cxx03_std_private_algorithm_ranges_prev_permutation [system] {
header "__algorithm/ranges_prev_permutation.h"
export std_private_algorithm_in_found_result
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_push_heap [system] {
+module cxx03_std_private_algorithm_ranges_push_heap [system] {
header "__algorithm/ranges_push_heap.h"
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_remove [system] { header "__algorithm/ranges_remove.h" }
-module std_private_algorithm_ranges_remove_copy [system] {
+module cxx03_std_private_algorithm_ranges_remove [system] { header "__algorithm/ranges_remove.h" }
+module cxx03_std_private_algorithm_ranges_remove_copy [system] {
header "__algorithm/ranges_remove_copy.h"
export std_private_algorithm_in_out_result
}
-module std_private_algorithm_ranges_remove_copy_if [system] {
+module cxx03_std_private_algorithm_ranges_remove_copy_if [system] {
header "__algorithm/ranges_remove_copy_if.h"
export std_private_algorithm_in_out_result
}
-module std_private_algorithm_ranges_remove_if [system] { header "__algorithm/ranges_remove_if.h" }
-module std_private_algorithm_ranges_replace [system] { header "__algorithm/ranges_replace.h" }
-module std_private_algorithm_ranges_replace_copy [system] {
+module cxx03_std_private_algorithm_ranges_remove_if [system] { header "__algorithm/ranges_remove_if.h" }
+module cxx03_std_private_algorithm_ranges_replace [system] { header "__algorithm/ranges_replace.h" }
+module cxx03_std_private_algorithm_ranges_replace_copy [system] {
header "__algorithm/ranges_replace_copy.h"
export std_private_algorithm_in_out_result
}
-module std_private_algorithm_ranges_replace_copy_if [system] {
+module cxx03_std_private_algorithm_ranges_replace_copy_if [system] {
header "__algorithm/ranges_replace_copy_if.h"
export std_private_algorithm_in_out_result
}
-module std_private_algorithm_ranges_replace_if [system] { header "__algorithm/ranges_replace_if.h" }
-module std_private_algorithm_ranges_reverse [system] { header "__algorithm/ranges_reverse.h" }
-module std_private_algorithm_ranges_reverse_copy [system] {
+module cxx03_std_private_algorithm_ranges_replace_if [system] { header "__algorithm/ranges_replace_if.h" }
+module cxx03_std_private_algorithm_ranges_reverse [system] { header "__algorithm/ranges_reverse.h" }
+module cxx03_std_private_algorithm_ranges_reverse_copy [system] {
header "__algorithm/ranges_reverse_copy.h"
export std_private_algorithm_in_out_result
}
-module std_private_algorithm_ranges_rotate [system] { header "__algorithm/ranges_rotate.h" }
-module std_private_algorithm_ranges_rotate_copy [system] {
+module cxx03_std_private_algorithm_ranges_rotate [system] { header "__algorithm/ranges_rotate.h" }
+module cxx03_std_private_algorithm_ranges_rotate_copy [system] {
header "__algorithm/ranges_rotate_copy.h"
export std_private_algorithm_in_out_result
}
-module std_private_algorithm_ranges_sample [system] { header "__algorithm/ranges_sample.h" }
-module std_private_algorithm_ranges_search [system] { header "__algorithm/ranges_search.h" }
-module std_private_algorithm_ranges_search_n [system] { header "__algorithm/ranges_search_n.h" }
-module std_private_algorithm_ranges_set_difference [system] {
+module cxx03_std_private_algorithm_ranges_sample [system] { header "__algorithm/ranges_sample.h" }
+module cxx03_std_private_algorithm_ranges_search [system] { header "__algorithm/ranges_search.h" }
+module cxx03_std_private_algorithm_ranges_search_n [system] { header "__algorithm/ranges_search_n.h" }
+module cxx03_std_private_algorithm_ranges_set_difference [system] {
header "__algorithm/ranges_set_difference.h"
export std_private_algorithm_in_out_result
}
-module std_private_algorithm_ranges_set_intersection [system] {
+module cxx03_std_private_algorithm_ranges_set_intersection [system] {
header "__algorithm/ranges_set_intersection.h"
export std_private_algorithm_in_in_out_result
}
-module std_private_algorithm_ranges_set_symmetric_difference [system] {
+module cxx03_std_private_algorithm_ranges_set_symmetric_difference [system] {
header "__algorithm/ranges_set_symmetric_difference.h"
export std_private_algorithm_in_in_out_result
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_set_union [system] {
+module cxx03_std_private_algorithm_ranges_set_union [system] {
header "__algorithm/ranges_set_union.h"
export std_private_algorithm_in_in_out_result
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_shuffle [system] { header "__algorithm/ranges_shuffle.h" }
-module std_private_algorithm_ranges_sort [system] {
+module cxx03_std_private_algorithm_ranges_shuffle [system] { header "__algorithm/ranges_shuffle.h" }
+module cxx03_std_private_algorithm_ranges_sort [system] {
header "__algorithm/ranges_sort.h"
export std_private_algorithm_make_projected
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_sort_heap [system] {
+module cxx03_std_private_algorithm_ranges_sort_heap [system] {
header "__algorithm/ranges_sort_heap.h"
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_stable_partition [system] { header "__algorithm/ranges_stable_partition.h" }
-module std_private_algorithm_ranges_stable_sort [system] {
+module cxx03_std_private_algorithm_ranges_stable_partition [system] { header "__algorithm/ranges_stable_partition.h" }
+module cxx03_std_private_algorithm_ranges_stable_sort [system] {
header "__algorithm/ranges_stable_sort.h"
export std_private_functional_ranges_operations
}
-module std_private_algorithm_ranges_starts_with [system] { header "__algorithm/ranges_starts_with.h" }
-module std_private_algorithm_ranges_swap_ranges [system] {
+module cxx03_std_private_algorithm_ranges_starts_with [system] { header "__algorithm/ranges_starts_with.h" }
+module cxx03_std_private_algorithm_ranges_swap_ranges [system] {
header "__algorithm/ranges_swap_ranges.h"
export std_private_algorithm_in_in_result
}
-module std_private_algorithm_ranges_transform [system] {
+module cxx03_std_private_algorithm_ranges_transform [system] {
header "__algorithm/ranges_transform.h"
export std_private_algorithm_in_in_out_result
export std_private_algorithm_in_out_result
}
-module std_private_algorithm_ranges_unique [system] { header "__algorithm/ranges_unique.h" }
-module std_private_algorithm_ranges_unique_copy [system] {
+module cxx03_std_private_algorithm_ranges_unique [system] { header "__algorithm/ranges_unique.h" }
+module cxx03_std_private_algorithm_ranges_unique_copy [system] {
header "__algorithm/ranges_unique_copy.h"
export std_private_algorithm_in_out_result
}
-module std_private_algorithm_ranges_upper_bound [system] {
+module cxx03_std_private_algorithm_ranges_upper_bound [system] {
header "__algorithm/ranges_upper_bound.h"
export std_private_functional_ranges_operations
}
-module std_private_algorithm_remove [system] { header "__algorithm/remove.h" }
-module std_private_algorithm_remove_copy [system] { header "__algorithm/remove_copy.h" }
-module std_private_algorithm_remove_copy_if [system] { header "__algorithm/remove_copy_if.h" }
-module std_private_algorithm_remove_if [system] { header "__algorithm/remove_if.h" }
-module std_private_algorithm_replace [system] { header "__algorithm/replace.h" }
-module std_private_algorithm_replace_copy [system] { header "__algorithm/replace_copy.h" }
-module std_private_algorithm_replace_copy_if [system] { header "__algorithm/replace_copy_if.h" }
-module std_private_algorithm_replace_if [system] { header "__algorithm/replace_if.h" }
-module std_private_algorithm_reverse [system] { header "__algorithm/reverse.h" }
-module std_private_algorithm_reverse_copy [system] { header "__algorithm/reverse_copy.h" }
-module std_private_algorithm_rotate [system] { header "__algorithm/rotate.h" }
-module std_private_algorithm_rotate_copy [system] { header "__algorithm/rotate_copy.h" }
-module std_private_algorithm_sample [system] { header "__algorithm/sample.h" }
-module std_private_algorithm_search [system] { header "__algorithm/search.h" }
-module std_private_algorithm_search_n [system] { header "__algorithm/search_n.h" }
-module std_private_algorithm_set_difference [system] { header "__algorithm/set_difference.h" }
-module std_private_algorithm_set_intersection [system] { header "__algorithm/set_intersection.h" }
-module std_private_algorithm_set_symmetric_difference [system] { header "__algorithm/set_symmetric_difference.h" }
-module std_private_algorithm_set_union [system] { header "__algorithm/set_union.h" }
-module std_private_algorithm_shift_left [system] { header "__algorithm/shift_left.h" }
-module std_private_algorithm_shift_right [system] { header "__algorithm/shift_right.h" }
-module std_private_algorithm_shuffle [system] { header "__algorithm/shuffle.h" }
-module std_private_algorithm_sift_down [system] { header "__algorithm/sift_down.h" }
-module std_private_algorithm_sort [system] {
+module cxx03_std_private_algorithm_remove [system] { header "__algorithm/remove.h" }
+module cxx03_std_private_algorithm_remove_copy [system] { header "__algorithm/remove_copy.h" }
+module cxx03_std_private_algorithm_remove_copy_if [system] { header "__algorithm/remove_copy_if.h" }
+module cxx03_std_private_algorithm_remove_if [system] { header "__algorithm/remove_if.h" }
+module cxx03_std_private_algorithm_replace [system] { header "__algorithm/replace.h" }
+module cxx03_std_private_algorithm_replace_copy [system] { header "__algorithm/replace_copy.h" }
+module cxx03_std_private_algorithm_replace_copy_if [system] { header "__algorithm/replace_copy_if.h" }
+module cxx03_std_private_algorithm_replace_if [system] { header "__algorithm/replace_if.h" }
+module cxx03_std_private_algorithm_reverse [system] { header "__algorithm/reverse.h" }
+module cxx03_std_private_algorithm_reverse_copy [system] { header "__algorithm/reverse_copy.h" }
+module cxx03_std_private_algorithm_rotate [system] { header "__algorithm/rotate.h" }
+module cxx03_std_private_algorithm_rotate_copy [system] { header "__algorithm/rotate_copy.h" }
+module cxx03_std_private_algorithm_sample [system] { header "__algorithm/sample.h" }
+module cxx03_std_private_algorithm_search [system] { header "__algorithm/search.h" }
+module cxx03_std_private_algorithm_search_n [system] { header "__algorithm/search_n.h" }
+module cxx03_std_private_algorithm_set_difference [system] { header "__algorithm/set_difference.h" }
+module cxx03_std_private_algorithm_set_intersection [system] { header "__algorithm/set_intersection.h" }
+module cxx03_std_private_algorithm_set_symmetric_difference [system] { header "__algorithm/set_symmetric_difference.h" }
+module cxx03_std_private_algorithm_set_union [system] { header "__algorithm/set_union.h" }
+module cxx03_std_private_algorithm_shift_left [system] { header "__algorithm/shift_left.h" }
+module cxx03_std_private_algorithm_shift_right [system] { header "__algorithm/shift_right.h" }
+module cxx03_std_private_algorithm_shuffle [system] { header "__algorithm/shuffle.h" }
+module cxx03_std_private_algorithm_sift_down [system] { header "__algorithm/sift_down.h" }
+module cxx03_std_private_algorithm_sort [system] {
header "__algorithm/sort.h"
export std_private_debug_utils_strict_weak_ordering_check
}
-module std_private_algorithm_simd_utils [system] { header "__algorithm/simd_utils.h" }
-module std_private_algorithm_sort_heap [system] { header "__algorithm/sort_heap.h" }
-module std_private_algorithm_stable_partition [system] { header "__algorithm/stable_partition.h" }
-module std_private_algorithm_stable_sort [system] { header "__algorithm/stable_sort.h" }
-module std_private_algorithm_swap_ranges [system] {
+module cxx03_std_private_algorithm_simd_utils [system] { header "__algorithm/simd_utils.h" }
+module cxx03_std_private_algorithm_sort_heap [system] { header "__algorithm/sort_heap.h" }
+module cxx03_std_private_algorithm_stable_partition [system] { header "__algorithm/stable_partition.h" }
+module cxx03_std_private_algorithm_stable_sort [system] { header "__algorithm/stable_sort.h" }
+module cxx03_std_private_algorithm_swap_ranges [system] {
header "__algorithm/swap_ranges.h"
export std_private_algorithm_iterator_operations
}
-module std_private_algorithm_three_way_comp_ref_type [system] { header "__algorithm/three_way_comp_ref_type.h" }
-module std_private_algorithm_transform [system] { header "__algorithm/transform.h" }
-module std_private_algorithm_uniform_random_bit_generator_adaptor [system] { header "__algorithm/uniform_random_bit_generator_adaptor.h" }
-module std_private_algorithm_unique [system] { header "__algorithm/unique.h" }
-module std_private_algorithm_unique_copy [system] { header "__algorithm/unique_copy.h" }
-module std_private_algorithm_unwrap_iter [system] {
+module cxx03_std_private_algorithm_three_way_comp_ref_type [system] { header "__algorithm/three_way_comp_ref_type.h" }
+module cxx03_std_private_algorithm_transform [system] { header "__algorithm/transform.h" }
+module cxx03_std_private_algorithm_uniform_random_bit_generator_adaptor [system] { header "__algorithm/uniform_random_bit_generator_adaptor.h" }
+module cxx03_std_private_algorithm_unique [system] { header "__algorithm/unique.h" }
+module cxx03_std_private_algorithm_unique_copy [system] { header "__algorithm/unique_copy.h" }
+module cxx03_std_private_algorithm_unwrap_iter [system] {
header "__algorithm/unwrap_iter.h"
export std_private_iterator_iterator_traits
}
-module std_private_algorithm_unwrap_range [system] {
+module cxx03_std_private_algorithm_unwrap_range [system] {
header "__algorithm/unwrap_range.h"
export std_private_utility_pair
}
-module std_private_algorithm_upper_bound [system] { header "__algorithm/upper_bound.h" }
+module cxx03_std_private_algorithm_upper_bound [system] { header "__algorithm/upper_bound.h" }
-module std_private_array_array_fwd [system] { header "__fwd/array.h" }
+module cxx03_std_private_array_array_fwd [system] { header "__fwd/array.h" }
-module std_private_atomic_aliases [system] {
+module cxx03_std_private_atomic_aliases [system] {
header "__atomic/aliases.h"
export std_private_atomic_atomic
}
-module std_private_atomic_atomic [system] {
+module cxx03_std_private_atomic_atomic [system] {
header "__atomic/atomic.h"
export std_private_atomic_atomic_base
}
-module std_private_atomic_atomic_base [system] { header "__atomic/atomic_base.h" }
-module std_private_atomic_atomic_flag [system] {
+module cxx03_std_private_atomic_atomic_base [system] { header "__atomic/atomic_base.h" }
+module cxx03_std_private_atomic_atomic_flag [system] {
header "__atomic/atomic_flag.h"
export *
}
-module std_private_atomic_atomic_init [system] { header "__atomic/atomic_init.h" }
-module std_private_atomic_atomic_lock_free [system] { header "__atomic/atomic_lock_free.h" }
-module std_private_atomic_atomic_ref [system] { header "__atomic/atomic_ref.h" }
-module std_private_atomic_atomic_sync [system] {
+module cxx03_std_private_atomic_atomic_init [system] { header "__atomic/atomic_init.h" }
+module cxx03_std_private_atomic_atomic_lock_free [system] { header "__atomic/atomic_lock_free.h" }
+module cxx03_std_private_atomic_atomic_ref [system] { header "__atomic/atomic_ref.h" }
+module cxx03_std_private_atomic_atomic_sync [system] {
header "__atomic/atomic_sync.h"
export std_private_atomic_to_gcc_order
}
-module std_private_atomic_check_memory_order [system] { header "__atomic/check_memory_order.h" }
-module std_private_atomic_contention_t [system] { header "__atomic/contention_t.h" }
-module std_private_atomic_cxx_atomic_impl [system] { header "__atomic/cxx_atomic_impl.h" }
-module std_private_atomic_fence [system] { header "__atomic/fence.h" }
-module std_private_atomic_is_always_lock_free [system] { header "__atomic/is_always_lock_free.h" }
-module std_private_atomic_kill_dependency [system] { header "__atomic/kill_dependency.h" }
-module std_private_atomic_memory_order [system] { header "__atomic/memory_order.h" }
-module std_private_atomic_to_gcc_order [system] {
+module cxx03_std_private_atomic_check_memory_order [system] { header "__atomic/check_memory_order.h" }
+module cxx03_std_private_atomic_contention_t [system] { header "__atomic/contention_t.h" }
+module cxx03_std_private_atomic_cxx_atomic_impl [system] { header "__atomic/cxx_atomic_impl.h" }
+module cxx03_std_private_atomic_fence [system] { header "__atomic/fence.h" }
+module cxx03_std_private_atomic_is_always_lock_free [system] { header "__atomic/is_always_lock_free.h" }
+module cxx03_std_private_atomic_kill_dependency [system] { header "__atomic/kill_dependency.h" }
+module cxx03_std_private_atomic_memory_order [system] { header "__atomic/memory_order.h" }
+module cxx03_std_private_atomic_to_gcc_order [system] {
header "__atomic/to_gcc_order.h"
export std_private_atomic_memory_order
}
-module std_private_bit_bit_cast [system] { header "__bit/bit_cast.h" }
-module std_private_bit_bit_ceil [system] { header "__bit/bit_ceil.h" }
-module std_private_bit_bit_floor [system] { header "__bit/bit_floor.h" }
-module std_private_bit_bit_log2 [system] { header "__bit/bit_log2.h" }
-module std_private_bit_bit_width [system] { header "__bit/bit_width.h" }
-module std_private_bit_blsr [system] { header "__bit/blsr.h" }
-module std_private_bit_byteswap [system] { header "__bit/byteswap.h" }
-module std_private_bit_countl [system] { header "__bit/countl.h" }
-module std_private_bit_countr [system] { header "__bit/countr.h" }
-module std_private_bit_endian [system] { header "__bit/endian.h" }
-module std_private_bit_has_single_bit [system] { header "__bit/has_single_bit.h" }
-module std_private_bit_invert_if [system] { header "__bit/invert_if.h" }
-module std_private_bit_popcount [system] { header "__bit/popcount.h" }
-module std_private_bit_rotate [system] { header "__bit/rotate.h" }
+module cxx03_std_private_bit_bit_cast [system] { header "__bit/bit_cast.h" }
+module cxx03_std_private_bit_bit_ceil [system] { header "__bit/bit_ceil.h" }
+module cxx03_std_private_bit_bit_floor [system] { header "__bit/bit_floor.h" }
+module cxx03_std_private_bit_bit_log2 [system] { header "__bit/bit_log2.h" }
+module cxx03_std_private_bit_bit_width [system] { header "__bit/bit_width.h" }
+module cxx03_std_private_bit_blsr [system] { header "__bit/blsr.h" }
+module cxx03_std_private_bit_byteswap [system] { header "__bit/byteswap.h" }
+module cxx03_std_private_bit_countl [system] { header "__bit/countl.h" }
+module cxx03_std_private_bit_countr [system] { header "__bit/countr.h" }
+module cxx03_std_private_bit_endian [system] { header "__bit/endian.h" }
+module cxx03_std_private_bit_has_single_bit [system] { header "__bit/has_single_bit.h" }
+module cxx03_std_private_bit_invert_if [system] { header "__bit/invert_if.h" }
+module cxx03_std_private_bit_popcount [system] { header "__bit/popcount.h" }
+module cxx03_std_private_bit_rotate [system] { header "__bit/rotate.h" }
-module std_private_charconv_chars_format [system] { header "__charconv/chars_format.h" }
-module std_private_charconv_from_chars_integral [system] { header "__charconv/from_chars_integral.h" }
-module std_private_charconv_from_chars_result [system] { header "__charconv/from_chars_result.h" }
-module std_private_charconv_tables [system] { header "__charconv/tables.h" }
-module std_private_charconv_to_chars [system] { header "__charconv/to_chars.h" }
-module std_private_charconv_to_chars_base_10 [system] { header "__charconv/to_chars_base_10.h" }
-module std_private_charconv_to_chars_floating_point [system] { header "__charconv/to_chars_floating_point.h" }
-module std_private_charconv_to_chars_integral [system] {
+module cxx03_std_private_charconv_chars_format [system] { header "__charconv/chars_format.h" }
+module cxx03_std_private_charconv_from_chars_integral [system] { header "__charconv/from_chars_integral.h" }
+module cxx03_std_private_charconv_from_chars_result [system] { header "__charconv/from_chars_result.h" }
+module cxx03_std_private_charconv_tables [system] { header "__charconv/tables.h" }
+module cxx03_std_private_charconv_to_chars [system] { header "__charconv/to_chars.h" }
+module cxx03_std_private_charconv_to_chars_base_10 [system] { header "__charconv/to_chars_base_10.h" }
+module cxx03_std_private_charconv_to_chars_floating_point [system] { header "__charconv/to_chars_floating_point.h" }
+module cxx03_std_private_charconv_to_chars_integral [system] {
header "__charconv/to_chars_integral.h"
export std_private_charconv_traits
}
-module std_private_charconv_to_chars_result [system] {
+module cxx03_std_private_charconv_to_chars_result [system] {
header "__charconv/to_chars_result.h"
export *
}
-module std_private_charconv_traits [system] { header "__charconv/traits.h" }
+module cxx03_std_private_charconv_traits [system] { header "__charconv/traits.h" }
-module std_private_chrono_calendar [system] { header "__chrono/calendar.h" }
-module std_private_chrono_concepts [system] { header "__chrono/concepts.h" }
-module std_private_chrono_convert_to_timespec [system] { header "__chrono/convert_to_timespec.h" }
-module std_private_chrono_convert_to_tm [system] { header "__chrono/convert_to_tm.h" }
-module std_private_chrono_day [system] { header "__chrono/day.h" }
-module std_private_chrono_duration [system] {
+module cxx03_std_private_chrono_calendar [system] { header "__chrono/calendar.h" }
+module cxx03_std_private_chrono_concepts [system] { header "__chrono/concepts.h" }
+module cxx03_std_private_chrono_convert_to_timespec [system] { header "__chrono/convert_to_timespec.h" }
+module cxx03_std_private_chrono_convert_to_tm [system] { header "__chrono/convert_to_tm.h" }
+module cxx03_std_private_chrono_day [system] { header "__chrono/day.h" }
+module cxx03_std_private_chrono_duration [system] {
header "__chrono/duration.h"
export std_private_type_traits_is_convertible
}
-module std_private_chrono_exception [system] { header "__chrono/exception.h" }
-module std_private_chrono_file_clock [system] { header "__chrono/file_clock.h" }
-module std_private_chrono_formatter [system] {
+module cxx03_std_private_chrono_exception [system] { header "__chrono/exception.h" }
+module cxx03_std_private_chrono_file_clock [system] { header "__chrono/file_clock.h" }
+module cxx03_std_private_chrono_formatter [system] {
header "__chrono/formatter.h"
}
-module std_private_chrono_hh_mm_ss [system] { header "__chrono/hh_mm_ss.h" }
-module std_private_chrono_high_resolution_clock [system] {
+module cxx03_std_private_chrono_hh_mm_ss [system] { header "__chrono/hh_mm_ss.h" }
+module cxx03_std_private_chrono_high_resolution_clock [system] {
header "__chrono/high_resolution_clock.h"
export std_private_chrono_steady_clock
export std_private_chrono_system_clock
}
-module std_private_chrono_leap_second [system] { header "__chrono/leap_second.h" }
-module std_private_chrono_literals [system] { header "__chrono/literals.h" }
-module std_private_chrono_local_info [system] {
+module cxx03_std_private_chrono_leap_second [system] { header "__chrono/leap_second.h" }
+module cxx03_std_private_chrono_literals [system] { header "__chrono/literals.h" }
+module cxx03_std_private_chrono_local_info [system] {
header "__chrono/local_info.h"
export std_private_chrono_sys_info
}
-module std_private_chrono_month [system] { header "__chrono/month.h" }
-module std_private_chrono_month_weekday [system] { header "__chrono/month_weekday.h" }
-module std_private_chrono_monthday [system] { header "__chrono/monthday.h" }
-module std_private_chrono_ostream [system] {
+module cxx03_std_private_chrono_month [system] { header "__chrono/month.h" }
+module cxx03_std_private_chrono_month_weekday [system] { header "__chrono/month_weekday.h" }
+module cxx03_std_private_chrono_monthday [system] { header "__chrono/monthday.h" }
+module cxx03_std_private_chrono_ostream [system] {
header "__chrono/ostream.h"
}
-module std_private_chrono_parser_std_format_spec [system] {
+module cxx03_std_private_chrono_parser_std_format_spec [system] {
header "__chrono/parser_std_format_spec.h"
}
-module std_private_chrono_statically_widen [system] { header "__chrono/statically_widen.h" }
-module std_private_chrono_steady_clock [system] {
+module cxx03_std_private_chrono_statically_widen [system] { header "__chrono/statically_widen.h" }
+module cxx03_std_private_chrono_steady_clock [system] {
header "__chrono/steady_clock.h"
export std_private_chrono_time_point
}
-module std_private_chrono_time_zone [system] {
+module cxx03_std_private_chrono_time_zone [system] {
header "__chrono/time_zone.h"
export std_private_memory_unique_ptr
}
-module std_private_chrono_time_zone_link [system] {
+module cxx03_std_private_chrono_time_zone_link [system] {
header "__chrono/time_zone_link.h"
}
-module std_private_chrono_sys_info [system] {
+module cxx03_std_private_chrono_sys_info [system] {
header "__chrono/sys_info.h"
}
-module std_private_chrono_system_clock [system] {
+module cxx03_std_private_chrono_system_clock [system] {
header "__chrono/system_clock.h"
export std_private_chrono_time_point
}
-module std_private_chrono_tzdb [system] {
+module cxx03_std_private_chrono_tzdb [system] {
header "__chrono/tzdb.h"
export *
}
-module std_private_chrono_tzdb_list [system] {
+module cxx03_std_private_chrono_tzdb_list [system] {
header "__chrono/tzdb_list.h"
export *
}
-module std_private_chrono_time_point [system] { header "__chrono/time_point.h" }
-module std_private_chrono_weekday [system] { header "__chrono/weekday.h" }
-module std_private_chrono_year [system] { header "__chrono/year.h" }
-module std_private_chrono_year_month [system] { header "__chrono/year_month.h" }
-module std_private_chrono_year_month_day [system] { header "__chrono/year_month_day.h" }
-module std_private_chrono_year_month_weekday [system] { header "__chrono/year_month_weekday.h" }
-module std_private_chrono_zoned_time [system] { header "__chrono/zoned_time.h" }
+module cxx03_std_private_chrono_time_point [system] { header "__chrono/time_point.h" }
+module cxx03_std_private_chrono_weekday [system] { header "__chrono/weekday.h" }
+module cxx03_std_private_chrono_year [system] { header "__chrono/year.h" }
+module cxx03_std_private_chrono_year_month [system] { header "__chrono/year_month.h" }
+module cxx03_std_private_chrono_year_month_day [system] { header "__chrono/year_month_day.h" }
+module cxx03_std_private_chrono_year_month_weekday [system] { header "__chrono/year_month_weekday.h" }
+module cxx03_std_private_chrono_zoned_time [system] { header "__chrono/zoned_time.h" }
-module std_private_compare_common_comparison_category [system] { header "__compare/common_comparison_category.h" }
-module std_private_compare_compare_partial_order_fallback [system] { header "__compare/compare_partial_order_fallback.h" }
-module std_private_compare_compare_strong_order_fallback [system] { header "__compare/compare_strong_order_fallback.h" }
-module std_private_compare_compare_three_way [system] { header "__compare/compare_three_way.h" }
-module std_private_compare_compare_three_way_result [system] { header "__compare/compare_three_way_result.h" }
-module std_private_compare_compare_weak_order_fallback [system] { header "__compare/compare_weak_order_fallback.h" }
-module std_private_compare_is_eq [system] { header "__compare/is_eq.h" }
-module std_private_compare_ordering [system] { header "__compare/ordering.h" }
-module std_private_compare_partial_order [system] { header "__compare/partial_order.h" }
-module std_private_compare_strong_order [system] { header "__compare/strong_order.h" }
-module std_private_compare_synth_three_way [system] { header "__compare/synth_three_way.h" }
-module std_private_compare_three_way_comparable [system] { header "__compare/three_way_comparable.h" }
-module std_private_compare_weak_order [system] { header "__compare/weak_order.h" }
+module cxx03_std_private_compare_common_comparison_category [system] { header "__compare/common_comparison_category.h" }
+module cxx03_std_private_compare_compare_partial_order_fallback [system] { header "__compare/compare_partial_order_fallback.h" }
+module cxx03_std_private_compare_compare_strong_order_fallback [system] { header "__compare/compare_strong_order_fallback.h" }
+module cxx03_std_private_compare_compare_three_way [system] { header "__compare/compare_three_way.h" }
+module cxx03_std_private_compare_compare_three_way_result [system] { header "__compare/compare_three_way_result.h" }
+module cxx03_std_private_compare_compare_weak_order_fallback [system] { header "__compare/compare_weak_order_fallback.h" }
+module cxx03_std_private_compare_is_eq [system] { header "__compare/is_eq.h" }
+module cxx03_std_private_compare_ordering [system] { header "__compare/ordering.h" }
+module cxx03_std_private_compare_partial_order [system] { header "__compare/partial_order.h" }
+module cxx03_std_private_compare_strong_order [system] { header "__compare/strong_order.h" }
+module cxx03_std_private_compare_synth_three_way [system] { header "__compare/synth_three_way.h" }
+module cxx03_std_private_compare_three_way_comparable [system] { header "__compare/three_way_comparable.h" }
+module cxx03_std_private_compare_weak_order [system] { header "__compare/weak_order.h" }
-module std_private_complex_complex_fwd [system] { header "__fwd/complex.h" }
+module cxx03_std_private_complex_complex_fwd [system] { header "__fwd/complex.h" }
-module std_private_concepts_arithmetic [system] { header "__concepts/arithmetic.h" }
-module std_private_concepts_assignable [system] { header "__concepts/assignable.h" }
-module std_private_concepts_boolean_testable [system] { header "__concepts/boolean_testable.h" }
-module std_private_concepts_class_or_enum [system] { header "__concepts/class_or_enum.h" }
-module std_private_concepts_common_reference_with [system] { header "__concepts/common_reference_with.h" }
-module std_private_concepts_common_with [system] { header "__concepts/common_with.h" }
-module std_private_concepts_constructible [system] {
+module cxx03_std_private_concepts_arithmetic [system] { header "__concepts/arithmetic.h" }
+module cxx03_std_private_concepts_assignable [system] { header "__concepts/assignable.h" }
+module cxx03_std_private_concepts_boolean_testable [system] { header "__concepts/boolean_testable.h" }
+module cxx03_std_private_concepts_class_or_enum [system] { header "__concepts/class_or_enum.h" }
+module cxx03_std_private_concepts_common_reference_with [system] { header "__concepts/common_reference_with.h" }
+module cxx03_std_private_concepts_common_with [system] { header "__concepts/common_with.h" }
+module cxx03_std_private_concepts_constructible [system] {
header "__concepts/constructible.h"
export std_private_concepts_destructible
}
-module std_private_concepts_convertible_to [system] { header "__concepts/convertible_to.h" }
-module std_private_concepts_copyable [system] { header "__concepts/copyable.h" }
-module std_private_concepts_derived_from [system] { header "__concepts/derived_from.h" }
-module std_private_concepts_destructible [system] {
+module cxx03_std_private_concepts_convertible_to [system] { header "__concepts/convertible_to.h" }
+module cxx03_std_private_concepts_copyable [system] { header "__concepts/copyable.h" }
+module cxx03_std_private_concepts_derived_from [system] { header "__concepts/derived_from.h" }
+module cxx03_std_private_concepts_destructible [system] {
header "__concepts/destructible.h"
export std_private_type_traits_is_nothrow_destructible
}
-module std_private_concepts_different_from [system] { header "__concepts/different_from.h" }
-module std_private_concepts_equality_comparable [system] {
+module cxx03_std_private_concepts_different_from [system] { header "__concepts/different_from.h" }
+module cxx03_std_private_concepts_equality_comparable [system] {
header "__concepts/equality_comparable.h"
export std_private_type_traits_common_reference
}
-module std_private_concepts_invocable [system] { header "__concepts/invocable.h" }
-module std_private_concepts_movable [system] {
+module cxx03_std_private_concepts_invocable [system] { header "__concepts/invocable.h" }
+module cxx03_std_private_concepts_movable [system] {
header "__concepts/movable.h"
export std_private_type_traits_is_object
}
-module std_private_concepts_predicate [system] { header "__concepts/predicate.h" }
-module std_private_concepts_regular [system] { header "__concepts/regular.h" }
-module std_private_concepts_relation [system] { header "__concepts/relation.h" }
-module std_private_concepts_same_as [system] {
+module cxx03_std_private_concepts_predicate [system] { header "__concepts/predicate.h" }
+module cxx03_std_private_concepts_regular [system] { header "__concepts/regular.h" }
+module cxx03_std_private_concepts_relation [system] { header "__concepts/relation.h" }
+module cxx03_std_private_concepts_same_as [system] {
header "__concepts/same_as.h"
export std_private_type_traits_is_same
}
-module std_private_concepts_semiregular [system] { header "__concepts/semiregular.h" }
-module std_private_concepts_swappable [system] { header "__concepts/swappable.h" }
-module std_private_concepts_totally_ordered [system] { header "__concepts/totally_ordered.h" }
+module cxx03_std_private_concepts_semiregular [system] { header "__concepts/semiregular.h" }
+module cxx03_std_private_concepts_swappable [system] { header "__concepts/swappable.h" }
+module cxx03_std_private_concepts_totally_ordered [system] { header "__concepts/totally_ordered.h" }
-module std_private_condition_variable_condition_variable [system] {
+module cxx03_std_private_condition_variable_condition_variable [system] {
header "__condition_variable/condition_variable.h"
export *
}
-module std_private_coroutine_coroutine_handle [system] { header "__coroutine/coroutine_handle.h" }
-module std_private_coroutine_coroutine_traits [system] { header "__coroutine/coroutine_traits.h" }
-module std_private_coroutine_noop_coroutine_handle [system] { header "__coroutine/noop_coroutine_handle.h" }
-module std_private_coroutine_trivial_awaitables [system] { header "__coroutine/trivial_awaitables.h" }
+module cxx03_std_private_coroutine_coroutine_handle [system] { header "__coroutine/coroutine_handle.h" }
+module cxx03_std_private_coroutine_coroutine_traits [system] { header "__coroutine/coroutine_traits.h" }
+module cxx03_std_private_coroutine_noop_coroutine_handle [system] { header "__coroutine/noop_coroutine_handle.h" }
+module cxx03_std_private_coroutine_trivial_awaitables [system] { header "__coroutine/trivial_awaitables.h" }
-module std_private_debug_utils_randomize_range [system] { header "__debug_utils/randomize_range.h" }
-module std_private_debug_utils_sanitizers [system] { header "__debug_utils/sanitizers.h" }
-module std_private_debug_utils_strict_weak_ordering_check [system] {
+module cxx03_std_private_debug_utils_randomize_range [system] { header "__debug_utils/randomize_range.h" }
+module cxx03_std_private_debug_utils_sanitizers [system] { header "__debug_utils/sanitizers.h" }
+module cxx03_std_private_debug_utils_strict_weak_ordering_check [system] {
header "__debug_utils/strict_weak_ordering_check.h"
export std_private_type_traits_is_constant_evaluated
}
-module std_private_deque_fwd [system] { header "__fwd/deque.h" }
+module cxx03_std_private_deque_fwd [system] { header "__fwd/deque.h" }
-module std_private_exception_exception [system] { header "__exception/exception.h" }
-module std_private_exception_exception_ptr [system] {
+module cxx03_std_private_exception_exception [system] { header "__exception/exception.h" }
+module cxx03_std_private_exception_exception_ptr [system] {
header "__exception/exception_ptr.h"
export std_private_exception_operations
}
-module std_private_exception_nested_exception [system] { header "__exception/nested_exception.h" }
-module std_private_exception_operations [system] { header "__exception/operations.h" }
-module std_private_exception_terminate [system] { header "__exception/terminate.h" }
+module cxx03_std_private_exception_nested_exception [system] { header "__exception/nested_exception.h" }
+module cxx03_std_private_exception_operations [system] { header "__exception/operations.h" }
+module cxx03_std_private_exception_terminate [system] { header "__exception/terminate.h" }
-module std_private_expected_bad_expected_access [system] { header "__expected/bad_expected_access.h" }
-module std_private_expected_expected [system] { header "__expected/expected.h" }
-module std_private_expected_unexpect [system] { header "__expected/unexpect.h" }
-module std_private_expected_unexpected [system] { header "__expected/unexpected.h" }
+module cxx03_std_private_expected_bad_expected_access [system] { header "__expected/bad_expected_access.h" }
+module cxx03_std_private_expected_expected [system] { header "__expected/expected.h" }
+module cxx03_std_private_expected_unexpect [system] { header "__expected/unexpect.h" }
+module cxx03_std_private_expected_unexpected [system] { header "__expected/unexpected.h" }
-module std_private_filesystem_copy_options [system] { header "__filesystem/copy_options.h" }
-module std_private_filesystem_directory_entry [system] {
+module cxx03_std_private_filesystem_copy_options [system] { header "__filesystem/copy_options.h" }
+module cxx03_std_private_filesystem_directory_entry [system] {
header "__filesystem/directory_entry.h"
export *
}
-module std_private_filesystem_directory_iterator [system] {
+module cxx03_std_private_filesystem_directory_iterator [system] {
header "__filesystem/directory_iterator.h"
export *
}
-module std_private_filesystem_directory_options [system] { header "__filesystem/directory_options.h" }
-module std_private_filesystem_file_status [system] { header "__filesystem/file_status.h" }
-module std_private_filesystem_file_time_type [system] { header "__filesystem/file_time_type.h" }
-module std_private_filesystem_file_type [system] { header "__filesystem/file_type.h" }
-module std_private_filesystem_filesystem_error [system] {
+module cxx03_std_private_filesystem_directory_options [system] { header "__filesystem/directory_options.h" }
+module cxx03_std_private_filesystem_file_status [system] { header "__filesystem/file_status.h" }
+module cxx03_std_private_filesystem_file_time_type [system] { header "__filesystem/file_time_type.h" }
+module cxx03_std_private_filesystem_file_type [system] { header "__filesystem/file_type.h" }
+module cxx03_std_private_filesystem_filesystem_error [system] {
header "__filesystem/filesystem_error.h"
export *
}
-module std_private_filesystem_operations [system] { header "__filesystem/operations.h" }
-module std_private_filesystem_path [system] {
+module cxx03_std_private_filesystem_operations [system] { header "__filesystem/operations.h" }
+module cxx03_std_private_filesystem_path [system] {
header "__filesystem/path.h"
export *
}
-module std_private_filesystem_path_iterator [system] { header "__filesystem/path_iterator.h" }
-module std_private_filesystem_perm_options [system] { header "__filesystem/perm_options.h" }
-module std_private_filesystem_perms [system] { header "__filesystem/perms.h" }
-module std_private_filesystem_recursive_directory_iterator [system] {
+module cxx03_std_private_filesystem_path_iterator [system] { header "__filesystem/path_iterator.h" }
+module cxx03_std_private_filesystem_perm_options [system] { header "__filesystem/perm_options.h" }
+module cxx03_std_private_filesystem_perms [system] { header "__filesystem/perms.h" }
+module cxx03_std_private_filesystem_recursive_directory_iterator [system] {
header "__filesystem/recursive_directory_iterator.h"
export *
}
-module std_private_filesystem_space_info [system] { header "__filesystem/space_info.h" }
-module std_private_filesystem_u8path [system] { header "__filesystem/u8path.h" }
+module cxx03_std_private_filesystem_space_info [system] { header "__filesystem/space_info.h" }
+module cxx03_std_private_filesystem_u8path [system] { header "__filesystem/u8path.h" }
-module std_private_format_buffer [system] { header "__format/buffer.h" }
-module std_private_format_concepts [system] { header "__format/concepts.h" }
-module std_private_format_container_adaptor [system] { header "__format/container_adaptor.h" }
-module std_private_format_enable_insertable [system] { header "__format/enable_insertable.h" }
-module std_private_format_escaped_output_table [system] { header "__format/escaped_output_table.h" }
-module std_private_format_extended_grapheme_cluster_table [system] { header "__format/extended_grapheme_cluster_table.h" }
-module std_private_format_format_arg [system] { header "__format/format_arg.h" }
-module std_private_format_format_arg_store [system] { header "__format/format_arg_store.h" }
-module std_private_format_format_args [system] { header "__format/format_args.h" }
-module std_private_format_format_context [system] {
+module cxx03_std_private_format_buffer [system] { header "__format/buffer.h" }
+module cxx03_std_private_format_concepts [system] { header "__format/concepts.h" }
+module cxx03_std_private_format_container_adaptor [system] { header "__format/container_adaptor.h" }
+module cxx03_std_private_format_enable_insertable [system] { header "__format/enable_insertable.h" }
+module cxx03_std_private_format_escaped_output_table [system] { header "__format/escaped_output_table.h" }
+module cxx03_std_private_format_extended_grapheme_cluster_table [system] { header "__format/extended_grapheme_cluster_table.h" }
+module cxx03_std_private_format_format_arg [system] { header "__format/format_arg.h" }
+module cxx03_std_private_format_format_arg_store [system] { header "__format/format_arg_store.h" }
+module cxx03_std_private_format_format_args [system] { header "__format/format_args.h" }
+module cxx03_std_private_format_format_context [system] {
header "__format/format_context.h"
export *
}
-module std_private_format_format_error [system] { header "__format/format_error.h" }
-module std_private_format_format_functions [system] {
+module cxx03_std_private_format_format_error [system] { header "__format/format_error.h" }
+module cxx03_std_private_format_format_functions [system] {
header "__format/format_functions.h"
export std_string
}
-module std_private_format_fwd [system] { header "__fwd/format.h" }
-module std_private_format_format_parse_context [system] { header "__format/format_parse_context.h" }
-module std_private_format_format_string [system] { header "__format/format_string.h" }
-module std_private_format_format_to_n_result [system] {
+module cxx03_std_private_format_fwd [system] { header "__fwd/format.h" }
+module cxx03_std_private_format_format_parse_context [system] { header "__format/format_parse_context.h" }
+module cxx03_std_private_format_format_string [system] { header "__format/format_string.h" }
+module cxx03_std_private_format_format_to_n_result [system] {
header "__format/format_to_n_result.h"
export std_private_iterator_incrementable_traits
}
-module std_private_format_formatter [system] { header "__format/formatter.h" }
-module std_private_format_formatter_bool [system] { header "__format/formatter_bool.h" }
-module std_private_format_formatter_char [system] { header "__format/formatter_char.h" }
-module std_private_format_formatter_floating_point [system] { header "__format/formatter_floating_point.h" }
-module std_private_format_formatter_integer [system] { header "__format/formatter_integer.h" }
-module std_private_format_formatter_integral [system] { header "__format/formatter_integral.h" }
-module std_private_format_formatter_output [system] { header "__format/formatter_output.h" }
-module std_private_format_formatter_pointer [system] { header "__format/formatter_pointer.h" }
-module std_private_format_formatter_string [system] { header "__format/formatter_string.h" }
-module std_private_format_formatter_tuple [system] { header "__format/formatter_tuple.h" }
-module std_private_format_indic_conjunct_break_table [system] { header "__format/indic_conjunct_break_table.h" }
-module std_private_format_parser_std_format_spec [system] { header "__format/parser_std_format_spec.h" }
-module std_private_format_range_default_formatter [system] { header "__format/range_default_formatter.h" }
-module std_private_format_range_formatter [system] { header "__format/range_formatter.h" }
-module std_private_format_unicode [system] {
+module cxx03_std_private_format_formatter [system] { header "__format/formatter.h" }
+module cxx03_std_private_format_formatter_bool [system] { header "__format/formatter_bool.h" }
+module cxx03_std_private_format_formatter_char [system] { header "__format/formatter_char.h" }
+module cxx03_std_private_format_formatter_floating_point [system] { header "__format/formatter_floating_point.h" }
+module cxx03_std_private_format_formatter_integer [system] { header "__format/formatter_integer.h" }
+module cxx03_std_private_format_formatter_integral [system] { header "__format/formatter_integral.h" }
+module cxx03_std_private_format_formatter_output [system] { header "__format/formatter_output.h" }
+module cxx03_std_private_format_formatter_pointer [system] { header "__format/formatter_pointer.h" }
+module cxx03_std_private_format_formatter_string [system] { header "__format/formatter_string.h" }
+module cxx03_std_private_format_formatter_tuple [system] { header "__format/formatter_tuple.h" }
+module cxx03_std_private_format_indic_conjunct_break_table [system] { header "__format/indic_conjunct_break_table.h" }
+module cxx03_std_private_format_parser_std_format_spec [system] { header "__format/parser_std_format_spec.h" }
+module cxx03_std_private_format_range_default_formatter [system] { header "__format/range_default_formatter.h" }
+module cxx03_std_private_format_range_formatter [system] { header "__format/range_formatter.h" }
+module cxx03_std_private_format_unicode [system] {
header "__format/unicode.h"
export std_private_format_extended_grapheme_cluster_table
export std_private_format_indic_conjunct_break_table
}
-module std_private_format_width_estimation_table [system] { header "__format/width_estimation_table.h" }
-module std_private_format_write_escaped [system] { header "__format/write_escaped.h" }
+module cxx03_std_private_format_width_estimation_table [system] { header "__format/width_estimation_table.h" }
+module cxx03_std_private_format_write_escaped [system] { header "__format/write_escaped.h" }
-module std_private_functional_binary_function [system] { header "__functional/binary_function.h" }
-module std_private_functional_binary_negate [system] { header "__functional/binary_negate.h" }
-module std_private_functional_bind [system] { header "__functional/bind.h" }
-module std_private_functional_bind_back [system] { header "__functional/bind_back.h" }
-module std_private_functional_bind_front [system] { header "__functional/bind_front.h" }
-module std_private_functional_binder1st [system] { header "__functional/binder1st.h" }
-module std_private_functional_binder2nd [system] { header "__functional/binder2nd.h" }
-module std_private_functional_boyer_moore_searcher [system] {
+module cxx03_std_private_functional_binary_function [system] { header "__functional/binary_function.h" }
+module cxx03_std_private_functional_binary_negate [system] { header "__functional/binary_negate.h" }
+module cxx03_std_private_functional_bind [system] { header "__functional/bind.h" }
+module cxx03_std_private_functional_bind_back [system] { header "__functional/bind_back.h" }
+module cxx03_std_private_functional_bind_front [system] { header "__functional/bind_front.h" }
+module cxx03_std_private_functional_binder1st [system] { header "__functional/binder1st.h" }
+module cxx03_std_private_functional_binder2nd [system] { header "__functional/binder2nd.h" }
+module cxx03_std_private_functional_boyer_moore_searcher [system] {
header "__functional/boyer_moore_searcher.h"
export std_private_memory_shared_ptr
}
-module std_private_functional_compose [system] {
+module cxx03_std_private_functional_compose [system] {
header "__functional/compose.h"
export std_private_functional_perfect_forward
}
-module std_private_functional_default_searcher [system] { header "__functional/default_searcher.h" }
-module std_private_functional_function [system] { header "__functional/function.h" }
-module std_private_functional_hash [system] {
+module cxx03_std_private_functional_default_searcher [system] { header "__functional/default_searcher.h" }
+module cxx03_std_private_functional_function [system] { header "__functional/function.h" }
+module cxx03_std_private_functional_hash [system] {
header "__functional/hash.h"
export std_cstdint
export std_private_type_traits_underlying_type
export std_private_utility_pair
}
-module std_private_functional_fwd [system] { header "__fwd/functional.h" }
-module std_private_functional_identity [system] { header "__functional/identity.h" }
-module std_private_functional_invoke [system] {
+module cxx03_std_private_functional_fwd [system] { header "__fwd/functional.h" }
+module cxx03_std_private_functional_identity [system] { header "__functional/identity.h" }
+module cxx03_std_private_functional_invoke [system] {
header "__functional/invoke.h"
export *
}
-module std_private_functional_is_transparent [system] { header "__functional/is_transparent.h" }
-module std_private_functional_mem_fn [system] { header "__functional/mem_fn.h" }
-module std_private_functional_mem_fun_ref [system] { header "__functional/mem_fun_ref.h" }
-module std_private_functional_not_fn [system] {
+module cxx03_std_private_functional_is_transparent [system] { header "__functional/is_transparent.h" }
+module cxx03_std_private_functional_mem_fn [system] { header "__functional/mem_fn.h" }
+module cxx03_std_private_functional_mem_fun_ref [system] { header "__functional/mem_fun_ref.h" }
+module cxx03_std_private_functional_not_fn [system] {
header "__functional/not_fn.h"
export std_private_functional_perfect_forward
}
-module std_private_functional_operations [system] { header "__functional/operations.h" }
-module std_private_functional_perfect_forward [system] {
+module cxx03_std_private_functional_operations [system] { header "__functional/operations.h" }
+module cxx03_std_private_functional_perfect_forward [system] {
header "__functional/perfect_forward.h"
export *
}
-module std_private_functional_pointer_to_binary_function [system] { header "__functional/pointer_to_binary_function.h" }
-module std_private_functional_pointer_to_unary_function [system] { header "__functional/pointer_to_unary_function.h" }
-module std_private_functional_ranges_operations [system] { header "__functional/ranges_operations.h" }
-module std_private_functional_reference_wrapper [system] { header "__functional/reference_wrapper.h" }
-module std_private_functional_unary_function [system] { header "__functional/unary_function.h" }
-module std_private_functional_unary_negate [system] { header "__functional/unary_negate.h" }
-module std_private_functional_weak_result_type [system] { header "__functional/weak_result_type.h" }
+module cxx03_std_private_functional_pointer_to_binary_function [system] { header "__functional/pointer_to_binary_function.h" }
+module cxx03_std_private_functional_pointer_to_unary_function [system] { header "__functional/pointer_to_unary_function.h" }
+module cxx03_std_private_functional_ranges_operations [system] { header "__functional/ranges_operations.h" }
+module cxx03_std_private_functional_reference_wrapper [system] { header "__functional/reference_wrapper.h" }
+module cxx03_std_private_functional_unary_function [system] { header "__functional/unary_function.h" }
+module cxx03_std_private_functional_unary_negate [system] { header "__functional/unary_negate.h" }
+module cxx03_std_private_functional_weak_result_type [system] { header "__functional/weak_result_type.h" }
-module std_private_ios_fpos [system] { header "__ios/fpos.h" }
+module cxx03_std_private_ios_fpos [system] { header "__ios/fpos.h" }
-module std_private_iosfwd_fstream_fwd [system] { header "__fwd/fstream.h" }
-module std_private_iosfwd_ios_fwd [system] { header "__fwd/ios.h" }
-module std_private_iosfwd_istream_fwd [system] { header "__fwd/istream.h" }
-module std_private_iosfwd_ostream_fwd [system] { header "__fwd/ostream.h" }
-module std_private_iosfwd_sstream_fwd [system] { header "__fwd/sstream.h" }
-module std_private_iosfwd_streambuf_fwd [system] { header "__fwd/streambuf.h" }
+module cxx03_std_private_iosfwd_fstream_fwd [system] { header "__fwd/fstream.h" }
+module cxx03_std_private_iosfwd_ios_fwd [system] { header "__fwd/ios.h" }
+module cxx03_std_private_iosfwd_istream_fwd [system] { header "__fwd/istream.h" }
+module cxx03_std_private_iosfwd_ostream_fwd [system] { header "__fwd/ostream.h" }
+module cxx03_std_private_iosfwd_sstream_fwd [system] { header "__fwd/sstream.h" }
+module cxx03_std_private_iosfwd_streambuf_fwd [system] { header "__fwd/streambuf.h" }
-module std_private_iterator_access [system] { header "__iterator/access.h" }
-module std_private_iterator_advance [system] { header "__iterator/advance.h" }
-module std_private_iterator_aliasing_iterator [system] { header "__iterator/aliasing_iterator.h" }
-module std_private_iterator_back_insert_iterator [system] { header "__iterator/back_insert_iterator.h" }
-module std_private_iterator_bounded_iter [system] { header "__iterator/bounded_iter.h" }
-module std_private_iterator_common_iterator [system] { header "__iterator/common_iterator.h" }
-module std_private_iterator_concepts [system] {
+module cxx03_std_private_iterator_access [system] { header "__iterator/access.h" }
+module cxx03_std_private_iterator_advance [system] { header "__iterator/advance.h" }
+module cxx03_std_private_iterator_aliasing_iterator [system] { header "__iterator/aliasing_iterator.h" }
+module cxx03_std_private_iterator_back_insert_iterator [system] { header "__iterator/back_insert_iterator.h" }
+module cxx03_std_private_iterator_bounded_iter [system] { header "__iterator/bounded_iter.h" }
+module cxx03_std_private_iterator_common_iterator [system] { header "__iterator/common_iterator.h" }
+module cxx03_std_private_iterator_concepts [system] {
header "__iterator/concepts.h"
export std_private_concepts_constructible
export std_private_concepts_equality_comparable
@@ -1401,509 +1401,509 @@ module std_private_iterator_concepts [system] {
export std_private_type_traits_is_reference
export std_private_type_traits_remove_cvref
}
-module std_private_iterator_counted_iterator [system] { header "__iterator/counted_iterator.h" }
-module std_private_iterator_cpp17_iterator_concepts [system] { header "__iterator/cpp17_iterator_concepts.h" }
-module std_private_iterator_data [system] { header "__iterator/data.h" }
-module std_private_iterator_default_sentinel [system] { header "__iterator/default_sentinel.h" }
-module std_private_iterator_distance [system] {
+module cxx03_std_private_iterator_counted_iterator [system] { header "__iterator/counted_iterator.h" }
+module cxx03_std_private_iterator_cpp17_iterator_concepts [system] { header "__iterator/cpp17_iterator_concepts.h" }
+module cxx03_std_private_iterator_data [system] { header "__iterator/data.h" }
+module cxx03_std_private_iterator_default_sentinel [system] { header "__iterator/default_sentinel.h" }
+module cxx03_std_private_iterator_distance [system] {
header "__iterator/distance.h"
export std_private_ranges_size
}
-module std_private_iterator_empty [system] { header "__iterator/empty.h" }
-module std_private_iterator_erase_if_container [system] { header "__iterator/erase_if_container.h" }
-module std_private_iterator_front_insert_iterator [system] { header "__iterator/front_insert_iterator.h" }
-module std_private_iterator_incrementable_traits [system] { header "__iterator/incrementable_traits.h" }
-module std_private_iterator_indirectly_comparable [system] { header "__iterator/indirectly_comparable.h" }
-module std_private_iterator_insert_iterator [system] { header "__iterator/insert_iterator.h" }
-module std_private_iterator_istream_iterator [system] { header "__iterator/istream_iterator.h" }
-module std_private_iterator_istreambuf_iterator [system] { header "__iterator/istreambuf_iterator.h" }
-module std_private_iterator_iter_move [system] { header "__iterator/iter_move.h" }
-module std_private_iterator_iter_swap [system] { header "__iterator/iter_swap.h" }
-module std_private_iterator_iterator [system] { header "__iterator/iterator.h" }
-module std_private_iterator_iterator_traits [system] {
+module cxx03_std_private_iterator_empty [system] { header "__iterator/empty.h" }
+module cxx03_std_private_iterator_erase_if_container [system] { header "__iterator/erase_if_container.h" }
+module cxx03_std_private_iterator_front_insert_iterator [system] { header "__iterator/front_insert_iterator.h" }
+module cxx03_std_private_iterator_incrementable_traits [system] { header "__iterator/incrementable_traits.h" }
+module cxx03_std_private_iterator_indirectly_comparable [system] { header "__iterator/indirectly_comparable.h" }
+module cxx03_std_private_iterator_insert_iterator [system] { header "__iterator/insert_iterator.h" }
+module cxx03_std_private_iterator_istream_iterator [system] { header "__iterator/istream_iterator.h" }
+module cxx03_std_private_iterator_istreambuf_iterator [system] { header "__iterator/istreambuf_iterator.h" }
+module cxx03_std_private_iterator_iter_move [system] { header "__iterator/iter_move.h" }
+module cxx03_std_private_iterator_iter_swap [system] { header "__iterator/iter_swap.h" }
+module cxx03_std_private_iterator_iterator [system] { header "__iterator/iterator.h" }
+module cxx03_std_private_iterator_iterator_traits [system] {
header "__iterator/iterator_traits.h"
export std_private_type_traits_is_primary_template
}
-module std_private_iterator_iterator_with_data [system] { header "__iterator/iterator_with_data.h" }
-module std_private_iterator_mergeable [system] {
+module cxx03_std_private_iterator_iterator_with_data [system] { header "__iterator/iterator_with_data.h" }
+module cxx03_std_private_iterator_mergeable [system] {
header "__iterator/mergeable.h"
export std_private_functional_ranges_operations
}
-module std_private_iterator_move_iterator [system] { header "__iterator/move_iterator.h" }
-module std_private_iterator_move_sentinel [system] { header "__iterator/move_sentinel.h" }
-module std_private_iterator_next [system] { header "__iterator/next.h" }
-module std_private_iterator_ostream_iterator [system] { header "__iterator/ostream_iterator.h" }
-module std_private_iterator_ostreambuf_iterator [system] {
+module cxx03_std_private_iterator_move_iterator [system] { header "__iterator/move_iterator.h" }
+module cxx03_std_private_iterator_move_sentinel [system] { header "__iterator/move_sentinel.h" }
+module cxx03_std_private_iterator_next [system] { header "__iterator/next.h" }
+module cxx03_std_private_iterator_ostream_iterator [system] { header "__iterator/ostream_iterator.h" }
+module cxx03_std_private_iterator_ostreambuf_iterator [system] {
header "__iterator/ostreambuf_iterator.h"
export *
}
-module std_private_iterator_permutable [system] { header "__iterator/permutable.h" }
-module std_private_iterator_prev [system] { header "__iterator/prev.h" }
-module std_private_iterator_projected [system] { header "__iterator/projected.h" }
-module std_private_iterator_ranges_iterator_traits [system] { header "__iterator/ranges_iterator_traits.h" }
-module std_private_iterator_readable_traits [system] { header "__iterator/readable_traits.h" }
-module std_private_iterator_reverse_access [system] { header "__iterator/reverse_access.h" }
-module std_private_iterator_reverse_iterator [system] { header "__iterator/reverse_iterator.h" }
-module std_private_iterator_segmented_iterator [system] { header "__iterator/segmented_iterator.h" }
-module std_private_iterator_size [system] { header "__iterator/size.h" }
-module std_private_iterator_sortable [system] {
+module cxx03_std_private_iterator_permutable [system] { header "__iterator/permutable.h" }
+module cxx03_std_private_iterator_prev [system] { header "__iterator/prev.h" }
+module cxx03_std_private_iterator_projected [system] { header "__iterator/projected.h" }
+module cxx03_std_private_iterator_ranges_iterator_traits [system] { header "__iterator/ranges_iterator_traits.h" }
+module cxx03_std_private_iterator_readable_traits [system] { header "__iterator/readable_traits.h" }
+module cxx03_std_private_iterator_reverse_access [system] { header "__iterator/reverse_access.h" }
+module cxx03_std_private_iterator_reverse_iterator [system] { header "__iterator/reverse_iterator.h" }
+module cxx03_std_private_iterator_segmented_iterator [system] { header "__iterator/segmented_iterator.h" }
+module cxx03_std_private_iterator_size [system] { header "__iterator/size.h" }
+module cxx03_std_private_iterator_sortable [system] {
header "__iterator/sortable.h"
export std_private_functional_ranges_operations
}
-module std_private_iterator_unreachable_sentinel [system] { header "__iterator/unreachable_sentinel.h" }
-module std_private_iterator_wrap_iter [system] { header "__iterator/wrap_iter.h" }
+module cxx03_std_private_iterator_unreachable_sentinel [system] { header "__iterator/unreachable_sentinel.h" }
+module cxx03_std_private_iterator_wrap_iter [system] { header "__iterator/wrap_iter.h" }
-module std_private_locale_locale_base_api_android [system] { textual header "__locale_dir/locale_base_api/android.h" }
-module std_private_locale_locale_base_api_bsd_locale_defaults [system] { textual header "__locale_dir/locale_base_api/bsd_locale_defaults.h" }
-module std_private_locale_locale_base_api_bsd_locale_fallbacks [system] { textual header "__locale_dir/locale_base_api/bsd_locale_fallbacks.h" }
-module std_private_locale_locale_base_api_fuchsia [system] { textual header "__locale_dir/locale_base_api/fuchsia.h" }
-module std_private_locale_locale_base_api_ibm [system] { textual header "__locale_dir/locale_base_api/ibm.h" }
-module std_private_locale_locale_base_api_locale_guard [system] { header "__locale_dir/locale_base_api/locale_guard.h" }
-module std_private_locale_locale_base_api_musl [system] { textual header "__locale_dir/locale_base_api/musl.h" }
-module std_private_locale_locale_base_api_newlib [system] { textual header "__locale_dir/locale_base_api/newlib.h" }
-module std_private_locale_locale_base_api_openbsd [system] { textual header "__locale_dir/locale_base_api/openbsd.h" }
-module std_private_locale_locale_base_api_win32 [system] { textual header "__locale_dir/locale_base_api/win32.h" }
-module std_private_locale_locale_base_api [system] {
+module cxx03_std_private_locale_locale_base_api_android [system] { textual header "__locale_dir/locale_base_api/android.h" }
+module cxx03_std_private_locale_locale_base_api_bsd_locale_defaults [system] { textual header "__locale_dir/locale_base_api/bsd_locale_defaults.h" }
+module cxx03_std_private_locale_locale_base_api_bsd_locale_fallbacks [system] { textual header "__locale_dir/locale_base_api/bsd_locale_fallbacks.h" }
+module cxx03_std_private_locale_locale_base_api_fuchsia [system] { textual header "__locale_dir/locale_base_api/fuchsia.h" }
+module cxx03_std_private_locale_locale_base_api_ibm [system] { textual header "__locale_dir/locale_base_api/ibm.h" }
+module cxx03_std_private_locale_locale_base_api_locale_guard [system] { header "__locale_dir/locale_base_api/locale_guard.h" }
+module cxx03_std_private_locale_locale_base_api_musl [system] { textual header "__locale_dir/locale_base_api/musl.h" }
+module cxx03_std_private_locale_locale_base_api_newlib [system] { textual header "__locale_dir/locale_base_api/newlib.h" }
+module cxx03_std_private_locale_locale_base_api_openbsd [system] { textual header "__locale_dir/locale_base_api/openbsd.h" }
+module cxx03_std_private_locale_locale_base_api_win32 [system] { textual header "__locale_dir/locale_base_api/win32.h" }
+module cxx03_std_private_locale_locale_base_api [system] {
header "__locale_dir/locale_base_api.h"
export *
}
-module std_private_math_abs [system] { header "__math/abs.h" }
-module std_private_math_copysign [system] { header "__math/copysign.h" }
-module std_private_math_error_functions [system] { header "__math/error_functions.h" }
-module std_private_math_exponential_functions [system] { header "__math/exponential_functions.h" }
-module std_private_math_fdim [system] { header "__math/fdim.h" }
-module std_private_math_fma [system] { header "__math/fma.h" }
-module std_private_math_gamma [system] { header "__math/gamma.h" }
-module std_private_math_hyperbolic_functions [system] { header "__math/hyperbolic_functions.h" }
-module std_private_math_hypot [system] { header "__math/hypot.h" }
-module std_private_math_inverse_hyperbolic_functions [system] { header "__math/inverse_hyperbolic_functions.h" }
-module std_private_math_inverse_trigonometric_functions [system] { header "__math/inverse_trigonometric_functions.h" }
-module std_private_math_logarithms [system] { header "__math/logarithms.h" }
-module std_private_math_min_max [system] { header "__math/min_max.h" }
-module std_private_math_modulo [system] { header "__math/modulo.h" }
-module std_private_math_remainder [system] { header "__math/remainder.h" }
-module std_private_math_roots [system] { header "__math/roots.h" }
-module std_private_math_rounding_functions [system] { header "__math/rounding_functions.h" }
-module std_private_math_special_functions [system] { header "__math/special_functions.h" }
-module std_private_math_traits [system] { header "__math/traits.h" }
-module std_private_math_trigonometric_functions [system] { header "__math/trigonometric_functions.h" }
+module cxx03_std_private_math_abs [system] { header "__math/abs.h" }
+module cxx03_std_private_math_copysign [system] { header "__math/copysign.h" }
+module cxx03_std_private_math_error_functions [system] { header "__math/error_functions.h" }
+module cxx03_std_private_math_exponential_functions [system] { header "__math/exponential_functions.h" }
+module cxx03_std_private_math_fdim [system] { header "__math/fdim.h" }
+module cxx03_std_private_math_fma [system] { header "__math/fma.h" }
+module cxx03_std_private_math_gamma [system] { header "__math/gamma.h" }
+module cxx03_std_private_math_hyperbolic_functions [system] { header "__math/hyperbolic_functions.h" }
+module cxx03_std_private_math_hypot [system] { header "__math/hypot.h" }
+module cxx03_std_private_math_inverse_hyperbolic_functions [system] { header "__math/inverse_hyperbolic_functions.h" }
+module cxx03_std_private_math_inverse_trigonometric_functions [system] { header "__math/inverse_trigonometric_functions.h" }
+module cxx03_std_private_math_logarithms [system] { header "__math/logarithms.h" }
+module cxx03_std_private_math_min_max [system] { header "__math/min_max.h" }
+module cxx03_std_private_math_modulo [system] { header "__math/modulo.h" }
+module cxx03_std_private_math_remainder [system] { header "__math/remainder.h" }
+module cxx03_std_private_math_roots [system] { header "__math/roots.h" }
+module cxx03_std_private_math_rounding_functions [system] { header "__math/rounding_functions.h" }
+module cxx03_std_private_math_special_functions [system] { header "__math/special_functions.h" }
+module cxx03_std_private_math_traits [system] { header "__math/traits.h" }
+module cxx03_std_private_math_trigonometric_functions [system] { header "__math/trigonometric_functions.h" }
-module std_private_mdspan_default_accessor [system] { header "__mdspan/default_accessor.h" }
-module std_private_mdspan_extents [system] {
+module cxx03_std_private_mdspan_default_accessor [system] { header "__mdspan/default_accessor.h" }
+module cxx03_std_private_mdspan_extents [system] {
header "__mdspan/extents.h"
export *
}
-module std_private_mdspan_layout_left [system] { header "__mdspan/layout_left.h" }
-module std_private_mdspan_layout_right [system] { header "__mdspan/layout_right.h" }
-module std_private_mdspan_layout_stride [system] { header "__mdspan/layout_stride.h" }
-module std_private_mdspan_mdspan [system] { header "__mdspan/mdspan.h" }
-module std_private_mdspan_mdspan_fwd [system] { header "__fwd/mdspan.h" }
+module cxx03_std_private_mdspan_layout_left [system] { header "__mdspan/layout_left.h" }
+module cxx03_std_private_mdspan_layout_right [system] { header "__mdspan/layout_right.h" }
+module cxx03_std_private_mdspan_layout_stride [system] { header "__mdspan/layout_stride.h" }
+module cxx03_std_private_mdspan_mdspan [system] { header "__mdspan/mdspan.h" }
+module cxx03_std_private_mdspan_mdspan_fwd [system] { header "__fwd/mdspan.h" }
-module std_private_memory_addressof [system] { header "__memory/addressof.h" }
-module std_private_memory_align [system] { header "__memory/align.h" }
-module std_private_memory_aligned_alloc [system] { header "__memory/aligned_alloc.h" }
-module std_private_memory_allocate_at_least [system] { header "__memory/allocate_at_least.h" }
-module std_private_memory_allocation_guard [system] { header "__memory/allocation_guard.h" }
-module std_private_memory_allocator [system] { header "__memory/allocator.h" }
-module std_private_memory_allocator_arg_t [system] { header "__memory/allocator_arg_t.h" }
-module std_private_memory_allocator_destructor [system] { header "__memory/allocator_destructor.h" }
-module std_private_memory_allocator_traits [system] { header "__memory/allocator_traits.h" }
-module std_private_memory_assume_aligned [system] { header "__memory/assume_aligned.h" }
-module std_private_memory_auto_ptr [system] { header "__memory/auto_ptr.h" }
-module std_private_memory_builtin_new_allocator [system] {
+module cxx03_std_private_memory_addressof [system] { header "__memory/addressof.h" }
+module cxx03_std_private_memory_align [system] { header "__memory/align.h" }
+module cxx03_std_private_memory_aligned_alloc [system] { header "__memory/aligned_alloc.h" }
+module cxx03_std_private_memory_allocate_at_least [system] { header "__memory/allocate_at_least.h" }
+module cxx03_std_private_memory_allocation_guard [system] { header "__memory/allocation_guard.h" }
+module cxx03_std_private_memory_allocator [system] { header "__memory/allocator.h" }
+module cxx03_std_private_memory_allocator_arg_t [system] { header "__memory/allocator_arg_t.h" }
+module cxx03_std_private_memory_allocator_destructor [system] { header "__memory/allocator_destructor.h" }
+module cxx03_std_private_memory_allocator_traits [system] { header "__memory/allocator_traits.h" }
+module cxx03_std_private_memory_assume_aligned [system] { header "__memory/assume_aligned.h" }
+module cxx03_std_private_memory_auto_ptr [system] { header "__memory/auto_ptr.h" }
+module cxx03_std_private_memory_builtin_new_allocator [system] {
header "__memory/builtin_new_allocator.h"
export *
}
-module std_private_memory_compressed_pair [system] { header "__memory/compressed_pair.h" }
-module std_private_memory_concepts [system] {
+module cxx03_std_private_memory_compressed_pair [system] { header "__memory/compressed_pair.h" }
+module cxx03_std_private_memory_concepts [system] {
header "__memory/concepts.h"
export std_private_type_traits_remove_reference
}
-module std_private_memory_construct_at [system] { header "__memory/construct_at.h" }
-module std_private_memory_destruct_n [system] { header "__memory/destruct_n.h" }
-module std_private_memory_fwd [system] { header "__fwd/memory.h" }
-module std_private_memory_inout_ptr [system] { header "__memory/inout_ptr.h" }
-module std_private_memory_out_ptr [system] { header "__memory/out_ptr.h" }
-module std_private_memory_pointer_traits [system] { header "__memory/pointer_traits.h" }
-module std_private_memory_ranges_construct_at [system] { header "__memory/ranges_construct_at.h" }
-module std_private_memory_ranges_uninitialized_algorithms [system] {
+module cxx03_std_private_memory_construct_at [system] { header "__memory/construct_at.h" }
+module cxx03_std_private_memory_destruct_n [system] { header "__memory/destruct_n.h" }
+module cxx03_std_private_memory_fwd [system] { header "__fwd/memory.h" }
+module cxx03_std_private_memory_inout_ptr [system] { header "__memory/inout_ptr.h" }
+module cxx03_std_private_memory_out_ptr [system] { header "__memory/out_ptr.h" }
+module cxx03_std_private_memory_pointer_traits [system] { header "__memory/pointer_traits.h" }
+module cxx03_std_private_memory_ranges_construct_at [system] { header "__memory/ranges_construct_at.h" }
+module cxx03_std_private_memory_ranges_uninitialized_algorithms [system] {
header "__memory/ranges_uninitialized_algorithms.h"
export std_private_algorithm_in_out_result
}
-module std_private_memory_raw_storage_iterator [system] { header "__memory/raw_storage_iterator.h" }
-module std_private_memory_shared_ptr [system] {
+module cxx03_std_private_memory_raw_storage_iterator [system] { header "__memory/raw_storage_iterator.h" }
+module cxx03_std_private_memory_shared_ptr [system] {
header "__memory/shared_ptr.h"
export std_private_memory_uninitialized_algorithms
}
-module std_private_memory_swap_allocator [system] { header "__memory/swap_allocator.h" }
-module std_private_memory_temp_value [system] { header "__memory/temp_value.h" }
-module std_private_memory_temporary_buffer [system] {
+module cxx03_std_private_memory_swap_allocator [system] { header "__memory/swap_allocator.h" }
+module cxx03_std_private_memory_temp_value [system] { header "__memory/temp_value.h" }
+module cxx03_std_private_memory_temporary_buffer [system] {
header "__memory/temporary_buffer.h"
export std_private_utility_pair
}
-module std_private_memory_uninitialized_algorithms [system] {
+module cxx03_std_private_memory_uninitialized_algorithms [system] {
header "__memory/uninitialized_algorithms.h"
export std_private_algorithm_copy
}
-module std_private_memory_unique_ptr [system] {
+module cxx03_std_private_memory_unique_ptr [system] {
header "__memory/unique_ptr.h"
export std_private_type_traits_add_lvalue_reference
export std_private_type_traits_is_pointer
export std_private_type_traits_type_identity
}
-module std_private_memory_uses_allocator [system] { header "__memory/uses_allocator.h" }
-module std_private_memory_uses_allocator_construction [system] { header "__memory/uses_allocator_construction.h" }
-module std_private_memory_voidify [system] { header "__memory/voidify.h" }
+module cxx03_std_private_memory_uses_allocator [system] { header "__memory/uses_allocator.h" }
+module cxx03_std_private_memory_uses_allocator_construction [system] { header "__memory/uses_allocator_construction.h" }
+module cxx03_std_private_memory_voidify [system] { header "__memory/voidify.h" }
-module std_private_memory_resource_memory_resource [system] { header "__memory_resource/memory_resource.h" }
-module std_private_memory_resource_memory_resource_fwd [system] { header "__fwd/memory_resource.h" }
-module std_private_memory_resource_monotonic_buffer_resource [system] { header "__memory_resource/monotonic_buffer_resource.h" }
-module std_private_memory_resource_polymorphic_allocator [system] { header "__memory_resource/polymorphic_allocator.h" }
-module std_private_memory_resource_pool_options [system] { header "__memory_resource/pool_options.h" }
-module std_private_memory_resource_synchronized_pool_resource [system] {
+module cxx03_std_private_memory_resource_memory_resource [system] { header "__memory_resource/memory_resource.h" }
+module cxx03_std_private_memory_resource_memory_resource_fwd [system] { header "__fwd/memory_resource.h" }
+module cxx03_std_private_memory_resource_monotonic_buffer_resource [system] { header "__memory_resource/monotonic_buffer_resource.h" }
+module cxx03_std_private_memory_resource_polymorphic_allocator [system] { header "__memory_resource/polymorphic_allocator.h" }
+module cxx03_std_private_memory_resource_pool_options [system] { header "__memory_resource/pool_options.h" }
+module cxx03_std_private_memory_resource_synchronized_pool_resource [system] {
header "__memory_resource/synchronized_pool_resource.h"
export *
}
-module std_private_memory_resource_unsynchronized_pool_resource [system] { header "__memory_resource/unsynchronized_pool_resource.h" }
+module cxx03_std_private_memory_resource_unsynchronized_pool_resource [system] { header "__memory_resource/unsynchronized_pool_resource.h" }
-module std_private_mutex_lock_guard [system] { header "__mutex/lock_guard.h" }
-module std_private_mutex_mutex [system] { header "__mutex/mutex.h" }
-module std_private_mutex_once_flag [system] { header "__mutex/once_flag.h" }
-module std_private_mutex_tag_types [system] { header "__mutex/tag_types.h" }
-module std_private_mutex_unique_lock [system] { header "__mutex/unique_lock.h" }
+module cxx03_std_private_mutex_lock_guard [system] { header "__mutex/lock_guard.h" }
+module cxx03_std_private_mutex_mutex [system] { header "__mutex/mutex.h" }
+module cxx03_std_private_mutex_once_flag [system] { header "__mutex/once_flag.h" }
+module cxx03_std_private_mutex_tag_types [system] { header "__mutex/tag_types.h" }
+module cxx03_std_private_mutex_unique_lock [system] { header "__mutex/unique_lock.h" }
-module std_private_numeric_accumulate [system] { header "__numeric/accumulate.h" }
-module std_private_numeric_adjacent_difference [system] { header "__numeric/adjacent_difference.h" }
-module std_private_numeric_exclusive_scan [system] { header "__numeric/exclusive_scan.h" }
-module std_private_numeric_gcd_lcm [system] { header "__numeric/gcd_lcm.h" }
-module std_private_numeric_inclusive_scan [system] { header "__numeric/inclusive_scan.h" }
-module std_private_numeric_inner_product [system] { header "__numeric/inner_product.h" }
-module std_private_numeric_iota [system] { header "__numeric/iota.h" }
-module std_private_numeric_midpoint [system] { header "__numeric/midpoint.h" }
-module std_private_numeric_partial_sum [system] { header "__numeric/partial_sum.h" }
-module std_private_numeric_pstl [system] {
+module cxx03_std_private_numeric_accumulate [system] { header "__numeric/accumulate.h" }
+module cxx03_std_private_numeric_adjacent_difference [system] { header "__numeric/adjacent_difference.h" }
+module cxx03_std_private_numeric_exclusive_scan [system] { header "__numeric/exclusive_scan.h" }
+module cxx03_std_private_numeric_gcd_lcm [system] { header "__numeric/gcd_lcm.h" }
+module cxx03_std_private_numeric_inclusive_scan [system] { header "__numeric/inclusive_scan.h" }
+module cxx03_std_private_numeric_inner_product [system] { header "__numeric/inner_product.h" }
+module cxx03_std_private_numeric_iota [system] { header "__numeric/iota.h" }
+module cxx03_std_private_numeric_midpoint [system] { header "__numeric/midpoint.h" }
+module cxx03_std_private_numeric_partial_sum [system] { header "__numeric/partial_sum.h" }
+module cxx03_std_private_numeric_pstl [system] {
header "__numeric/pstl.h"
export *
}
-module std_private_numeric_reduce [system] { header "__numeric/reduce.h" }
-module std_private_numeric_saturation_arithmetic [system] { header "__numeric/saturation_arithmetic.h" }
-module std_private_numeric_transform_exclusive_scan [system] { header "__numeric/transform_exclusive_scan.h" }
-module std_private_numeric_transform_inclusive_scan [system] { header "__numeric/transform_inclusive_scan.h" }
-module std_private_numeric_transform_reduce [system] { header "__numeric/transform_reduce.h" }
+module cxx03_std_private_numeric_reduce [system] { header "__numeric/reduce.h" }
+module cxx03_std_private_numeric_saturation_arithmetic [system] { header "__numeric/saturation_arithmetic.h" }
+module cxx03_std_private_numeric_transform_exclusive_scan [system] { header "__numeric/transform_exclusive_scan.h" }
+module cxx03_std_private_numeric_transform_inclusive_scan [system] { header "__numeric/transform_inclusive_scan.h" }
+module cxx03_std_private_numeric_transform_reduce [system] { header "__numeric/transform_reduce.h" }
-module std_private_pstl_backend [system] {
+module cxx03_std_private_pstl_backend [system] {
header "__pstl/backend.h"
export *
}
-module std_private_pstl_backend_fwd [system] {
+module cxx03_std_private_pstl_backend_fwd [system] {
header "__pstl/backend_fwd.h"
export *
}
-module std_private_pstl_backends_default [system] {
+module cxx03_std_private_pstl_backends_default [system] {
header "__pstl/backends/default.h"
export *
}
-module std_private_pstl_backends_libdispatch [system] {
+module cxx03_std_private_pstl_backends_libdispatch [system] {
header "__pstl/backends/libdispatch.h"
export *
}
-module std_private_pstl_backends_serial [system] {
+module cxx03_std_private_pstl_backends_serial [system] {
header "__pstl/backends/serial.h"
export *
}
-module std_private_pstl_backends_std_thread [system] {
+module cxx03_std_private_pstl_backends_std_thread [system] {
header "__pstl/backends/std_thread.h"
export *
}
-module std_private_pstl_cpu_algos_any_of [system] { header "__pstl/cpu_algos/any_of.h" }
-module std_private_pstl_cpu_algos_cpu_traits [system] { header "__pstl/cpu_algos/cpu_traits.h" }
-module std_private_pstl_cpu_algos_fill [system] { header "__pstl/cpu_algos/fill.h" }
-module std_private_pstl_cpu_algos_find_if [system] { header "__pstl/cpu_algos/find_if.h" }
-module std_private_pstl_cpu_algos_for_each [system] { header "__pstl/cpu_algos/for_each.h" }
-module std_private_pstl_cpu_algos_merge [system] { header "__pstl/cpu_algos/merge.h" }
-module std_private_pstl_cpu_algos_stable_sort [system] { header "__pstl/cpu_algos/stable_sort.h" }
-module std_private_pstl_cpu_algos_transform [system] { header "__pstl/cpu_algos/transform.h" }
-module std_private_pstl_cpu_algos_transform_reduce [system] { header "__pstl/cpu_algos/transform_reduce.h" }
-module std_private_pstl_dispatch [system] { header "__pstl/dispatch.h" }
-module std_private_pstl_handle_exception [system] { header "__pstl/handle_exception.h" }
+module cxx03_std_private_pstl_cpu_algos_any_of [system] { header "__pstl/cpu_algos/any_of.h" }
+module cxx03_std_private_pstl_cpu_algos_cpu_traits [system] { header "__pstl/cpu_algos/cpu_traits.h" }
+module cxx03_std_private_pstl_cpu_algos_fill [system] { header "__pstl/cpu_algos/fill.h" }
+module cxx03_std_private_pstl_cpu_algos_find_if [system] { header "__pstl/cpu_algos/find_if.h" }
+module cxx03_std_private_pstl_cpu_algos_for_each [system] { header "__pstl/cpu_algos/for_each.h" }
+module cxx03_std_private_pstl_cpu_algos_merge [system] { header "__pstl/cpu_algos/merge.h" }
+module cxx03_std_private_pstl_cpu_algos_stable_sort [system] { header "__pstl/cpu_algos/stable_sort.h" }
+module cxx03_std_private_pstl_cpu_algos_transform [system] { header "__pstl/cpu_algos/transform.h" }
+module cxx03_std_private_pstl_cpu_algos_transform_reduce [system] { header "__pstl/cpu_algos/transform_reduce.h" }
+module cxx03_std_private_pstl_dispatch [system] { header "__pstl/dispatch.h" }
+module cxx03_std_private_pstl_handle_exception [system] { header "__pstl/handle_exception.h" }
-module std_private_queue_fwd [system] { header "__fwd/queue.h" }
+module cxx03_std_private_queue_fwd [system] { header "__fwd/queue.h" }
-module std_private_ostream_basic_ostream [system] {
+module cxx03_std_private_ostream_basic_ostream [system] {
header "__ostream/basic_ostream.h"
export std_streambuf
}
-module std_private_ostream_print [system] {
+module cxx03_std_private_ostream_print [system] {
header "__ostream/print.h"
export std_print
}
-module std_private_random_bernoulli_distribution [system] { header "__random/bernoulli_distribution.h" }
-module std_private_random_binomial_distribution [system] { header "__random/binomial_distribution.h" }
-module std_private_random_cauchy_distribution [system] { header "__random/cauchy_distribution.h" }
-module std_private_random_chi_squared_distribution [system] { header "__random/chi_squared_distribution.h" }
-module std_private_random_clamp_to_integral [system] { header "__random/clamp_to_integral.h" }
-module std_private_random_default_random_engine [system] { header "__random/default_random_engine.h" }
-module std_private_random_discard_block_engine [system] { header "__random/discard_block_engine.h" }
-module std_private_random_discrete_distribution [system] {
+module cxx03_std_private_random_bernoulli_distribution [system] { header "__random/bernoulli_distribution.h" }
+module cxx03_std_private_random_binomial_distribution [system] { header "__random/binomial_distribution.h" }
+module cxx03_std_private_random_cauchy_distribution [system] { header "__random/cauchy_distribution.h" }
+module cxx03_std_private_random_chi_squared_distribution [system] { header "__random/chi_squared_distribution.h" }
+module cxx03_std_private_random_clamp_to_integral [system] { header "__random/clamp_to_integral.h" }
+module cxx03_std_private_random_default_random_engine [system] { header "__random/default_random_engine.h" }
+module cxx03_std_private_random_discard_block_engine [system] { header "__random/discard_block_engine.h" }
+module cxx03_std_private_random_discrete_distribution [system] {
header "__random/discrete_distribution.h"
export *
}
-module std_private_random_exponential_distribution [system] { header "__random/exponential_distribution.h" }
-module std_private_random_extreme_value_distribution [system] { header "__random/extreme_value_distribution.h" }
-module std_private_random_fisher_f_distribution [system] { header "__random/fisher_f_distribution.h" }
-module std_private_random_gamma_distribution [system] { header "__random/gamma_distribution.h" }
-module std_private_random_generate_canonical [system] { header "__random/generate_canonical.h" }
-module std_private_random_geometric_distribution [system] { header "__random/geometric_distribution.h" }
-module std_private_random_independent_bits_engine [system] { header "__random/independent_bits_engine.h" }
-module std_private_random_is_seed_sequence [system] { header "__random/is_seed_sequence.h" }
-module std_private_random_is_valid [system] { header "__random/is_valid.h" }
-module std_private_random_knuth_b [system] { header "__random/knuth_b.h" }
-module std_private_random_linear_congruential_engine [system] { header "__random/linear_congruential_engine.h" }
-module std_private_random_log2 [system] { header "__random/log2.h" }
-module std_private_random_lognormal_distribution [system] { header "__random/lognormal_distribution.h" }
-module std_private_random_mersenne_twister_engine [system] { header "__random/mersenne_twister_engine.h" }
-module std_private_random_negative_binomial_distribution [system] { header "__random/negative_binomial_distribution.h" }
-module std_private_random_normal_distribution [system] { header "__random/normal_distribution.h" }
-module std_private_random_piecewise_constant_distribution [system] {
+module cxx03_std_private_random_exponential_distribution [system] { header "__random/exponential_distribution.h" }
+module cxx03_std_private_random_extreme_value_distribution [system] { header "__random/extreme_value_distribution.h" }
+module cxx03_std_private_random_fisher_f_distribution [system] { header "__random/fisher_f_distribution.h" }
+module cxx03_std_private_random_gamma_distribution [system] { header "__random/gamma_distribution.h" }
+module cxx03_std_private_random_generate_canonical [system] { header "__random/generate_canonical.h" }
+module cxx03_std_private_random_geometric_distribution [system] { header "__random/geometric_distribution.h" }
+module cxx03_std_private_random_independent_bits_engine [system] { header "__random/independent_bits_engine.h" }
+module cxx03_std_private_random_is_seed_sequence [system] { header "__random/is_seed_sequence.h" }
+module cxx03_std_private_random_is_valid [system] { header "__random/is_valid.h" }
+module cxx03_std_private_random_knuth_b [system] { header "__random/knuth_b.h" }
+module cxx03_std_private_random_linear_congruential_engine [system] { header "__random/linear_congruential_engine.h" }
+module cxx03_std_private_random_log2 [system] { header "__random/log2.h" }
+module cxx03_std_private_random_lognormal_distribution [system] { header "__random/lognormal_distribution.h" }
+module cxx03_std_private_random_mersenne_twister_engine [system] { header "__random/mersenne_twister_engine.h" }
+module cxx03_std_private_random_negative_binomial_distribution [system] { header "__random/negative_binomial_distribution.h" }
+module cxx03_std_private_random_normal_distribution [system] { header "__random/normal_distribution.h" }
+module cxx03_std_private_random_piecewise_constant_distribution [system] {
header "__random/piecewise_constant_distribution.h"
export *
}
-module std_private_random_piecewise_linear_distribution [system] {
+module cxx03_std_private_random_piecewise_linear_distribution [system] {
header "__random/piecewise_linear_distribution.h"
export *
}
-module std_private_random_poisson_distribution [system] { header "__random/poisson_distribution.h" }
-module std_private_random_random_device [system] {
+module cxx03_std_private_random_poisson_distribution [system] { header "__random/poisson_distribution.h" }
+module cxx03_std_private_random_random_device [system] {
header "__random/random_device.h"
export *
}
-module std_private_random_ranlux [system] { header "__random/ranlux.h" }
-module std_private_random_seed_seq [system] {
+module cxx03_std_private_random_ranlux [system] { header "__random/ranlux.h" }
+module cxx03_std_private_random_seed_seq [system] {
header "__random/seed_seq.h"
export *
}
-module std_private_random_shuffle_order_engine [system] { header "__random/shuffle_order_engine.h" }
-module std_private_random_student_t_distribution [system] { header "__random/student_t_distribution.h" }
-module std_private_random_subtract_with_carry_engine [system] { header "__random/subtract_with_carry_engine.h" }
-module std_private_random_uniform_int_distribution [system] { header "__random/uniform_int_distribution.h" }
-module std_private_random_uniform_random_bit_generator [system] { header "__random/uniform_random_bit_generator.h" }
-module std_private_random_uniform_real_distribution [system] { header "__random/uniform_real_distribution.h" }
-module std_private_random_weibull_distribution [system] { header "__random/weibull_distribution.h" }
+module cxx03_std_private_random_shuffle_order_engine [system] { header "__random/shuffle_order_engine.h" }
+module cxx03_std_private_random_student_t_distribution [system] { header "__random/student_t_distribution.h" }
+module cxx03_std_private_random_subtract_with_carry_engine [system] { header "__random/subtract_with_carry_engine.h" }
+module cxx03_std_private_random_uniform_int_distribution [system] { header "__random/uniform_int_distribution.h" }
+module cxx03_std_private_random_uniform_random_bit_generator [system] { header "__random/uniform_random_bit_generator.h" }
+module cxx03_std_private_random_uniform_real_distribution [system] { header "__random/uniform_real_distribution.h" }
+module cxx03_std_private_random_weibull_distribution [system] { header "__random/weibull_distribution.h" }
-module std_private_ranges_access [system] { header "__ranges/access.h" }
-module std_private_ranges_all [system] {
+module cxx03_std_private_ranges_access [system] { header "__ranges/access.h" }
+module cxx03_std_private_ranges_all [system] {
header "__ranges/all.h"
export std_private_functional_compose
export std_private_functional_perfect_forward
export std_private_ranges_owning_view
}
-module std_private_ranges_as_rvalue_view [system] { header "__ranges/as_rvalue_view.h" }
-module std_private_ranges_chunk_by_view [system] { header "__ranges/chunk_by_view.h" }
-module std_private_ranges_common_view [system] { header "__ranges/common_view.h" }
-module std_private_ranges_concepts [system] {
+module cxx03_std_private_ranges_as_rvalue_view [system] { header "__ranges/as_rvalue_view.h" }
+module cxx03_std_private_ranges_chunk_by_view [system] { header "__ranges/chunk_by_view.h" }
+module cxx03_std_private_ranges_common_view [system] { header "__ranges/common_view.h" }
+module cxx03_std_private_ranges_concepts [system] {
header "__ranges/concepts.h"
export std_private_iterator_concepts
}
-module std_private_ranges_container_compatible_range [system] { header "__ranges/container_compatible_range.h" }
-module std_private_ranges_counted [system] {
+module cxx03_std_private_ranges_container_compatible_range [system] { header "__ranges/container_compatible_range.h" }
+module cxx03_std_private_ranges_counted [system] {
header "__ranges/counted.h"
export std_span
}
-module std_private_ranges_dangling [system] { header "__ranges/dangling.h" }
-module std_private_ranges_data [system] { header "__ranges/data.h" }
-module std_private_ranges_drop_view [system] { header "__ranges/drop_view.h" }
-module std_private_ranges_drop_while_view [system] { header "__ranges/drop_while_view.h" }
-module std_private_ranges_elements_view [system] { header "__ranges/elements_view.h" }
-module std_private_ranges_empty [system] { header "__ranges/empty.h" }
-module std_private_ranges_empty_view [system] { header "__ranges/empty_view.h" }
-module std_private_ranges_enable_borrowed_range [system] { header "__ranges/enable_borrowed_range.h" }
-module std_private_ranges_enable_view [system] { header "__ranges/enable_view.h" }
-module std_private_ranges_filter_view [system] {
+module cxx03_std_private_ranges_dangling [system] { header "__ranges/dangling.h" }
+module cxx03_std_private_ranges_data [system] { header "__ranges/data.h" }
+module cxx03_std_private_ranges_drop_view [system] { header "__ranges/drop_view.h" }
+module cxx03_std_private_ranges_drop_while_view [system] { header "__ranges/drop_while_view.h" }
+module cxx03_std_private_ranges_elements_view [system] { header "__ranges/elements_view.h" }
+module cxx03_std_private_ranges_empty [system] { header "__ranges/empty.h" }
+module cxx03_std_private_ranges_empty_view [system] { header "__ranges/empty_view.h" }
+module cxx03_std_private_ranges_enable_borrowed_range [system] { header "__ranges/enable_borrowed_range.h" }
+module cxx03_std_private_ranges_enable_view [system] { header "__ranges/enable_view.h" }
+module cxx03_std_private_ranges_filter_view [system] {
header "__ranges/filter_view.h"
export std_private_ranges_range_adaptor
}
-module std_private_ranges_from_range [system] { header "__ranges/from_range.h" }
-module std_private_ranges_iota_view [system] { header "__ranges/iota_view.h" }
-module std_private_ranges_istream_view [system] {
+module cxx03_std_private_ranges_from_range [system] { header "__ranges/from_range.h" }
+module cxx03_std_private_ranges_iota_view [system] { header "__ranges/iota_view.h" }
+module cxx03_std_private_ranges_istream_view [system] {
header "__ranges/istream_view.h"
}
-module std_private_ranges_join_view [system] {
+module cxx03_std_private_ranges_join_view [system] {
header "__ranges/join_view.h"
export std_private_iterator_iterator_with_data
export std_private_iterator_segmented_iterator
}
-module std_private_ranges_lazy_split_view [system] {
+module cxx03_std_private_ranges_lazy_split_view [system] {
header "__ranges/lazy_split_view.h"
export std_private_ranges_non_propagating_cache
}
-module std_private_ranges_movable_box [system] { header "__ranges/movable_box.h" }
-module std_private_ranges_non_propagating_cache [system] { header "__ranges/non_propagating_cache.h" }
-module std_private_ranges_owning_view [system] { header "__ranges/owning_view.h" }
-module std_private_ranges_range_adaptor [system] { header "__ranges/range_adaptor.h" }
-module std_private_ranges_rbegin [system] { header "__ranges/rbegin.h" }
-module std_private_ranges_ref_view [system] { header "__ranges/ref_view.h" }
-module std_private_ranges_rend [system] { header "__ranges/rend.h" }
-module std_private_ranges_repeat_view [system] { header "__ranges/repeat_view.h" }
-module std_private_ranges_reverse_view [system] { header "__ranges/reverse_view.h" }
-module std_private_ranges_single_view [system] { header "__ranges/single_view.h" }
-module std_private_ranges_size [system] {
+module cxx03_std_private_ranges_movable_box [system] { header "__ranges/movable_box.h" }
+module cxx03_std_private_ranges_non_propagating_cache [system] { header "__ranges/non_propagating_cache.h" }
+module cxx03_std_private_ranges_owning_view [system] { header "__ranges/owning_view.h" }
+module cxx03_std_private_ranges_range_adaptor [system] { header "__ranges/range_adaptor.h" }
+module cxx03_std_private_ranges_rbegin [system] { header "__ranges/rbegin.h" }
+module cxx03_std_private_ranges_ref_view [system] { header "__ranges/ref_view.h" }
+module cxx03_std_private_ranges_rend [system] { header "__ranges/rend.h" }
+module cxx03_std_private_ranges_repeat_view [system] { header "__ranges/repeat_view.h" }
+module cxx03_std_private_ranges_reverse_view [system] { header "__ranges/reverse_view.h" }
+module cxx03_std_private_ranges_single_view [system] { header "__ranges/single_view.h" }
+module cxx03_std_private_ranges_size [system] {
header "__ranges/size.h"
export std_private_type_traits_make_unsigned
}
-module std_private_ranges_split_view [system] { header "__ranges/split_view.h" }
-module std_private_ranges_subrange [system] {
+module cxx03_std_private_ranges_split_view [system] { header "__ranges/split_view.h" }
+module cxx03_std_private_ranges_subrange [system] {
header "__ranges/subrange.h"
export std_private_ranges_subrange_fwd
}
-module std_private_ranges_subrange_fwd [system] {
+module cxx03_std_private_ranges_subrange_fwd [system] {
header "__fwd/subrange.h"
export std_private_iterator_concepts
}
-module std_private_ranges_take_view [system] { header "__ranges/take_view.h" }
-module std_private_ranges_take_while_view [system] { header "__ranges/take_while_view.h" }
-module std_private_ranges_to [system] { header "__ranges/to.h" }
-module std_private_ranges_transform_view [system] {
+module cxx03_std_private_ranges_take_view [system] { header "__ranges/take_view.h" }
+module cxx03_std_private_ranges_take_while_view [system] { header "__ranges/take_while_view.h" }
+module cxx03_std_private_ranges_to [system] { header "__ranges/to.h" }
+module cxx03_std_private_ranges_transform_view [system] {
header "__ranges/transform_view.h"
export std_private_functional_bind_back
export std_private_functional_perfect_forward
export std_private_ranges_movable_box
}
-module std_private_ranges_view_interface [system] { header "__ranges/view_interface.h" }
-module std_private_ranges_views [system] { header "__ranges/views.h" }
-module std_private_ranges_zip_view [system] {
+module cxx03_std_private_ranges_view_interface [system] { header "__ranges/view_interface.h" }
+module cxx03_std_private_ranges_views [system] { header "__ranges/views.h" }
+module cxx03_std_private_ranges_zip_view [system] {
header "__ranges/zip_view.h"
export std_private_utility_pair
}
-module std_private_span_span_fwd [system] { header "__fwd/span.h" }
+module cxx03_std_private_span_span_fwd [system] { header "__fwd/span.h" }
-module std_private_stack_fwd [system] { header "__fwd/stack.h" }
+module cxx03_std_private_stack_fwd [system] { header "__fwd/stack.h" }
-module std_private_stop_token_atomic_unique_lock [system] { header "__stop_token/atomic_unique_lock.h" }
-module std_private_stop_token_intrusive_list_view [system] { header "__stop_token/intrusive_list_view.h" }
-module std_private_stop_token_intrusive_shared_ptr [system] { header "__stop_token/intrusive_shared_ptr.h" }
-module std_private_stop_token_stop_callback [system] { header "__stop_token/stop_callback.h" }
-module std_private_stop_token_stop_source [system] {
+module cxx03_std_private_stop_token_atomic_unique_lock [system] { header "__stop_token/atomic_unique_lock.h" }
+module cxx03_std_private_stop_token_intrusive_list_view [system] { header "__stop_token/intrusive_list_view.h" }
+module cxx03_std_private_stop_token_intrusive_shared_ptr [system] { header "__stop_token/intrusive_shared_ptr.h" }
+module cxx03_std_private_stop_token_stop_callback [system] { header "__stop_token/stop_callback.h" }
+module cxx03_std_private_stop_token_stop_source [system] {
header "__stop_token/stop_source.h"
export *
}
-module std_private_stop_token_stop_state [system] {
+module cxx03_std_private_stop_token_stop_state [system] {
header "__stop_token/stop_state.h"
export *
}
-module std_private_stop_token_stop_token [system] {
+module cxx03_std_private_stop_token_stop_token [system] {
header "__stop_token/stop_token.h"
export *
}
-module std_private_string_char_traits [system] {
+module cxx03_std_private_string_char_traits [system] {
header "__string/char_traits.h"
export *
}
-module std_private_string_constexpr_c_functions [system] {
+module cxx03_std_private_string_constexpr_c_functions [system] {
header "__string/constexpr_c_functions.h"
export std_private_type_traits_is_equality_comparable
}
-module std_private_string_extern_template_lists [system] { header "__string/extern_template_lists.h" }
-module std_private_string_string_fwd [system] { header "__fwd/string.h" }
+module cxx03_std_private_string_extern_template_lists [system] { header "__string/extern_template_lists.h" }
+module cxx03_std_private_string_string_fwd [system] { header "__fwd/string.h" }
-module std_private_string_view_string_view_fwd [system] { header "__fwd/string_view.h" }
+module cxx03_std_private_string_view_string_view_fwd [system] { header "__fwd/string_view.h" }
-module std_private_system_error_errc [system] { header "__system_error/errc.h" }
-module std_private_system_error_error_category [system] { header "__system_error/error_category.h" }
-module std_private_system_error_error_code [system] {
+module cxx03_std_private_system_error_errc [system] { header "__system_error/errc.h" }
+module cxx03_std_private_system_error_error_category [system] { header "__system_error/error_category.h" }
+module cxx03_std_private_system_error_error_code [system] {
header "__system_error/error_code.h"
export std_private_functional_hash
export std_private_functional_unary_function
}
-module std_private_system_error_error_condition [system] {
+module cxx03_std_private_system_error_error_condition [system] {
header "__system_error/error_condition.h"
export std_private_functional_hash
export std_private_functional_unary_function
}
-module std_private_system_error_system_error [system] { header "__system_error/system_error.h" }
+module cxx03_std_private_system_error_system_error [system] { header "__system_error/system_error.h" }
-module std_private_thread_formatter [system] { header "__thread/formatter.h" }
-module std_private_thread_id [system] { header "__thread/id.h" }
-module std_private_thread_jthread [system] {
+module cxx03_std_private_thread_formatter [system] { header "__thread/formatter.h" }
+module cxx03_std_private_thread_id [system] { header "__thread/id.h" }
+module cxx03_std_private_thread_jthread [system] {
header "__thread/jthread.h"
export *
}
-module std_private_thread_poll_with_backoff [system] { header "__thread/poll_with_backoff.h" }
-module std_private_thread_support [system] {
+module cxx03_std_private_thread_poll_with_backoff [system] { header "__thread/poll_with_backoff.h" }
+module cxx03_std_private_thread_support [system] {
header "__thread/support.h"
export *
}
-module std_private_thread_support_c11 [system] { textual header "__thread/support/c11.h" }
-module std_private_thread_support_external [system] { textual header "__thread/support/external.h" }
-module std_private_thread_support_pthread [system] { textual header "__thread/support/pthread.h" }
-module std_private_thread_support_windows [system] { textual header "__thread/support/windows.h" }
-module std_private_thread_this_thread [system] { header "__thread/this_thread.h" }
-module std_private_thread_thread [system] {
+module cxx03_std_private_thread_support_c11 [system] { textual header "__thread/support/c11.h" }
+module cxx03_std_private_thread_support_external [system] { textual header "__thread/support/external.h" }
+module cxx03_std_private_thread_support_pthread [system] { textual header "__thread/support/pthread.h" }
+module cxx03_std_private_thread_support_windows [system] { textual header "__thread/support/windows.h" }
+module cxx03_std_private_thread_this_thread [system] { header "__thread/this_thread.h" }
+module cxx03_std_private_thread_thread [system] {
header "__thread/thread.h"
export *
}
-module std_private_thread_timed_backoff_policy [system] { header "__thread/timed_backoff_policy.h" }
+module cxx03_std_private_thread_timed_backoff_policy [system] { header "__thread/timed_backoff_policy.h" }
-module std_private_tuple_find_index [system] { header "__tuple/find_index.h" }
-module std_private_tuple_ignore [system] { header "__tuple/ignore.h" }
-module std_private_tuple_make_tuple_types [system] { header "__tuple/make_tuple_types.h" }
-module std_private_tuple_tuple_like_no_subrange [system] {
+module cxx03_std_private_tuple_find_index [system] { header "__tuple/find_index.h" }
+module cxx03_std_private_tuple_ignore [system] { header "__tuple/ignore.h" }
+module cxx03_std_private_tuple_make_tuple_types [system] { header "__tuple/make_tuple_types.h" }
+module cxx03_std_private_tuple_tuple_like_no_subrange [system] {
header "__tuple/tuple_like_no_subrange.h"
}
-module std_private_tuple_sfinae_helpers [system] { header "__tuple/sfinae_helpers.h" }
-module std_private_tuple_tuple_element [system] { header "__tuple/tuple_element.h" }
-module std_private_tuple_tuple_fwd [system] { header "__fwd/tuple.h" }
-module std_private_tuple_tuple_indices [system] { header "__tuple/tuple_indices.h" }
-module std_private_tuple_tuple_like [system] {
+module cxx03_std_private_tuple_sfinae_helpers [system] { header "__tuple/sfinae_helpers.h" }
+module cxx03_std_private_tuple_tuple_element [system] { header "__tuple/tuple_element.h" }
+module cxx03_std_private_tuple_tuple_fwd [system] { header "__fwd/tuple.h" }
+module cxx03_std_private_tuple_tuple_indices [system] { header "__tuple/tuple_indices.h" }
+module cxx03_std_private_tuple_tuple_like [system] {
header "__tuple/tuple_like.h"
export *
}
-module std_private_tuple_tuple_like_ext [system] { header "__tuple/tuple_like_ext.h" }
-module std_private_tuple_tuple_size [system] { header "__tuple/tuple_size.h" }
-module std_private_tuple_tuple_types [system] { header "__tuple/tuple_types.h" }
+module cxx03_std_private_tuple_tuple_like_ext [system] { header "__tuple/tuple_like_ext.h" }
+module cxx03_std_private_tuple_tuple_size [system] { header "__tuple/tuple_size.h" }
+module cxx03_std_private_tuple_tuple_types [system] { header "__tuple/tuple_types.h" }
-module std_private_type_traits_add_const [system] { header "__type_traits/add_const.h" }
-module std_private_type_traits_add_cv [system] { header "__type_traits/add_cv.h" }
-module std_private_type_traits_add_lvalue_reference [system] {
+module cxx03_std_private_type_traits_add_const [system] { header "__type_traits/add_const.h" }
+module cxx03_std_private_type_traits_add_cv [system] { header "__type_traits/add_cv.h" }
+module cxx03_std_private_type_traits_add_lvalue_reference [system] {
header "__type_traits/add_lvalue_reference.h"
export std_private_type_traits_is_referenceable
}
-module std_private_type_traits_add_pointer [system] { header "__type_traits/add_pointer.h" }
-module std_private_type_traits_add_rvalue_reference [system] { header "__type_traits/add_rvalue_reference.h" }
-module std_private_type_traits_add_volatile [system] { header "__type_traits/add_volatile.h" }
-module std_private_type_traits_aligned_storage [system] { header "__type_traits/aligned_storage.h" }
-module std_private_type_traits_aligned_union [system] { header "__type_traits/aligned_union.h" }
-module std_private_type_traits_alignment_of [system] { header "__type_traits/alignment_of.h" }
-module std_private_type_traits_can_extract_key [system] { header "__type_traits/can_extract_key.h" }
-module std_private_type_traits_common_reference [system] {
+module cxx03_std_private_type_traits_add_pointer [system] { header "__type_traits/add_pointer.h" }
+module cxx03_std_private_type_traits_add_rvalue_reference [system] { header "__type_traits/add_rvalue_reference.h" }
+module cxx03_std_private_type_traits_add_volatile [system] { header "__type_traits/add_volatile.h" }
+module cxx03_std_private_type_traits_aligned_storage [system] { header "__type_traits/aligned_storage.h" }
+module cxx03_std_private_type_traits_aligned_union [system] { header "__type_traits/aligned_union.h" }
+module cxx03_std_private_type_traits_alignment_of [system] { header "__type_traits/alignment_of.h" }
+module cxx03_std_private_type_traits_can_extract_key [system] { header "__type_traits/can_extract_key.h" }
+module cxx03_std_private_type_traits_common_reference [system] {
header "__type_traits/common_reference.h"
export std_private_type_traits_remove_cvref
}
-module std_private_type_traits_common_type [system] {
+module cxx03_std_private_type_traits_common_type [system] {
header "__type_traits/common_type.h"
export std_private_utility_declval
}
-module std_private_type_traits_conditional [system] { header "__type_traits/conditional.h" }
-module std_private_type_traits_conjunction [system] { header "__type_traits/conjunction.h" }
-module std_private_type_traits_copy_cv [system] { header "__type_traits/copy_cv.h" }
-module std_private_type_traits_copy_cvref [system] { header "__type_traits/copy_cvref.h" }
-module std_private_type_traits_datasizeof [system] { header "__type_traits/datasizeof.h" }
-module std_private_type_traits_decay [system] {
+module cxx03_std_private_type_traits_conditional [system] { header "__type_traits/conditional.h" }
+module cxx03_std_private_type_traits_conjunction [system] { header "__type_traits/conjunction.h" }
+module cxx03_std_private_type_traits_copy_cv [system] { header "__type_traits/copy_cv.h" }
+module cxx03_std_private_type_traits_copy_cvref [system] { header "__type_traits/copy_cvref.h" }
+module cxx03_std_private_type_traits_datasizeof [system] { header "__type_traits/datasizeof.h" }
+module cxx03_std_private_type_traits_decay [system] {
header "__type_traits/decay.h"
export std_private_type_traits_add_pointer
}
-module std_private_type_traits_dependent_type [system] { header "__type_traits/dependent_type.h" }
-module std_private_type_traits_desugars_to [system] { header "__type_traits/desugars_to.h" }
-module std_private_type_traits_disjunction [system] { header "__type_traits/disjunction.h" }
-module std_private_type_traits_enable_if [system] { header "__type_traits/enable_if.h" }
-module std_private_type_traits_extent [system] { header "__type_traits/extent.h" }
-module std_private_type_traits_has_unique_object_representation [system] { header "__type_traits/has_unique_object_representation.h" }
-module std_private_type_traits_has_virtual_destructor [system] { header "__type_traits/has_virtual_destructor.h" }
-module std_private_type_traits_integral_constant [system] { header "__type_traits/integral_constant.h" }
-module std_private_type_traits_invoke [system] {
+module cxx03_std_private_type_traits_dependent_type [system] { header "__type_traits/dependent_type.h" }
+module cxx03_std_private_type_traits_desugars_to [system] { header "__type_traits/desugars_to.h" }
+module cxx03_std_private_type_traits_disjunction [system] { header "__type_traits/disjunction.h" }
+module cxx03_std_private_type_traits_enable_if [system] { header "__type_traits/enable_if.h" }
+module cxx03_std_private_type_traits_extent [system] { header "__type_traits/extent.h" }
+module cxx03_std_private_type_traits_has_unique_object_representation [system] { header "__type_traits/has_unique_object_representation.h" }
+module cxx03_std_private_type_traits_has_virtual_destructor [system] { header "__type_traits/has_virtual_destructor.h" }
+module cxx03_std_private_type_traits_integral_constant [system] { header "__type_traits/integral_constant.h" }
+module cxx03_std_private_type_traits_invoke [system] {
header "__type_traits/invoke.h"
export std_private_type_traits_conditional
export std_private_type_traits_decay
@@ -1917,194 +1917,194 @@ module std_private_type_traits_invoke [system
export std_private_type_traits_nat
export std_private_type_traits_remove_cv
}
-module std_private_type_traits_is_abstract [system] { header "__type_traits/is_abstract.h" }
-module std_private_type_traits_is_aggregate [system] { header "__type_traits/is_aggregate.h" }
-module std_private_type_traits_is_allocator [system] { header "__type_traits/is_allocator.h" }
-module std_private_type_traits_is_always_bitcastable [system] { header "__type_traits/is_always_bitcastable.h" }
-module std_private_type_traits_is_arithmetic [system] {
+module cxx03_std_private_type_traits_is_abstract [system] { header "__type_traits/is_abstract.h" }
+module cxx03_std_private_type_traits_is_aggregate [system] { header "__type_traits/is_aggregate.h" }
+module cxx03_std_private_type_traits_is_allocator [system] { header "__type_traits/is_allocator.h" }
+module cxx03_std_private_type_traits_is_always_bitcastable [system] { header "__type_traits/is_always_bitcastable.h" }
+module cxx03_std_private_type_traits_is_arithmetic [system] {
header "__type_traits/is_arithmetic.h"
export std_private_type_traits_integral_constant
}
-module std_private_type_traits_is_array [system] {
+module cxx03_std_private_type_traits_is_array [system] {
header "__type_traits/is_array.h"
export std_private_type_traits_integral_constant
}
-module std_private_type_traits_is_assignable [system] { header "__type_traits/is_assignable.h" }
-module std_private_type_traits_is_base_of [system] { header "__type_traits/is_base_of.h" }
-module std_private_type_traits_is_bounded_array [system] { header "__type_traits/is_bounded_array.h" }
-module std_private_type_traits_is_callable [system] {
+module cxx03_std_private_type_traits_is_assignable [system] { header "__type_traits/is_assignable.h" }
+module cxx03_std_private_type_traits_is_base_of [system] { header "__type_traits/is_base_of.h" }
+module cxx03_std_private_type_traits_is_bounded_array [system] { header "__type_traits/is_bounded_array.h" }
+module cxx03_std_private_type_traits_is_callable [system] {
header "__type_traits/is_callable.h"
export std_private_type_traits_integral_constant
}
-module std_private_type_traits_is_char_like_type [system] { header "__type_traits/is_char_like_type.h" }
-module std_private_type_traits_is_class [system] { header "__type_traits/is_class.h" }
-module std_private_type_traits_is_compound [system] { header "__type_traits/is_compound.h" }
-module std_private_type_traits_is_const [system] { header "__type_traits/is_const.h" }
-module std_private_type_traits_is_constant_evaluated [system] { header "__type_traits/is_constant_evaluated.h" }
-module std_private_type_traits_is_constructible [system] { header "__type_traits/is_constructible.h" }
-module std_private_type_traits_is_convertible [system] {
+module cxx03_std_private_type_traits_is_char_like_type [system] { header "__type_traits/is_char_like_type.h" }
+module cxx03_std_private_type_traits_is_class [system] { header "__type_traits/is_class.h" }
+module cxx03_std_private_type_traits_is_compound [system] { header "__type_traits/is_compound.h" }
+module cxx03_std_private_type_traits_is_const [system] { header "__type_traits/is_const.h" }
+module cxx03_std_private_type_traits_is_constant_evaluated [system] { header "__type_traits/is_constant_evaluated.h" }
+module cxx03_std_private_type_traits_is_constructible [system] { header "__type_traits/is_constructible.h" }
+module cxx03_std_private_type_traits_is_convertible [system] {
header "__type_traits/is_convertible.h"
export std_private_type_traits_is_array
}
-module std_private_type_traits_is_copy_assignable [system] { header "__type_traits/is_copy_assignable.h" }
-module std_private_type_traits_is_copy_constructible [system] { header "__type_traits/is_copy_constructible.h" }
-module std_private_type_traits_is_core_convertible [system] {
+module cxx03_std_private_type_traits_is_copy_assignable [system] { header "__type_traits/is_copy_assignable.h" }
+module cxx03_std_private_type_traits_is_copy_constructible [system] { header "__type_traits/is_copy_constructible.h" }
+module cxx03_std_private_type_traits_is_core_convertible [system] {
header "__type_traits/is_core_convertible.h"
export std_private_type_traits_integral_constant
}
-module std_private_type_traits_is_destructible [system] { header "__type_traits/is_destructible.h" }
-module std_private_type_traits_is_empty [system] { header "__type_traits/is_empty.h" }
-module std_private_type_traits_is_enum [system] {
+module cxx03_std_private_type_traits_is_destructible [system] { header "__type_traits/is_destructible.h" }
+module cxx03_std_private_type_traits_is_empty [system] { header "__type_traits/is_empty.h" }
+module cxx03_std_private_type_traits_is_enum [system] {
header "__type_traits/is_enum.h"
export std_private_type_traits_integral_constant
}
-module std_private_type_traits_is_equality_comparable [system] {
+module cxx03_std_private_type_traits_is_equality_comparable [system] {
header "__type_traits/is_equality_comparable.h"
export std_private_type_traits_integral_constant
}
-module std_private_type_traits_is_execution_policy [system] {
+module cxx03_std_private_type_traits_is_execution_policy [system] {
header "__type_traits/is_execution_policy.h"
export std_private_type_traits_remove_cvref
}
-module std_private_type_traits_is_final [system] { header "__type_traits/is_final.h" }
-module std_private_type_traits_is_floating_point [system] { header "__type_traits/is_floating_point.h" }
-module std_private_type_traits_is_function [system] { header "__type_traits/is_function.h" }
-module std_private_type_traits_is_fundamental [system] { header "__type_traits/is_fundamental.h" }
-module std_private_type_traits_is_implicitly_default_constructible [system] {
+module cxx03_std_private_type_traits_is_final [system] { header "__type_traits/is_final.h" }
+module cxx03_std_private_type_traits_is_floating_point [system] { header "__type_traits/is_floating_point.h" }
+module cxx03_std_private_type_traits_is_function [system] { header "__type_traits/is_function.h" }
+module cxx03_std_private_type_traits_is_fundamental [system] { header "__type_traits/is_fundamental.h" }
+module cxx03_std_private_type_traits_is_implicitly_default_constructible [system] {
header "__type_traits/is_implicitly_default_constructible.h"
export std_private_type_traits_integral_constant
}
-module std_private_type_traits_is_integral [system] { header "__type_traits/is_integral.h" }
-module std_private_type_traits_is_literal_type [system] { header "__type_traits/is_literal_type.h" }
-module std_private_type_traits_is_member_pointer [system] { header "__type_traits/is_member_pointer.h" }
-module std_private_type_traits_is_nothrow_assignable [system] { header "__type_traits/is_nothrow_assignable.h" }
-module std_private_type_traits_is_nothrow_constructible [system] {
+module cxx03_std_private_type_traits_is_integral [system] { header "__type_traits/is_integral.h" }
+module cxx03_std_private_type_traits_is_literal_type [system] { header "__type_traits/is_literal_type.h" }
+module cxx03_std_private_type_traits_is_member_pointer [system] { header "__type_traits/is_member_pointer.h" }
+module cxx03_std_private_type_traits_is_nothrow_assignable [system] { header "__type_traits/is_nothrow_assignable.h" }
+module cxx03_std_private_type_traits_is_nothrow_constructible [system] {
header "__type_traits/is_nothrow_constructible.h"
export std_private_type_traits_integral_constant
}
-module std_private_type_traits_is_nothrow_convertible [system] { header "__type_traits/is_nothrow_convertible.h" }
-module std_private_type_traits_is_nothrow_destructible [system] {
+module cxx03_std_private_type_traits_is_nothrow_convertible [system] { header "__type_traits/is_nothrow_convertible.h" }
+module cxx03_std_private_type_traits_is_nothrow_destructible [system] {
header "__type_traits/is_nothrow_destructible.h"
export std_private_type_traits_is_destructible
}
-module std_private_type_traits_is_null_pointer [system] {
+module cxx03_std_private_type_traits_is_null_pointer [system] {
header "__type_traits/is_null_pointer.h"
export std_cstddef
}
-module std_private_type_traits_is_object [system] {
+module cxx03_std_private_type_traits_is_object [system] {
header "__type_traits/is_object.h"
export std_private_type_traits_is_scalar
}
-module std_private_type_traits_is_pod [system] { header "__type_traits/is_pod.h" }
-module std_private_type_traits_is_pointer [system] { header "__type_traits/is_pointer.h" }
-module std_private_type_traits_is_polymorphic [system] { header "__type_traits/is_polymorphic.h" }
-module std_private_type_traits_is_primary_template [system] {
+module cxx03_std_private_type_traits_is_pod [system] { header "__type_traits/is_pod.h" }
+module cxx03_std_private_type_traits_is_pointer [system] { header "__type_traits/is_pointer.h" }
+module cxx03_std_private_type_traits_is_polymorphic [system] { header "__type_traits/is_polymorphic.h" }
+module cxx03_std_private_type_traits_is_primary_template [system] {
header "__type_traits/is_primary_template.h"
export std_private_type_traits_enable_if
}
-module std_private_type_traits_is_reference [system] { header "__type_traits/is_reference.h" }
-module std_private_type_traits_is_reference_wrapper [system] { header "__type_traits/is_reference_wrapper.h" }
-module std_private_type_traits_is_referenceable [system] { header "__type_traits/is_referenceable.h" }
-module std_private_type_traits_is_same [system] {
+module cxx03_std_private_type_traits_is_reference [system] { header "__type_traits/is_reference.h" }
+module cxx03_std_private_type_traits_is_reference_wrapper [system] { header "__type_traits/is_reference_wrapper.h" }
+module cxx03_std_private_type_traits_is_referenceable [system] { header "__type_traits/is_referenceable.h" }
+module cxx03_std_private_type_traits_is_same [system] {
header "__type_traits/is_same.h"
export std_private_type_traits_integral_constant
}
-module std_private_type_traits_is_scalar [system] {
+module cxx03_std_private_type_traits_is_scalar [system] {
header "__type_traits/is_scalar.h"
export std_private_type_traits_is_null_pointer
}
-module std_private_type_traits_is_signed [system] { header "__type_traits/is_signed.h" }
-module std_private_type_traits_is_signed_integer [system] { header "__type_traits/is_signed_integer.h" }
-module std_private_type_traits_is_specialization [system] { header "__type_traits/is_specialization.h" }
-module std_private_type_traits_is_standard_layout [system] { header "__type_traits/is_standard_layout.h" }
-module std_private_type_traits_is_swappable [system] {
+module cxx03_std_private_type_traits_is_signed [system] { header "__type_traits/is_signed.h" }
+module cxx03_std_private_type_traits_is_signed_integer [system] { header "__type_traits/is_signed_integer.h" }
+module cxx03_std_private_type_traits_is_specialization [system] { header "__type_traits/is_specialization.h" }
+module cxx03_std_private_type_traits_is_standard_layout [system] { header "__type_traits/is_standard_layout.h" }
+module cxx03_std_private_type_traits_is_swappable [system] {
header "__type_traits/is_swappable.h"
export std_private_type_traits_is_move_constructible
}
-module std_private_type_traits_is_trivial [system] { header "__type_traits/is_trivial.h" }
-module std_private_type_traits_is_trivially_assignable [system] { header "__type_traits/is_trivially_assignable.h" }
-module std_private_type_traits_is_trivially_constructible [system] { header "__type_traits/is_trivially_constructible.h" }
-module std_private_type_traits_is_trivially_copyable [system] { header "__type_traits/is_trivially_copyable.h" }
-module std_private_type_traits_is_trivially_destructible [system] { header "__type_traits/is_trivially_destructible.h" }
-module std_private_type_traits_is_trivially_lexicographically_comparable [system] { header "__type_traits/is_trivially_lexicographically_comparable.h" }
-module std_private_type_traits_is_trivially_relocatable [system] { header "__type_traits/is_trivially_relocatable.h" }
-module std_private_type_traits_is_unbounded_array [system] { header "__type_traits/is_unbounded_array.h" }
-module std_private_type_traits_is_union [system] { header "__type_traits/is_union.h" }
-module std_private_type_traits_is_unsigned [system] { header "__type_traits/is_unsigned.h" }
-module std_private_type_traits_is_unsigned_integer [system] { header "__type_traits/is_unsigned_integer.h" }
-module std_private_type_traits_is_valid_expansion [system] { header "__type_traits/is_valid_expansion.h" }
-module std_private_type_traits_is_void [system] {
+module cxx03_std_private_type_traits_is_trivial [system] { header "__type_traits/is_trivial.h" }
+module cxx03_std_private_type_traits_is_trivially_assignable [system] { header "__type_traits/is_trivially_assignable.h" }
+module cxx03_std_private_type_traits_is_trivially_constructible [system] { header "__type_traits/is_trivially_constructible.h" }
+module cxx03_std_private_type_traits_is_trivially_copyable [system] { header "__type_traits/is_trivially_copyable.h" }
+module cxx03_std_private_type_traits_is_trivially_destructible [system] { header "__type_traits/is_trivially_destructible.h" }
+module cxx03_std_private_type_traits_is_trivially_lexicographically_comparable [system] { header "__type_traits/is_trivially_lexicographically_comparable.h" }
+module cxx03_std_private_type_traits_is_trivially_relocatable [system] { header "__type_traits/is_trivially_relocatable.h" }
+module cxx03_std_private_type_traits_is_unbounded_array [system] { header "__type_traits/is_unbounded_array.h" }
+module cxx03_std_private_type_traits_is_union [system] { header "__type_traits/is_union.h" }
+module cxx03_std_private_type_traits_is_unsigned [system] { header "__type_traits/is_unsigned.h" }
+module cxx03_std_private_type_traits_is_unsigned_integer [system] { header "__type_traits/is_unsigned_integer.h" }
+module cxx03_std_private_type_traits_is_valid_expansion [system] { header "__type_traits/is_valid_expansion.h" }
+module cxx03_std_private_type_traits_is_void [system] {
header "__type_traits/is_void.h"
export std_private_type_traits_integral_constant
}
-module std_private_type_traits_is_volatile [system] { header "__type_traits/is_volatile.h" }
-module std_private_type_traits_lazy [system] { header "__type_traits/lazy.h" }
-module std_private_type_traits_make_32_64_or_128_bit [system] { header "__type_traits/make_32_64_or_128_bit.h" }
-module std_private_type_traits_make_const_lvalue_ref [system] { header "__type_traits/make_const_lvalue_ref.h" }
-module std_private_type_traits_make_signed [system] { header "__type_traits/make_signed.h" }
-module std_private_type_traits_make_unsigned [system] {
+module cxx03_std_private_type_traits_is_volatile [system] { header "__type_traits/is_volatile.h" }
+module cxx03_std_private_type_traits_lazy [system] { header "__type_traits/lazy.h" }
+module cxx03_std_private_type_traits_make_32_64_or_128_bit [system] { header "__type_traits/make_32_64_or_128_bit.h" }
+module cxx03_std_private_type_traits_make_const_lvalue_ref [system] { header "__type_traits/make_const_lvalue_ref.h" }
+module cxx03_std_private_type_traits_make_signed [system] { header "__type_traits/make_signed.h" }
+module cxx03_std_private_type_traits_make_unsigned [system] {
header "__type_traits/make_unsigned.h"
export std_private_type_traits_is_unsigned
}
-module std_private_type_traits_maybe_const [system] { header "__type_traits/maybe_const.h" }
-module std_private_type_traits_nat [system] { header "__type_traits/nat.h" }
-module std_private_type_traits_negation [system] { header "__type_traits/negation.h" }
-module std_private_type_traits_noexcept_move_assign_container [system] { header "__type_traits/noexcept_move_assign_container.h" }
-module std_private_type_traits_promote [system] { header "__type_traits/promote.h" }
-module std_private_type_traits_rank [system] { header "__type_traits/rank.h" }
-module std_private_type_traits_remove_all_extents [system] { header "__type_traits/remove_all_extents.h" }
-module std_private_type_traits_remove_const [system] { header "__type_traits/remove_const.h" }
-module std_private_type_traits_remove_const_ref [system] { header "__type_traits/remove_const_ref.h" }
-module std_private_type_traits_remove_cv [system] {
+module cxx03_std_private_type_traits_maybe_const [system] { header "__type_traits/maybe_const.h" }
+module cxx03_std_private_type_traits_nat [system] { header "__type_traits/nat.h" }
+module cxx03_std_private_type_traits_negation [system] { header "__type_traits/negation.h" }
+module cxx03_std_private_type_traits_noexcept_move_assign_container [system] { header "__type_traits/noexcept_move_assign_container.h" }
+module cxx03_std_private_type_traits_promote [system] { header "__type_traits/promote.h" }
+module cxx03_std_private_type_traits_rank [system] { header "__type_traits/rank.h" }
+module cxx03_std_private_type_traits_remove_all_extents [system] { header "__type_traits/remove_all_extents.h" }
+module cxx03_std_private_type_traits_remove_const [system] { header "__type_traits/remove_const.h" }
+module cxx03_std_private_type_traits_remove_const_ref [system] { header "__type_traits/remove_const_ref.h" }
+module cxx03_std_private_type_traits_remove_cv [system] {
header "__type_traits/remove_cv.h"
export std_private_type_traits_remove_const
export std_private_type_traits_remove_volatile
}
-module std_private_type_traits_remove_cvref [system] { header "__type_traits/remove_cvref.h" }
-module std_private_type_traits_remove_extent [system] { header "__type_traits/remove_extent.h" }
-module std_private_type_traits_remove_pointer [system] { header "__type_traits/remove_pointer.h" }
-module std_private_type_traits_remove_reference [system] { header "__type_traits/remove_reference.h" }
-module std_private_type_traits_remove_volatile [system] { header "__type_traits/remove_volatile.h" }
-module std_private_type_traits_result_of [system] { header "__type_traits/result_of.h" }
-module std_private_type_traits_strip_signature [system] { header "__type_traits/strip_signature.h" }
-module std_private_type_traits_type_identity [system] { header "__type_traits/type_identity.h" }
-module std_private_type_traits_type_list [system] { header "__type_traits/type_list.h" }
-module std_private_type_traits_underlying_type [system] {
+module cxx03_std_private_type_traits_remove_cvref [system] { header "__type_traits/remove_cvref.h" }
+module cxx03_std_private_type_traits_remove_extent [system] { header "__type_traits/remove_extent.h" }
+module cxx03_std_private_type_traits_remove_pointer [system] { header "__type_traits/remove_pointer.h" }
+module cxx03_std_private_type_traits_remove_reference [system] { header "__type_traits/remove_reference.h" }
+module cxx03_std_private_type_traits_remove_volatile [system] { header "__type_traits/remove_volatile.h" }
+module cxx03_std_private_type_traits_result_of [system] { header "__type_traits/result_of.h" }
+module cxx03_std_private_type_traits_strip_signature [system] { header "__type_traits/strip_signature.h" }
+module cxx03_std_private_type_traits_type_identity [system] { header "__type_traits/type_identity.h" }
+module cxx03_std_private_type_traits_type_list [system] { header "__type_traits/type_list.h" }
+module cxx03_std_private_type_traits_underlying_type [system] {
header "__type_traits/underlying_type.h"
export std_private_type_traits_is_enum
}
-module std_private_type_traits_unwrap_ref [system] { header "__type_traits/unwrap_ref.h" }
-module std_private_type_traits_void_t [system] { header "__type_traits/void_t.h" }
+module cxx03_std_private_type_traits_unwrap_ref [system] { header "__type_traits/unwrap_ref.h" }
+module cxx03_std_private_type_traits_void_t [system] { header "__type_traits/void_t.h" }
-module std_private_utility_as_const [system] { header "__utility/as_const.h" }
-module std_private_utility_as_lvalue [system] { header "__utility/as_lvalue.h" }
-module std_private_utility_auto_cast [system] {
+module cxx03_std_private_utility_as_const [system] { header "__utility/as_const.h" }
+module cxx03_std_private_utility_as_lvalue [system] { header "__utility/as_lvalue.h" }
+module cxx03_std_private_utility_auto_cast [system] {
header "__utility/auto_cast.h"
export std_private_type_traits_decay
}
-module std_private_utility_cmp [system] {
+module cxx03_std_private_utility_cmp [system] {
header "__utility/cmp.h"
export std_private_type_traits_make_unsigned
}
-module std_private_utility_convert_to_integral [system] { header "__utility/convert_to_integral.h" }
-module std_private_utility_declval [system] { header "__utility/declval.h" }
-module std_private_utility_empty [system] { header "__utility/empty.h" }
-module std_private_utility_exception_guard [system] { header "__utility/exception_guard.h" }
-module std_private_utility_exchange [system] { header "__utility/exchange.h" }
-module std_private_utility_forward [system] { header "__utility/forward.h" }
-module std_private_utility_forward_like [system] { header "__utility/forward_like.h" }
-module std_private_utility_in_place [system] { header "__utility/in_place.h" }
-module std_private_utility_integer_sequence [system] { header "__utility/integer_sequence.h" }
-module std_private_utility_is_pointer_in_range [system] { header "__utility/is_pointer_in_range.h" }
-module std_private_utility_is_valid_range [system] { header "__utility/is_valid_range.h" }
-module std_private_utility_move [system] {
+module cxx03_std_private_utility_convert_to_integral [system] { header "__utility/convert_to_integral.h" }
+module cxx03_std_private_utility_declval [system] { header "__utility/declval.h" }
+module cxx03_std_private_utility_empty [system] { header "__utility/empty.h" }
+module cxx03_std_private_utility_exception_guard [system] { header "__utility/exception_guard.h" }
+module cxx03_std_private_utility_exchange [system] { header "__utility/exchange.h" }
+module cxx03_std_private_utility_forward [system] { header "__utility/forward.h" }
+module cxx03_std_private_utility_forward_like [system] { header "__utility/forward_like.h" }
+module cxx03_std_private_utility_in_place [system] { header "__utility/in_place.h" }
+module cxx03_std_private_utility_integer_sequence [system] { header "__utility/integer_sequence.h" }
+module cxx03_std_private_utility_is_pointer_in_range [system] { header "__utility/is_pointer_in_range.h" }
+module cxx03_std_private_utility_is_valid_range [system] { header "__utility/is_valid_range.h" }
+module cxx03_std_private_utility_move [system] {
header "__utility/move.h"
export std_private_type_traits_is_copy_constructible
export std_private_type_traits_is_nothrow_move_constructible
export std_private_type_traits_remove_reference
}
-module std_private_utility_no_destroy [system] { header "__utility/no_destroy.h" }
-module std_private_utility_pair [system] {
+module cxx03_std_private_utility_no_destroy [system] { header "__utility/no_destroy.h" }
+module cxx03_std_private_utility_pair [system] {
header "__utility/pair.h"
export std_private_ranges_subrange_fwd
export std_private_tuple_pair_like
@@ -2118,19 +2118,19 @@ module std_private_utility_pair [system] {
export std_private_type_traits_is_nothrow_move_assignable
export std_private_utility_pair_fwd
}
-module std_private_utility_pair_fwd [system] { header "__fwd/pair.h" }
-module std_private_utility_piecewise_construct [system] { header "__utility/piecewise_construct.h" }
-module std_private_utility_priority_tag [system] { header "__utility/priority_tag.h" }
-module std_private_utility_private_constructor_tag [system] { header "__utility/private_constructor_tag.h" }
-module std_private_utility_rel_ops [system] { header "__utility/rel_ops.h" }
-module std_private_utility_small_buffer [system] { header "__utility/small_buffer.h" }
-module std_private_utility_swap [system] {
+module cxx03_std_private_utility_pair_fwd [system] { header "__fwd/pair.h" }
+module cxx03_std_private_utility_piecewise_construct [system] { header "__utility/piecewise_construct.h" }
+module cxx03_std_private_utility_priority_tag [system] { header "__utility/priority_tag.h" }
+module cxx03_std_private_utility_private_constructor_tag [system] { header "__utility/private_constructor_tag.h" }
+module cxx03_std_private_utility_rel_ops [system] { header "__utility/rel_ops.h" }
+module cxx03_std_private_utility_small_buffer [system] { header "__utility/small_buffer.h" }
+module cxx03_std_private_utility_swap [system] {
header "__utility/swap.h"
export std_private_type_traits_is_swappable
}
-module std_private_utility_to_underlying [system] { header "__utility/to_underlying.h" }
-module std_private_utility_unreachable [system] { header "__utility/unreachable.h" }
+module cxx03_std_private_utility_to_underlying [system] { header "__utility/to_underlying.h" }
+module cxx03_std_private_utility_unreachable [system] { header "__utility/unreachable.h" }
-module std_private_variant_monostate [system] { header "__variant/monostate.h" }
+module cxx03_std_private_variant_monostate [system] { header "__variant/monostate.h" }
-module std_private_vector_fwd [system] { header "__fwd/vector.h" }
+module cxx03_std_private_vector_fwd [system] { header "__fwd/vector.h" }
diff --git a/libcxx/include/__cxx03/mutex b/libcxx/include/__cxx03/mutex
index 550d0f887dc4..a799a0b774ad 100644
--- a/libcxx/include/__cxx03/mutex
+++ b/libcxx/include/__cxx03/mutex
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_MUTEX
-#define _LIBCPP_MUTEX
+#ifndef _LIBCPP___CXX03_MUTEX
+#define _LIBCPP___CXX03_MUTEX
/*
mutex synopsis
@@ -513,4 +513,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/typeinfo>
#endif
-#endif // _LIBCPP_MUTEX
+#endif // _LIBCPP___CXX03_MUTEX
diff --git a/libcxx/include/__cxx03/new b/libcxx/include/__cxx03/new
index 7458fb083815..9a893e727b44 100644
--- a/libcxx/include/__cxx03/new
+++ b/libcxx/include/__cxx03/new
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_NEW
-#define _LIBCPP_NEW
+#ifndef _LIBCPP___CXX03_NEW
+#define _LIBCPP___CXX03_NEW
/*
new synopsis
@@ -359,4 +359,4 @@ _LIBCPP_END_NAMESPACE_STD
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_NEW
+#endif // _LIBCPP___CXX03_NEW
diff --git a/libcxx/include/__cxx03/numbers b/libcxx/include/__cxx03/numbers
index d8ca33295d55..3ef8aa232449 100644
--- a/libcxx/include/__cxx03/numbers
+++ b/libcxx/include/__cxx03/numbers
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_NUMBERS
-#define _LIBCPP_NUMBERS
+#ifndef _LIBCPP___CXX03_NUMBERS
+#define _LIBCPP___CXX03_NUMBERS
/*
numbers synopsis
@@ -161,4 +161,4 @@ _LIBCPP_END_NAMESPACE_STD
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_NUMBERS
+#endif // _LIBCPP___CXX03_NUMBERS
diff --git a/libcxx/include/__cxx03/numeric b/libcxx/include/__cxx03/numeric
index 85c756b02161..992641b8c210 100644
--- a/libcxx/include/__cxx03/numeric
+++ b/libcxx/include/__cxx03/numeric
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_NUMERIC
-#define _LIBCPP_NUMERIC
+#ifndef _LIBCPP___CXX03_NUMERIC
+#define _LIBCPP___CXX03_NUMERIC
/*
numeric synopsis
@@ -204,4 +204,4 @@ constexpr T saturate_cast(U x) noexcept; // freestanding, Sin
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_NUMERIC
+#endif // _LIBCPP___CXX03_NUMERIC
diff --git a/libcxx/include/__cxx03/optional b/libcxx/include/__cxx03/optional
index 32be4b0cd4db..e2c6fd0950c3 100644
--- a/libcxx/include/__cxx03/optional
+++ b/libcxx/include/__cxx03/optional
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_OPTIONAL
-#define _LIBCPP_OPTIONAL
+#ifndef _LIBCPP___CXX03_OPTIONAL
+#define _LIBCPP___CXX03_OPTIONAL
/*
optional synopsis
@@ -1301,4 +1301,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/variant>
#endif
-#endif // _LIBCPP_OPTIONAL
+#endif // _LIBCPP___CXX03_OPTIONAL
diff --git a/libcxx/include/__cxx03/ostream b/libcxx/include/__cxx03/ostream
index 708434803542..4400fa60ba7e 100644
--- a/libcxx/include/__cxx03/ostream
+++ b/libcxx/include/__cxx03/ostream
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_OSTREAM
-#define _LIBCPP_OSTREAM
+#ifndef _LIBCPP___CXX03_OSTREAM
+#define _LIBCPP___CXX03_OSTREAM
/*
ostream synopsis
@@ -199,4 +199,4 @@ void vprint_nonunicode(ostream& os, string_view fmt, format_args args);
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_OSTREAM
+#endif // _LIBCPP___CXX03_OSTREAM
diff --git a/libcxx/include/__cxx03/print b/libcxx/include/__cxx03/print
index bb7731abe493..02f1a6127a21 100644
--- a/libcxx/include/__cxx03/print
+++ b/libcxx/include/__cxx03/print
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_PRINT
-#define _LIBCPP_PRINT
+#ifndef _LIBCPP___CXX03_PRINT
+#define _LIBCPP___CXX03_PRINT
/*
namespace std {
@@ -399,4 +399,4 @@ _LIBCPP_HIDE_FROM_ABI inline void vprint_nonunicode(string_view __fmt, format_ar
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_PRINT
+#endif // _LIBCPP___CXX03_PRINT
diff --git a/libcxx/include/__cxx03/queue b/libcxx/include/__cxx03/queue
index 7031e4264f40..5f0189e61ee4 100644
--- a/libcxx/include/__cxx03/queue
+++ b/libcxx/include/__cxx03/queue
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_QUEUE
-#define _LIBCPP_QUEUE
+#ifndef _LIBCPP___CXX03_QUEUE
+#define _LIBCPP___CXX03_QUEUE
/*
queue synopsis
@@ -953,4 +953,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_QUEUE
+#endif // _LIBCPP___CXX03_QUEUE
diff --git a/libcxx/include/__cxx03/random b/libcxx/include/__cxx03/random
index 6c6f730fbac7..71c59edecfec 100644
--- a/libcxx/include/__cxx03/random
+++ b/libcxx/include/__cxx03/random
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_RANDOM
-#define _LIBCPP_RANDOM
+#ifndef _LIBCPP___CXX03_RANDOM
+#define _LIBCPP___CXX03_RANDOM
/*
random synopsis
@@ -1739,4 +1739,4 @@ class piecewise_linear_distribution
# include <__cxx03/vector>
#endif
-#endif // _LIBCPP_RANDOM
+#endif // _LIBCPP___CXX03_RANDOM
diff --git a/libcxx/include/__cxx03/ranges b/libcxx/include/__cxx03/ranges
index 3c3021e30d4a..a762a0c2ae75 100644
--- a/libcxx/include/__cxx03/ranges
+++ b/libcxx/include/__cxx03/ranges
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_RANGES
-#define _LIBCPP_RANGES
+#ifndef _LIBCPP___CXX03_RANGES
+#define _LIBCPP___CXX03_RANGES
/*
@@ -460,4 +460,4 @@ namespace std {
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_RANGES
+#endif // _LIBCPP___CXX03_RANGES
diff --git a/libcxx/include/__cxx03/ratio b/libcxx/include/__cxx03/ratio
index e167b36b7dd1..57b5dcbf2ddc 100644
--- a/libcxx/include/__cxx03/ratio
+++ b/libcxx/include/__cxx03/ratio
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_RATIO
-#define _LIBCPP_RATIO
+#ifndef _LIBCPP___CXX03_RATIO
+#define _LIBCPP___CXX03_RATIO
/*
ratio synopsis
@@ -514,4 +514,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_RATIO
+#endif // _LIBCPP___CXX03_RATIO
diff --git a/libcxx/include/__cxx03/regex b/libcxx/include/__cxx03/regex
index 9d95db45d419..c05c8768a89a 100644
--- a/libcxx/include/__cxx03/regex
+++ b/libcxx/include/__cxx03/regex
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_REGEX
-#define _LIBCPP_REGEX
+#ifndef _LIBCPP___CXX03_REGEX
+#define _LIBCPP___CXX03_REGEX
/*
regex synopsis
@@ -5833,4 +5833,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/utility>
#endif
-#endif // _LIBCPP_REGEX
+#endif // _LIBCPP___CXX03_REGEX
diff --git a/libcxx/include/__cxx03/scoped_allocator b/libcxx/include/__cxx03/scoped_allocator
index 6c62741ca2c8..faaca57302a6 100644
--- a/libcxx/include/__cxx03/scoped_allocator
+++ b/libcxx/include/__cxx03/scoped_allocator
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_SCOPED_ALLOCATOR
-#define _LIBCPP_SCOPED_ALLOCATOR
+#ifndef _LIBCPP___CXX03_SCOPED_ALLOCATOR
+#define _LIBCPP___CXX03_SCOPED_ALLOCATOR
/*
scoped_allocator synopsis
@@ -570,4 +570,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/variant>
#endif
-#endif // _LIBCPP_SCOPED_ALLOCATOR
+#endif // _LIBCPP___CXX03_SCOPED_ALLOCATOR
diff --git a/libcxx/include/__cxx03/semaphore b/libcxx/include/__cxx03/semaphore
index e8f9f072bb66..8e07f1a910d0 100644
--- a/libcxx/include/__cxx03/semaphore
+++ b/libcxx/include/__cxx03/semaphore
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_SEMAPHORE
-#define _LIBCPP_SEMAPHORE
+#ifndef _LIBCPP___CXX03_SEMAPHORE
+#define _LIBCPP___CXX03_SEMAPHORE
/*
semaphore synopsis
@@ -185,4 +185,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/atomic>
#endif
-#endif //_LIBCPP_SEMAPHORE
+#endif //_LIBCPP___CXX03_SEMAPHORE
diff --git a/libcxx/include/__cxx03/set b/libcxx/include/__cxx03/set
index b7312fff2139..2b14ef8b39a9 100644
--- a/libcxx/include/__cxx03/set
+++ b/libcxx/include/__cxx03/set
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_SET
-#define _LIBCPP_SET
+#ifndef _LIBCPP___CXX03_SET
+#define _LIBCPP___CXX03_SET
/*
@@ -1497,4 +1497,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_SET
+#endif // _LIBCPP___CXX03_SET
diff --git a/libcxx/include/__cxx03/shared_mutex b/libcxx/include/__cxx03/shared_mutex
index 99f77a892100..7acecdafc36a 100644
--- a/libcxx/include/__cxx03/shared_mutex
+++ b/libcxx/include/__cxx03/shared_mutex
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_SHARED_MUTEX
-#define _LIBCPP_SHARED_MUTEX
+#ifndef _LIBCPP___CXX03_SHARED_MUTEX
+#define _LIBCPP___CXX03_SHARED_MUTEX
/*
shared_mutex synopsis
@@ -461,4 +461,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/system_error>
#endif
-#endif // _LIBCPP_SHARED_MUTEX
+#endif // _LIBCPP___CXX03_SHARED_MUTEX
diff --git a/libcxx/include/__cxx03/source_location b/libcxx/include/__cxx03/source_location
index 509a54780882..3cd36babe3bf 100644
--- a/libcxx/include/__cxx03/source_location
+++ b/libcxx/include/__cxx03/source_location
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_SOURCE_LOCATION
-#define _LIBCPP_SOURCE_LOCATION
+#ifndef _LIBCPP___CXX03_SOURCE_LOCATION
+#define _LIBCPP___CXX03_SOURCE_LOCATION
/* source_location synopsis
@@ -82,4 +82,4 @@ public:
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_SOURCE_LOCATION
+#endif // _LIBCPP___CXX03_SOURCE_LOCATION
diff --git a/libcxx/include/__cxx03/span b/libcxx/include/__cxx03/span
index d09f96468064..7d1ef460e599 100644
--- a/libcxx/include/__cxx03/span
+++ b/libcxx/include/__cxx03/span
@@ -7,8 +7,8 @@
//
//===---------------------------------------------------------------------===//
-#ifndef _LIBCPP_SPAN
-#define _LIBCPP_SPAN
+#ifndef _LIBCPP___CXX03_SPAN
+#define _LIBCPP___CXX03_SPAN
/*
span synopsis
@@ -633,4 +633,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_SPAN
+#endif // _LIBCPP___CXX03_SPAN
diff --git a/libcxx/include/__cxx03/sstream b/libcxx/include/__cxx03/sstream
index 2667ae9cb18e..744c6365cebf 100644
--- a/libcxx/include/__cxx03/sstream
+++ b/libcxx/include/__cxx03/sstream
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_SSTREAM
-#define _LIBCPP_SSTREAM
+#ifndef _LIBCPP___CXX03_SSTREAM
+#define _LIBCPP___CXX03_SSTREAM
// clang-format off
@@ -1273,4 +1273,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_SSTREAM
+#endif // _LIBCPP___CXX03_SSTREAM
diff --git a/libcxx/include/__cxx03/stack b/libcxx/include/__cxx03/stack
index a86887865359..e4988362b801 100644
--- a/libcxx/include/__cxx03/stack
+++ b/libcxx/include/__cxx03/stack
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_STACK
-#define _LIBCPP_STACK
+#ifndef _LIBCPP___CXX03_STACK
+#define _LIBCPP___CXX03_STACK
/*
stack synopsis
@@ -376,4 +376,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_STACK
+#endif // _LIBCPP___CXX03_STACK
diff --git a/libcxx/include/__cxx03/stdatomic.h b/libcxx/include/__cxx03/stdatomic.h
index 15f68b93a414..44e693aefb4a 100644
--- a/libcxx/include/__cxx03/stdatomic.h
+++ b/libcxx/include/__cxx03/stdatomic.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_STDATOMIC_H
-#define _LIBCPP_STDATOMIC_H
+#ifndef _LIBCPP___CXX03_STDATOMIC_H
+#define _LIBCPP___CXX03_STDATOMIC_H
/*
stdatomic.h synopsis
@@ -232,4 +232,4 @@ using std::atomic_thread_fence _LIBCPP_USING_IF_EXISTS;
#endif // defined(__cplusplus) && _LIBCPP_STD_VER >= 23
-#endif // _LIBCPP_STDATOMIC_H
+#endif // _LIBCPP___CXX03_STDATOMIC_H
diff --git a/libcxx/include/__cxx03/stdbool.h b/libcxx/include/__cxx03/stdbool.h
index 0444340e2441..e6c2eae2cfd1 100644
--- a/libcxx/include/__cxx03/stdbool.h
+++ b/libcxx/include/__cxx03/stdbool.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_STDBOOL_H
-#define _LIBCPP_STDBOOL_H
+#ifndef _LIBCPP___CXX03_STDBOOL_H
+#define _LIBCPP___CXX03_STDBOOL_H
/*
stdbool.h synopsis
@@ -37,4 +37,4 @@ Macros:
# define __bool_true_false_are_defined 1
#endif
-#endif // _LIBCPP_STDBOOL_H
+#endif // _LIBCPP___CXX03_STDBOOL_H
diff --git a/libcxx/include/__cxx03/stddef.h b/libcxx/include/__cxx03/stddef.h
index 38c15a3f2f24..5d46cf27c39f 100644
--- a/libcxx/include/__cxx03/stddef.h
+++ b/libcxx/include/__cxx03/stddef.h
@@ -34,11 +34,11 @@ Types:
// with different defines and the underlying <stddef.h> will know how to deal with that.
#include_next <stddef.h>
-#ifndef _LIBCPP_STDDEF_H
-# define _LIBCPP_STDDEF_H
+#ifndef _LIBCPP___CXX03_STDDEF_H
+# define _LIBCPP___CXX03_STDDEF_H
# ifdef __cplusplus
typedef decltype(nullptr) nullptr_t;
# endif
-#endif // _LIBCPP_STDDEF_H
+#endif // _LIBCPP___CXX03_STDDEF_H
diff --git a/libcxx/include/__cxx03/stdexcept b/libcxx/include/__cxx03/stdexcept
index cd035f6df86d..772f8b543b17 100644
--- a/libcxx/include/__cxx03/stdexcept
+++ b/libcxx/include/__cxx03/stdexcept
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_STDEXCEPT
-#define _LIBCPP_STDEXCEPT
+#ifndef _LIBCPP___CXX03_STDEXCEPT
+#define _LIBCPP___CXX03_STDEXCEPT
/*
stdexcept synopsis
@@ -283,4 +283,4 @@ _LIBCPP_END_NAMESPACE_STD
# include <__cxx03/iosfwd>
#endif
-#endif // _LIBCPP_STDEXCEPT
+#endif // _LIBCPP___CXX03_STDEXCEPT
diff --git a/libcxx/include/__cxx03/stdint.h b/libcxx/include/__cxx03/stdint.h
index 5e845a7a517a..0510da42dd8c 100644
--- a/libcxx/include/__cxx03/stdint.h
+++ b/libcxx/include/__cxx03/stdint.h
@@ -7,12 +7,12 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_STDINT_H
+#ifndef _LIBCPP___CXX03_STDINT_H
// AIX system headers need stdint.h to be re-enterable while _STD_TYPES_T
// is defined until an inclusion of it without _STD_TYPES_T occurs, in which
// case the header guard macro is defined.
#if !defined(_AIX) || !defined(_STD_TYPES_T)
-# define _LIBCPP_STDINT_H
+# define _LIBCPP___CXX03_STDINT_H
#endif // _STD_TYPES_T
/*
@@ -124,4 +124,4 @@ Macros:
# include_next <stdint.h>
#endif
-#endif // _LIBCPP_STDINT_H
+#endif // _LIBCPP___CXX03_STDINT_H
diff --git a/libcxx/include/__cxx03/stdio.h b/libcxx/include/__cxx03/stdio.h
index 214d9481bf4c..6c6671e90c9a 100644
--- a/libcxx/include/__cxx03/stdio.h
+++ b/libcxx/include/__cxx03/stdio.h
@@ -15,8 +15,8 @@
# include_next <stdio.h>
-#elif !defined(_LIBCPP_STDIO_H)
-# define _LIBCPP_STDIO_H
+#elif !defined(_LIBCPP___CXX03_STDIO_H)
+# define _LIBCPP___CXX03_STDIO_H
/*
stdio.h synopsis
@@ -120,4 +120,4 @@ void perror(const char* s);
# endif
-#endif // _LIBCPP_STDIO_H
+#endif // _LIBCPP___CXX03_STDIO_H
diff --git a/libcxx/include/__cxx03/stdlib.h b/libcxx/include/__cxx03/stdlib.h
index 77c85705e191..5e7da5d90dc0 100644
--- a/libcxx/include/__cxx03/stdlib.h
+++ b/libcxx/include/__cxx03/stdlib.h
@@ -15,8 +15,8 @@
# include_next <stdlib.h>
-#elif !defined(_LIBCPP_STDLIB_H)
-# define _LIBCPP_STDLIB_H
+#elif !defined(_LIBCPP___CXX03_STDLIB_H)
+# define _LIBCPP___CXX03_STDLIB_H
/*
stdlib.h synopsis
@@ -148,4 +148,4 @@ inline _LIBCPP_HIDE_FROM_ABI lldiv_t div(long long __x, long long __y) _NOEXCEPT
} // extern "C++"
# endif // __cplusplus
-#endif // _LIBCPP_STDLIB_H
+#endif // _LIBCPP___CXX03_STDLIB_H
diff --git a/libcxx/include/__cxx03/stop_token b/libcxx/include/__cxx03/stop_token
index 7173162cf66a..369934d7ec6e 100644
--- a/libcxx/include/__cxx03/stop_token
+++ b/libcxx/include/__cxx03/stop_token
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_STOP_TOKEN
-#define _LIBCPP_STOP_TOKEN
+#ifndef _LIBCPP___CXX03_STOP_TOKEN
+#define _LIBCPP___CXX03_STOP_TOKEN
/*
@@ -53,4 +53,4 @@ namespace std {
# include <__cxx03/iosfwd>
#endif
-#endif // _LIBCPP_STOP_TOKEN
+#endif // _LIBCPP___CXX03_STOP_TOKEN
diff --git a/libcxx/include/__cxx03/streambuf b/libcxx/include/__cxx03/streambuf
index 9f60d38b4731..8920fce1f78c 100644
--- a/libcxx/include/__cxx03/streambuf
+++ b/libcxx/include/__cxx03/streambuf
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_STREAMBUF
-#define _LIBCPP_STREAMBUF
+#ifndef _LIBCPP___CXX03_STREAMBUF
+#define _LIBCPP___CXX03_STREAMBUF
/*
streambuf synopsis
@@ -442,4 +442,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/cstdint>
#endif
-#endif // _LIBCPP_STREAMBUF
+#endif // _LIBCPP___CXX03_STREAMBUF
diff --git a/libcxx/include/__cxx03/string b/libcxx/include/__cxx03/string
index 2f2f62344087..c4431dcb04d4 100644
--- a/libcxx/include/__cxx03/string
+++ b/libcxx/include/__cxx03/string
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_STRING
-#define _LIBCPP_STRING
+#ifndef _LIBCPP___CXX03_STRING
+#define _LIBCPP___CXX03_STRING
// clang-format off
@@ -4349,4 +4349,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/utility>
#endif
-#endif // _LIBCPP_STRING
+#endif // _LIBCPP___CXX03_STRING
diff --git a/libcxx/include/__cxx03/string.h b/libcxx/include/__cxx03/string.h
index e1dc4cbd8f29..49595fecc591 100644
--- a/libcxx/include/__cxx03/string.h
+++ b/libcxx/include/__cxx03/string.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_STRING_H
-#define _LIBCPP_STRING_H
+#ifndef _LIBCPP___CXX03_STRING_H
+#define _LIBCPP___CXX03_STRING_H
/*
string.h synopsis
@@ -107,4 +107,4 @@ inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_PREFERRED_OVERLOAD char* strstr(char* __s1,
} // extern "C++"
#endif
-#endif // _LIBCPP_STRING_H
+#endif // _LIBCPP___CXX03_STRING_H
diff --git a/libcxx/include/__cxx03/string_view b/libcxx/include/__cxx03/string_view
index 8b21ecb3d9a8..c6876ab5f444 100644
--- a/libcxx/include/__cxx03/string_view
+++ b/libcxx/include/__cxx03/string_view
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_STRING_VIEW
-#define _LIBCPP_STRING_VIEW
+#ifndef _LIBCPP___CXX03_STRING_VIEW
+#define _LIBCPP___CXX03_STRING_VIEW
// clang-format off
@@ -945,4 +945,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_STRING_VIEW
+#endif // _LIBCPP___CXX03_STRING_VIEW
diff --git a/libcxx/include/__cxx03/strstream b/libcxx/include/__cxx03/strstream
index 80e166acb751..be241a9484f6 100644
--- a/libcxx/include/__cxx03/strstream
+++ b/libcxx/include/__cxx03/strstream
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_STRSTREAM
-#define _LIBCPP_STRSTREAM
+#ifndef _LIBCPP___CXX03_STRSTREAM
+#define _LIBCPP___CXX03_STRSTREAM
/*
strstream synopsis
@@ -348,4 +348,4 @@ _LIBCPP_POP_MACROS
#endif // _LIBCPP_STD_VER < 26 || defined(_LIBCPP_ENABLE_CXX26_REMOVED_STRSTREAM) || defined(_LIBCPP_BUILDING_LIBRARY)
-#endif // _LIBCPP_STRSTREAM
+#endif // _LIBCPP___CXX03_STRSTREAM
diff --git a/libcxx/include/__cxx03/syncstream b/libcxx/include/__cxx03/syncstream
index 4e67b43f3ccb..7aacdc6c05fd 100644
--- a/libcxx/include/__cxx03/syncstream
+++ b/libcxx/include/__cxx03/syncstream
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_SYNCSTREAM
-#define _LIBCPP_SYNCSTREAM
+#ifndef _LIBCPP___CXX03_SYNCSTREAM
+#define _LIBCPP___CXX03_SYNCSTREAM
/*
syncstream synopsis
@@ -509,4 +509,4 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP_SYNCSTREAM
+#endif // _LIBCPP___CXX03_SYNCSTREAM
diff --git a/libcxx/include/__cxx03/system_error b/libcxx/include/__cxx03/system_error
index eb5a2dc4532e..8d0d55c7e567 100644
--- a/libcxx/include/__cxx03/system_error
+++ b/libcxx/include/__cxx03/system_error
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_SYSTEM_ERROR
-#define _LIBCPP_SYSTEM_ERROR
+#ifndef _LIBCPP___CXX03_SYSTEM_ERROR
+#define _LIBCPP___CXX03_SYSTEM_ERROR
/*
system_error synopsis
@@ -168,4 +168,4 @@ template <> struct hash<std::error_condition>;
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_SYSTEM_ERROR
+#endif // _LIBCPP___CXX03_SYSTEM_ERROR
diff --git a/libcxx/include/__cxx03/tgmath.h b/libcxx/include/__cxx03/tgmath.h
index 52637d1eaa04..7d81a110ed61 100644
--- a/libcxx/include/__cxx03/tgmath.h
+++ b/libcxx/include/__cxx03/tgmath.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_TGMATH_H
-#define _LIBCPP_TGMATH_H
+#ifndef _LIBCPP___CXX03_TGMATH_H
+#define _LIBCPP___CXX03_TGMATH_H
/*
tgmath.h synopsis
@@ -31,4 +31,4 @@
# endif
#endif
-#endif // _LIBCPP_TGMATH_H
+#endif // _LIBCPP___CXX03_TGMATH_H
diff --git a/libcxx/include/__cxx03/thread b/libcxx/include/__cxx03/thread
index f6d9cc8096a7..8034854a7382 100644
--- a/libcxx/include/__cxx03/thread
+++ b/libcxx/include/__cxx03/thread
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_THREAD
-#define _LIBCPP_THREAD
+#ifndef _LIBCPP___CXX03_THREAD
+#define _LIBCPP___CXX03_THREAD
/*
@@ -127,4 +127,4 @@ void sleep_for(const chrono::duration<Rep, Period>& rel_time);
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_THREAD
+#endif // _LIBCPP___CXX03_THREAD
diff --git a/libcxx/include/__cxx03/tuple b/libcxx/include/__cxx03/tuple
index 72375ad6c0ab..3579fd7981f0 100644
--- a/libcxx/include/__cxx03/tuple
+++ b/libcxx/include/__cxx03/tuple
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_TUPLE
-#define _LIBCPP_TUPLE
+#ifndef _LIBCPP___CXX03_TUPLE
+#define _LIBCPP___CXX03_TUPLE
// clang-format off
@@ -1416,4 +1416,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/utility>
#endif
-#endif // _LIBCPP_TUPLE
+#endif // _LIBCPP___CXX03_TUPLE
diff --git a/libcxx/include/__cxx03/type_traits b/libcxx/include/__cxx03/type_traits
index 484441cbb670..287f6f0d32b1 100644
--- a/libcxx/include/__cxx03/type_traits
+++ b/libcxx/include/__cxx03/type_traits
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_TYPE_TRAITS
-#define _LIBCPP_TYPE_TRAITS
+#ifndef _LIBCPP___CXX03_TYPE_TRAITS
+#define _LIBCPP___CXX03_TYPE_TRAITS
/*
type_traits synopsis
@@ -520,4 +520,4 @@ namespace std
# pragma GCC system_header
#endif
-#endif // _LIBCPP_TYPE_TRAITS
+#endif // _LIBCPP___CXX03_TYPE_TRAITS
diff --git a/libcxx/include/__cxx03/typeindex b/libcxx/include/__cxx03/typeindex
index e1d6097ebfa6..c7587e4e2305 100644
--- a/libcxx/include/__cxx03/typeindex
+++ b/libcxx/include/__cxx03/typeindex
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_TYPEINDEX
-#define _LIBCPP_TYPEINDEX
+#ifndef _LIBCPP___CXX03_TYPEINDEX
+#define _LIBCPP___CXX03_TYPEINDEX
/*
@@ -103,4 +103,4 @@ _LIBCPP_END_NAMESPACE_STD
# include <__cxx03/utility>
#endif
-#endif // _LIBCPP_TYPEINDEX
+#endif // _LIBCPP___CXX03_TYPEINDEX
diff --git a/libcxx/include/__cxx03/typeinfo b/libcxx/include/__cxx03/typeinfo
index 823c3cbae1cf..f01761bf485e 100644
--- a/libcxx/include/__cxx03/typeinfo
+++ b/libcxx/include/__cxx03/typeinfo
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_TYPEINFO
-#define _LIBCPP_TYPEINFO
+#ifndef _LIBCPP___CXX03_TYPEINFO
+#define _LIBCPP___CXX03_TYPEINFO
/*
@@ -386,4 +386,4 @@ _LIBCPP_END_NAMESPACE_STD
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_TYPEINFO
+#endif // _LIBCPP___CXX03_TYPEINFO
diff --git a/libcxx/include/__cxx03/uchar.h b/libcxx/include/__cxx03/uchar.h
index 29a10211ad36..a19faea5814c 100644
--- a/libcxx/include/__cxx03/uchar.h
+++ b/libcxx/include/__cxx03/uchar.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_UCHAR_H
-#define _LIBCPP_UCHAR_H
+#ifndef _LIBCPP___CXX03_UCHAR_H
+#define _LIBCPP___CXX03_UCHAR_H
/*
uchar.h synopsis // since C++11
@@ -53,4 +53,4 @@ size_t c32rtomb(char* s, char32_t c32, mbstate_t* ps);
#endif // _LIBCPP_CXX03_LANG
-#endif // _LIBCPP_UCHAR_H
+#endif // _LIBCPP___CXX03_UCHAR_H
diff --git a/libcxx/include/__cxx03/unordered_map b/libcxx/include/__cxx03/unordered_map
index cccfc4900895..612ad02f7716 100644
--- a/libcxx/include/__cxx03/unordered_map
+++ b/libcxx/include/__cxx03/unordered_map
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_UNORDERED_MAP
-#define _LIBCPP_UNORDERED_MAP
+#ifndef _LIBCPP___CXX03_UNORDERED_MAP
+#define _LIBCPP___CXX03_UNORDERED_MAP
/*
@@ -2538,4 +2538,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_UNORDERED_MAP
+#endif // _LIBCPP___CXX03_UNORDERED_MAP
diff --git a/libcxx/include/__cxx03/unordered_set b/libcxx/include/__cxx03/unordered_set
index b64d334c129d..25e9e1f82ad3 100644
--- a/libcxx/include/__cxx03/unordered_set
+++ b/libcxx/include/__cxx03/unordered_set
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_UNORDERED_SET
-#define _LIBCPP_UNORDERED_SET
+#ifndef _LIBCPP___CXX03_UNORDERED_SET
+#define _LIBCPP___CXX03_UNORDERED_SET
// clang-format off
@@ -1808,4 +1808,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_UNORDERED_SET
+#endif // _LIBCPP___CXX03_UNORDERED_SET
diff --git a/libcxx/include/__cxx03/utility b/libcxx/include/__cxx03/utility
index c0734df8db63..ac0637f6b41e 100644
--- a/libcxx/include/__cxx03/utility
+++ b/libcxx/include/__cxx03/utility
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_UTILITY
-#define _LIBCPP_UTILITY
+#ifndef _LIBCPP___CXX03_UTILITY
+#define _LIBCPP___CXX03_UTILITY
/*
utility synopsis
@@ -306,4 +306,4 @@ template <class T>
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_UTILITY
+#endif // _LIBCPP___CXX03_UTILITY
diff --git a/libcxx/include/__cxx03/valarray b/libcxx/include/__cxx03/valarray
index 890e0a2723c7..1070add36abc 100644
--- a/libcxx/include/__cxx03/valarray
+++ b/libcxx/include/__cxx03/valarray
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_VALARRAY
-#define _LIBCPP_VALARRAY
+#ifndef _LIBCPP___CXX03_VALARRAY
+#define _LIBCPP___CXX03_VALARRAY
/*
valarray synopsis
@@ -3361,4 +3361,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/type_traits>
#endif
-#endif // _LIBCPP_VALARRAY
+#endif // _LIBCPP___CXX03_VALARRAY
diff --git a/libcxx/include/__cxx03/variant b/libcxx/include/__cxx03/variant
index 97e012bf81c9..cedc733e9b39 100644
--- a/libcxx/include/__cxx03/variant
+++ b/libcxx/include/__cxx03/variant
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_VARIANT
-#define _LIBCPP_VARIANT
+#ifndef _LIBCPP___CXX03_VARIANT
+#define _LIBCPP___CXX03_VARIANT
/*
variant synopsis
@@ -1647,4 +1647,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/utility>
#endif
-#endif // _LIBCPP_VARIANT
+#endif // _LIBCPP___CXX03_VARIANT
diff --git a/libcxx/include/__cxx03/vector b/libcxx/include/__cxx03/vector
index 6e01ece06ab9..6ee35b4e3625 100644
--- a/libcxx/include/__cxx03/vector
+++ b/libcxx/include/__cxx03/vector
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_VECTOR
-#define _LIBCPP_VECTOR
+#ifndef _LIBCPP___CXX03_VECTOR
+#define _LIBCPP___CXX03_VECTOR
// clang-format off
@@ -3027,4 +3027,4 @@ _LIBCPP_POP_MACROS
# include <__cxx03/utility>
#endif
-#endif // _LIBCPP_VECTOR
+#endif // _LIBCPP___CXX03_VECTOR
diff --git a/libcxx/include/__cxx03/version b/libcxx/include/__cxx03/version
index dd0fe4b4d281..ed1857db05b3 100644
--- a/libcxx/include/__cxx03/version
+++ b/libcxx/include/__cxx03/version
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_VERSIONH
-#define _LIBCPP_VERSIONH
+#ifndef _LIBCPP___CXX03_VERSIONH
+#define _LIBCPP___CXX03_VERSIONH
/*
version synopsis
@@ -563,4 +563,4 @@ __cpp_lib_void_t 201411L <type_traits>
// clang-format on
-#endif // _LIBCPP_VERSIONH
+#endif // _LIBCPP___CXX03_VERSIONH
diff --git a/libcxx/include/__cxx03/wchar.h b/libcxx/include/__cxx03/wchar.h
index 131948eb471d..91975f7df49b 100644
--- a/libcxx/include/__cxx03/wchar.h
+++ b/libcxx/include/__cxx03/wchar.h
@@ -15,8 +15,8 @@
# include_next <wchar.h>
-#elif !defined(_LIBCPP_WCHAR_H)
-# define _LIBCPP_WCHAR_H
+#elif !defined(_LIBCPP___CXX03_WCHAR_H)
+# define _LIBCPP___CXX03_WCHAR_H
/*
wchar.h synopsis
@@ -208,4 +208,4 @@ size_t wcsnrtombs(
} // extern "C"
# endif // __cplusplus && (_LIBCPP_MSVCRT || __MVS__)
-#endif // _LIBCPP_WCHAR_H
+#endif // _LIBCPP___CXX03_WCHAR_H
diff --git a/libcxx/include/__cxx03/wctype.h b/libcxx/include/__cxx03/wctype.h
index def009c58f01..131d8b51ea1c 100644
--- a/libcxx/include/__cxx03/wctype.h
+++ b/libcxx/include/__cxx03/wctype.h
@@ -7,8 +7,8 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_WCTYPE_H
-#define _LIBCPP_WCTYPE_H
+#ifndef _LIBCPP___CXX03_WCTYPE_H
+#define _LIBCPP___CXX03_WCTYPE_H
/*
wctype.h synopsis
@@ -92,4 +92,4 @@ wctrans_t wctrans(const char* property);
#endif // __cplusplus
-#endif // _LIBCPP_WCTYPE_H
+#endif // _LIBCPP___CXX03_WCTYPE_H
diff --git a/libcxx/include/__exception/exception_ptr.h b/libcxx/include/__exception/exception_ptr.h
index c43c005603dd..7df46a0e94dc 100644
--- a/libcxx/include/__exception/exception_ptr.h
+++ b/libcxx/include/__exception/exception_ptr.h
@@ -16,7 +16,6 @@
#include <__memory/construct_at.h>
#include <__type_traits/decay.h>
#include <cstdlib>
-#include <new>
#include <typeinfo>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/__flat_map/flat_map.h b/libcxx/include/__flat_map/flat_map.h
index 58b362ad7a70..b66bc1cb66fc 100644
--- a/libcxx/include/__flat_map/flat_map.h
+++ b/libcxx/include/__flat_map/flat_map.h
@@ -23,11 +23,11 @@
#include <__algorithm/remove_if.h>
#include <__assert>
#include <__compare/synth_three_way.h>
-#include <__concepts/convertible_to.h>
#include <__concepts/swappable.h>
#include <__config>
#include <__cstddef/byte.h>
#include <__cstddef/ptrdiff_t.h>
+#include <__flat_map/key_value_iterator.h>
#include <__flat_map/sorted_unique.h>
#include <__functional/invoke.h>
#include <__functional/is_transparent.h>
@@ -38,7 +38,6 @@
#include <__iterator/next.h>
#include <__iterator/ranges_iterator_traits.h>
#include <__iterator/reverse_iterator.h>
-#include <__memory/addressof.h>
#include <__memory/allocator_traits.h>
#include <__memory/uses_allocator.h>
#include <__memory/uses_allocator_construction.h>
@@ -57,8 +56,8 @@
#include <__type_traits/is_allocator.h>
#include <__type_traits/is_nothrow_constructible.h>
#include <__type_traits/is_same.h>
-#include <__type_traits/maybe_const.h>
#include <__utility/exception_guard.h>
+#include <__utility/move.h>
#include <__utility/pair.h>
#include <__utility/scope_guard.h>
#include <__vector/vector.h>
@@ -82,9 +81,6 @@ template <class _Key,
class _KeyContainer = vector<_Key>,
class _MappedContainer = vector<_Tp>>
class flat_map {
- template <bool _Const>
- struct __iterator;
-
template <class, class, class, class, class>
friend class flat_map;
@@ -93,6 +89,9 @@ class flat_map {
static_assert(!is_same_v<_KeyContainer, std::vector<bool>>, "vector<bool> is not a sequence container");
static_assert(!is_same_v<_MappedContainer, std::vector<bool>>, "vector<bool> is not a sequence container");
+ template <bool _Const>
+ using __iterator = __key_value_iterator<flat_map, _KeyContainer, _MappedContainer, _Const>;
+
public:
// types
using key_type = _Key;
@@ -134,123 +133,6 @@ private:
_LIBCPP_HIDE_FROM_ABI static constexpr bool __is_compare_transparent = __is_transparent_v<_Compare, _Compare>;
- template <bool _Const>
- struct __iterator {
- private:
- using __key_iterator = ranges::iterator_t<const key_container_type>;
- using __mapped_iterator = ranges::iterator_t<__maybe_const<_Const, mapped_container_type>>;
- using __reference = pair<iter_reference_t<__key_iterator>, iter_reference_t<__mapped_iterator>>;
-
- struct __arrow_proxy {
- __reference __ref_;
- _LIBCPP_HIDE_FROM_ABI __reference* operator->() { return std::addressof(__ref_); }
- };
-
- __key_iterator __key_iter_;
- __mapped_iterator __mapped_iter_;
-
- friend flat_map;
-
- public:
- using iterator_concept = random_access_iterator_tag;
- // `flat_map::iterator` only satisfy "Cpp17InputIterator" named requirements, because
- // its `reference` is not a reference type.
- // However, to avoid surprising runtime behaviour when it is used with the
- // Cpp17 algorithms or operations, iterator_category is set to random_access_iterator_tag.
- using iterator_category = random_access_iterator_tag;
- using value_type = flat_map::value_type;
- using difference_type = flat_map::difference_type;
-
- _LIBCPP_HIDE_FROM_ABI __iterator() = default;
-
- _LIBCPP_HIDE_FROM_ABI __iterator(__iterator<!_Const> __i)
- requires _Const && convertible_to<ranges::iterator_t<key_container_type>, __key_iterator> &&
- convertible_to<ranges::iterator_t<mapped_container_type>, __mapped_iterator>
- : __key_iter_(std::move(__i.__key_iter_)), __mapped_iter_(std::move(__i.__mapped_iter_)) {}
-
- _LIBCPP_HIDE_FROM_ABI __iterator(__key_iterator __key_iter, __mapped_iterator __mapped_iter)
- : __key_iter_(std::move(__key_iter)), __mapped_iter_(std::move(__mapped_iter)) {}
-
- _LIBCPP_HIDE_FROM_ABI __reference operator*() const { return __reference(*__key_iter_, *__mapped_iter_); }
- _LIBCPP_HIDE_FROM_ABI __arrow_proxy operator->() const { return __arrow_proxy{**this}; }
-
- _LIBCPP_HIDE_FROM_ABI __iterator& operator++() {
- ++__key_iter_;
- ++__mapped_iter_;
- return *this;
- }
-
- _LIBCPP_HIDE_FROM_ABI __iterator operator++(int) {
- __iterator __tmp(*this);
- ++*this;
- return __tmp;
- }
-
- _LIBCPP_HIDE_FROM_ABI __iterator& operator--() {
- --__key_iter_;
- --__mapped_iter_;
- return *this;
- }
-
- _LIBCPP_HIDE_FROM_ABI __iterator operator--(int) {
- __iterator __tmp(*this);
- --*this;
- return __tmp;
- }
-
- _LIBCPP_HIDE_FROM_ABI __iterator& operator+=(difference_type __x) {
- __key_iter_ += __x;
- __mapped_iter_ += __x;
- return *this;
- }
-
- _LIBCPP_HIDE_FROM_ABI __iterator& operator-=(difference_type __x) {
- __key_iter_ -= __x;
- __mapped_iter_ -= __x;
- return *this;
- }
-
- _LIBCPP_HIDE_FROM_ABI __reference operator[](difference_type __n) const { return *(*this + __n); }
-
- _LIBCPP_HIDE_FROM_ABI friend constexpr bool operator==(const __iterator& __x, const __iterator& __y) {
- return __x.__key_iter_ == __y.__key_iter_;
- }
-
- _LIBCPP_HIDE_FROM_ABI friend bool operator<(const __iterator& __x, const __iterator& __y) {
- return __x.__key_iter_ < __y.__key_iter_;
- }
-
- _LIBCPP_HIDE_FROM_ABI friend bool operator>(const __iterator& __x, const __iterator& __y) { return __y < __x; }
-
- _LIBCPP_HIDE_FROM_ABI friend bool operator<=(const __iterator& __x, const __iterator& __y) { return !(__y < __x); }
-
- _LIBCPP_HIDE_FROM_ABI friend bool operator>=(const __iterator& __x, const __iterator& __y) { return !(__x < __y); }
-
- _LIBCPP_HIDE_FROM_ABI friend auto operator<=>(const __iterator& __x, const __iterator& __y)
- requires three_way_comparable<__key_iterator>
- {
- return __x.__key_iter_ <=> __y.__key_iter_;
- }
-
- _LIBCPP_HIDE_FROM_ABI friend __iterator operator+(const __iterator& __i, difference_type __n) {
- auto __tmp = __i;
- __tmp += __n;
- return __tmp;
- }
-
- _LIBCPP_HIDE_FROM_ABI friend __iterator operator+(difference_type __n, const __iterator& __i) { return __i + __n; }
-
- _LIBCPP_HIDE_FROM_ABI friend __iterator operator-(const __iterator& __i, difference_type __n) {
- auto __tmp = __i;
- __tmp -= __n;
- return __tmp;
- }
-
- _LIBCPP_HIDE_FROM_ABI friend difference_type operator-(const __iterator& __x, const __iterator& __y) {
- return difference_type(__x.__key_iter_ - __y.__key_iter_);
- }
- };
-
public:
// [flat.map.cons], construct/copy/destroy
_LIBCPP_HIDE_FROM_ABI flat_map() noexcept(
diff --git a/libcxx/include/__flat_map/key_value_iterator.h b/libcxx/include/__flat_map/key_value_iterator.h
new file mode 100644
index 000000000000..987ac677a413
--- /dev/null
+++ b/libcxx/include/__flat_map/key_value_iterator.h
@@ -0,0 +1,177 @@
+// -*- C++ -*-
+//===----------------------------------------------------------------------===//
+//
+// 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___FLAT_MAP_KEY_VALUE_ITERATOR_H
+#define _LIBCPP___FLAT_MAP_KEY_VALUE_ITERATOR_H
+
+#include <__compare/three_way_comparable.h>
+#include <__concepts/convertible_to.h>
+#include <__config>
+#include <__iterator/iterator_traits.h>
+#include <__memory/addressof.h>
+#include <__ranges/access.h>
+#include <__type_traits/conditional.h>
+#include <__type_traits/maybe_const.h>
+#include <__utility/move.h>
+#include <__utility/pair.h>
+
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+#endif
+
+_LIBCPP_PUSH_MACROS
+#include <__undef_macros>
+
+#if _LIBCPP_STD_VER >= 23
+
+_LIBCPP_BEGIN_NAMESPACE_STD
+
+/**
+ * __key_value_iterator is a proxy iterator which zips the underlying
+ * _KeyContainer::iterator and the underlying _MappedContainer::iterator.
+ * The two underlying iterators will be incremented/decremented together.
+ * And the reference is a pair of the const key reference and the value reference.
+ */
+template <class _Owner, class _KeyContainer, class _MappedContainer, bool _Const>
+struct __key_value_iterator {
+private:
+ using __key_iterator = ranges::iterator_t<const _KeyContainer>;
+ using __mapped_iterator = ranges::iterator_t<__maybe_const<_Const, _MappedContainer>>;
+ using __reference = _If<_Const, typename _Owner::const_reference, typename _Owner::reference>;
+
+ struct __arrow_proxy {
+ __reference __ref_;
+ _LIBCPP_HIDE_FROM_ABI __reference* operator->() { return std::addressof(__ref_); }
+ };
+
+ __key_iterator __key_iter_;
+ __mapped_iterator __mapped_iter_;
+
+ friend _Owner;
+
+ template <class, class, class, bool>
+ friend struct __key_value_iterator;
+
+public:
+ using iterator_concept = random_access_iterator_tag;
+ // `__key_value_iterator` only satisfy "Cpp17InputIterator" named requirements, because
+ // its `reference` is not a reference type.
+ // However, to avoid surprising runtime behaviour when it is used with the
+ // Cpp17 algorithms or operations, iterator_category is set to random_access_iterator_tag.
+ using iterator_category = random_access_iterator_tag;
+ using value_type = typename _Owner::value_type;
+ using difference_type = typename _Owner::difference_type;
+
+ _LIBCPP_HIDE_FROM_ABI __key_value_iterator() = default;
+
+ _LIBCPP_HIDE_FROM_ABI __key_value_iterator(__key_value_iterator<_Owner, _KeyContainer, _MappedContainer, !_Const> __i)
+ requires _Const && convertible_to<ranges::iterator_t<_KeyContainer>, __key_iterator> &&
+ convertible_to<ranges::iterator_t<_MappedContainer>, __mapped_iterator>
+ : __key_iter_(std::move(__i.__key_iter_)), __mapped_iter_(std::move(__i.__mapped_iter_)) {}
+
+ _LIBCPP_HIDE_FROM_ABI __key_value_iterator(__key_iterator __key_iter, __mapped_iterator __mapped_iter)
+ : __key_iter_(std::move(__key_iter)), __mapped_iter_(std::move(__mapped_iter)) {}
+
+ _LIBCPP_HIDE_FROM_ABI __reference operator*() const { return __reference(*__key_iter_, *__mapped_iter_); }
+ _LIBCPP_HIDE_FROM_ABI __arrow_proxy operator->() const { return __arrow_proxy{**this}; }
+
+ _LIBCPP_HIDE_FROM_ABI __key_value_iterator& operator++() {
+ ++__key_iter_;
+ ++__mapped_iter_;
+ return *this;
+ }
+
+ _LIBCPP_HIDE_FROM_ABI __key_value_iterator operator++(int) {
+ __key_value_iterator __tmp(*this);
+ ++*this;
+ return __tmp;
+ }
+
+ _LIBCPP_HIDE_FROM_ABI __key_value_iterator& operator--() {
+ --__key_iter_;
+ --__mapped_iter_;
+ return *this;
+ }
+
+ _LIBCPP_HIDE_FROM_ABI __key_value_iterator operator--(int) {
+ __key_value_iterator __tmp(*this);
+ --*this;
+ return __tmp;
+ }
+
+ _LIBCPP_HIDE_FROM_ABI __key_value_iterator& operator+=(difference_type __x) {
+ __key_iter_ += __x;
+ __mapped_iter_ += __x;
+ return *this;
+ }
+
+ _LIBCPP_HIDE_FROM_ABI __key_value_iterator& operator-=(difference_type __x) {
+ __key_iter_ -= __x;
+ __mapped_iter_ -= __x;
+ return *this;
+ }
+
+ _LIBCPP_HIDE_FROM_ABI __reference operator[](difference_type __n) const { return *(*this + __n); }
+
+ _LIBCPP_HIDE_FROM_ABI friend constexpr bool
+ operator==(const __key_value_iterator& __x, const __key_value_iterator& __y) {
+ return __x.__key_iter_ == __y.__key_iter_;
+ }
+
+ _LIBCPP_HIDE_FROM_ABI friend bool operator<(const __key_value_iterator& __x, const __key_value_iterator& __y) {
+ return __x.__key_iter_ < __y.__key_iter_;
+ }
+
+ _LIBCPP_HIDE_FROM_ABI friend bool operator>(const __key_value_iterator& __x, const __key_value_iterator& __y) {
+ return __y < __x;
+ }
+
+ _LIBCPP_HIDE_FROM_ABI friend bool operator<=(const __key_value_iterator& __x, const __key_value_iterator& __y) {
+ return !(__y < __x);
+ }
+
+ _LIBCPP_HIDE_FROM_ABI friend bool operator>=(const __key_value_iterator& __x, const __key_value_iterator& __y) {
+ return !(__x < __y);
+ }
+
+ _LIBCPP_HIDE_FROM_ABI friend auto operator<=>(const __key_value_iterator& __x, const __key_value_iterator& __y)
+ requires three_way_comparable<__key_iterator>
+ {
+ return __x.__key_iter_ <=> __y.__key_iter_;
+ }
+
+ _LIBCPP_HIDE_FROM_ABI friend __key_value_iterator operator+(const __key_value_iterator& __i, difference_type __n) {
+ auto __tmp = __i;
+ __tmp += __n;
+ return __tmp;
+ }
+
+ _LIBCPP_HIDE_FROM_ABI friend __key_value_iterator operator+(difference_type __n, const __key_value_iterator& __i) {
+ return __i + __n;
+ }
+
+ _LIBCPP_HIDE_FROM_ABI friend __key_value_iterator operator-(const __key_value_iterator& __i, difference_type __n) {
+ auto __tmp = __i;
+ __tmp -= __n;
+ return __tmp;
+ }
+
+ _LIBCPP_HIDE_FROM_ABI friend difference_type
+ operator-(const __key_value_iterator& __x, const __key_value_iterator& __y) {
+ return difference_type(__x.__key_iter_ - __y.__key_iter_);
+ }
+};
+
+_LIBCPP_END_NAMESPACE_STD
+
+#endif // _LIBCPP_STD_VER >= 23
+
+_LIBCPP_POP_MACROS
+
+#endif // _LIBCPP___FLAT_MAP_KEY_VALUE_ITERATOR_H
diff --git a/libcxx/include/__functional/function.h b/libcxx/include/__functional/function.h
index 543be05f10f3..a421a3ef4f5f 100644
--- a/libcxx/include/__functional/function.h
+++ b/libcxx/include/__functional/function.h
@@ -38,7 +38,6 @@
#include <__utility/piecewise_construct.h>
#include <__utility/swap.h>
#include <__verbose_abort>
-#include <new>
#include <tuple>
#include <typeinfo>
@@ -147,8 +146,8 @@ class __alloc_func<_Fp, _Ap, _Rp(_ArgTypes...)> {
_LIBCPP_COMPRESSED_PAIR(_Fp, __func_, _Ap, __alloc_);
public:
- typedef _LIBCPP_NODEBUG _Fp _Target;
- typedef _LIBCPP_NODEBUG _Ap _Alloc;
+ using _Target _LIBCPP_NODEBUG = _Fp;
+ using _Alloc _LIBCPP_NODEBUG = _Ap;
_LIBCPP_HIDE_FROM_ABI const _Target& __target() const { return __func_; }
@@ -199,7 +198,7 @@ class __default_alloc_func<_Fp, _Rp(_ArgTypes...)> {
_Fp __f_;
public:
- typedef _LIBCPP_NODEBUG _Fp _Target;
+ using _Target _LIBCPP_NODEBUG = _Fp;
_LIBCPP_HIDE_FROM_ABI const _Target& __target() const { return __f_; }
diff --git a/libcxx/include/__fwd/memory.h b/libcxx/include/__fwd/memory.h
index b9e151855ad7..564000997dec 100644
--- a/libcxx/include/__fwd/memory.h
+++ b/libcxx/include/__fwd/memory.h
@@ -20,6 +20,9 @@ _LIBCPP_BEGIN_NAMESPACE_STD
template <class _Tp>
class _LIBCPP_TEMPLATE_VIS allocator;
+template <class _Tp>
+class _LIBCPP_TEMPLATE_VIS shared_ptr;
+
_LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP___FWD_MEMORY_H
diff --git a/libcxx/include/__fwd/memory_resource.h b/libcxx/include/__fwd/memory_resource.h
index d68b2c2b6315..ca9d3770945c 100644
--- a/libcxx/include/__fwd/memory_resource.h
+++ b/libcxx/include/__fwd/memory_resource.h
@@ -15,6 +15,8 @@
# pragma GCC system_header
#endif
+#if _LIBCPP_STD_VER >= 17
+
_LIBCPP_BEGIN_NAMESPACE_STD
namespace pmr {
@@ -24,4 +26,6 @@ class _LIBCPP_AVAILABILITY_PMR _LIBCPP_TEMPLATE_VIS polymorphic_allocator;
_LIBCPP_END_NAMESPACE_STD
+#endif // _LIBCPP_STD_VER >= 17
+
#endif // _LIBCPP___FWD_MEMORY_RESOURCE_H
diff --git a/libcxx/include/__hash_table b/libcxx/include/__hash_table
index a0c72f4c2054..9c821ea69081 100644
--- a/libcxx/include/__hash_table
+++ b/libcxx/include/__hash_table
@@ -16,6 +16,7 @@
#include <__bit/countl.h>
#include <__config>
#include <__cstddef/ptrdiff_t.h>
+#include <__cstddef/size_t.h>
#include <__functional/hash.h>
#include <__iterator/iterator_traits.h>
#include <__math/rounding_functions.h>
@@ -26,15 +27,14 @@
#include <__memory/pointer_traits.h>
#include <__memory/swap_allocator.h>
#include <__memory/unique_ptr.h>
+#include <__new/launder.h>
#include <__type_traits/can_extract_key.h>
-#include <__type_traits/conditional.h>
#include <__type_traits/enable_if.h>
#include <__type_traits/invoke.h>
#include <__type_traits/is_const.h>
#include <__type_traits/is_constructible.h>
#include <__type_traits/is_nothrow_assignable.h>
#include <__type_traits/is_nothrow_constructible.h>
-#include <__type_traits/is_pointer.h>
#include <__type_traits/is_reference.h>
#include <__type_traits/is_same.h>
#include <__type_traits/is_swappable.h>
@@ -44,9 +44,7 @@
#include <__utility/move.h>
#include <__utility/pair.h>
#include <__utility/swap.h>
-#include <cstring>
#include <limits>
-#include <new> // __launder
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__locale_dir/locale_base_api.h b/libcxx/include/__locale_dir/locale_base_api.h
index 8ed4c29cb873..c8097beb9052 100644
--- a/libcxx/include/__locale_dir/locale_base_api.h
+++ b/libcxx/include/__locale_dir/locale_base_api.h
@@ -23,14 +23,12 @@
// Variadic functions may be implemented as templates with a parameter pack instead
// of C-style variadic functions.
//
-// TODO: I think __uselocale() is not necessary if we refactor a bit.
// TODO: __localeconv shouldn't take a reference, but the Windows implementation doesn't allow copying __locale_t
//
// Locale management
// -----------------
// namespace __locale {
// using __locale_t = implementation-defined;
-// __locale_t __uselocale(__locale_t);
// __locale_t __newlocale(int, const char*, __locale_t);
// void __freelocale(__locale_t);
// lconv* __localeconv(__locale_t&);
@@ -98,15 +96,15 @@
# include <__locale_dir/support/apple.h>
#elif defined(__FreeBSD__)
# include <__locale_dir/support/freebsd.h>
+#elif defined(_LIBCPP_MSVCRT_LIKE)
+# include <__locale_dir/support/windows.h>
#else
// TODO: This is a temporary definition to bridge between the old way we defined the locale base API
// (by providing global non-reserved names) and the new API. As we move individual platforms
// towards the new way of defining the locale base API, this should disappear since each platform
// will define those directly.
-# if defined(_LIBCPP_MSVCRT_LIKE)
-# include <__locale_dir/locale_base_api/win32.h>
-# elif defined(_AIX) || defined(__MVS__)
+# if defined(_AIX) || defined(__MVS__)
# include <__locale_dir/locale_base_api/ibm.h>
# elif defined(__ANDROID__)
# include <__locale_dir/locale_base_api/android.h>
@@ -139,10 +137,6 @@ namespace __locale {
//
using __locale_t = locale_t;
-# ifndef _LIBCPP_MSVCRT_LIKE
-inline _LIBCPP_HIDE_FROM_ABI __locale_t __uselocale(__locale_t __loc) { return uselocale(__loc); }
-# endif
-
inline _LIBCPP_HIDE_FROM_ABI __locale_t __newlocale(int __category_mask, const char* __name, __locale_t __loc) {
return newlocale(__category_mask, __name, __loc);
}
diff --git a/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h b/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
index d514bdfaace9..b62a1b737e97 100644
--- a/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
+++ b/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
@@ -14,8 +14,6 @@
#define _LIBCPP___LOCALE_DIR_LOCALE_BASE_API_BSD_LOCALE_FALLBACKS_H
#include <locale.h>
-
-#include <__locale_dir/locale_guard.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
@@ -30,6 +28,20 @@
_LIBCPP_BEGIN_NAMESPACE_STD
+struct __locale_guard {
+ _LIBCPP_HIDE_FROM_ABI __locale_guard(locale_t& __loc) : __old_loc_(::uselocale(__loc)) {}
+
+ _LIBCPP_HIDE_FROM_ABI ~__locale_guard() {
+ if (__old_loc_)
+ ::uselocale(__old_loc_);
+ }
+
+ locale_t __old_loc_;
+
+ __locale_guard(__locale_guard const&) = delete;
+ __locale_guard& operator=(__locale_guard const&) = delete;
+};
+
inline _LIBCPP_HIDE_FROM_ABI decltype(MB_CUR_MAX) __libcpp_mb_cur_max_l(locale_t __l) {
__locale_guard __current(__l);
return MB_CUR_MAX;
diff --git a/libcxx/include/__locale_dir/locale_base_api/win32.h b/libcxx/include/__locale_dir/locale_base_api/win32.h
deleted file mode 100644
index f488a0dc0d69..000000000000
--- a/libcxx/include/__locale_dir/locale_base_api/win32.h
+++ /dev/null
@@ -1,235 +0,0 @@
-// -*- C++ -*-
-//===-----------------------------------------------------------------------===//
-//
-// 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___LOCALE_DIR_LOCALE_BASE_API_WIN32_H
-#define _LIBCPP___LOCALE_DIR_LOCALE_BASE_API_WIN32_H
-
-#include <__config>
-#include <cstddef>
-#include <locale.h> // _locale_t
-#include <stdio.h>
-#include <string>
-
-#define _X_ALL LC_ALL
-#define _X_COLLATE LC_COLLATE
-#define _X_CTYPE LC_CTYPE
-#define _X_MONETARY LC_MONETARY
-#define _X_NUMERIC LC_NUMERIC
-#define _X_TIME LC_TIME
-#define _X_MAX LC_MAX
-#define _X_MESSAGES 6
-#define _NCAT (_X_MESSAGES + 1)
-
-#define _CATMASK(n) ((1 << (n)) >> 1)
-#define _M_COLLATE _CATMASK(_X_COLLATE)
-#define _M_CTYPE _CATMASK(_X_CTYPE)
-#define _M_MONETARY _CATMASK(_X_MONETARY)
-#define _M_NUMERIC _CATMASK(_X_NUMERIC)
-#define _M_TIME _CATMASK(_X_TIME)
-#define _M_MESSAGES _CATMASK(_X_MESSAGES)
-#define _M_ALL (_CATMASK(_NCAT) - 1)
-
-#define LC_COLLATE_MASK _M_COLLATE
-#define LC_CTYPE_MASK _M_CTYPE
-#define LC_MONETARY_MASK _M_MONETARY
-#define LC_NUMERIC_MASK _M_NUMERIC
-#define LC_TIME_MASK _M_TIME
-#define LC_MESSAGES_MASK _M_MESSAGES
-#define LC_ALL_MASK \
- (LC_COLLATE_MASK | LC_CTYPE_MASK | LC_MESSAGES_MASK | LC_MONETARY_MASK | LC_NUMERIC_MASK | LC_TIME_MASK)
-
-class __lconv_storage {
-public:
- __lconv_storage(const lconv* __lc_input) {
- __lc_ = *__lc_input;
-
- __decimal_point_ = __lc_input->decimal_point;
- __thousands_sep_ = __lc_input->thousands_sep;
- __grouping_ = __lc_input->grouping;
- __int_curr_symbol_ = __lc_input->int_curr_symbol;
- __currency_symbol_ = __lc_input->currency_symbol;
- __mon_decimal_point_ = __lc_input->mon_decimal_point;
- __mon_thousands_sep_ = __lc_input->mon_thousands_sep;
- __mon_grouping_ = __lc_input->mon_grouping;
- __positive_sign_ = __lc_input->positive_sign;
- __negative_sign_ = __lc_input->negative_sign;
-
- __lc_.decimal_point = const_cast<char*>(__decimal_point_.c_str());
- __lc_.thousands_sep = const_cast<char*>(__thousands_sep_.c_str());
- __lc_.grouping = const_cast<char*>(__grouping_.c_str());
- __lc_.int_curr_symbol = const_cast<char*>(__int_curr_symbol_.c_str());
- __lc_.currency_symbol = const_cast<char*>(__currency_symbol_.c_str());
- __lc_.mon_decimal_point = const_cast<char*>(__mon_decimal_point_.c_str());
- __lc_.mon_thousands_sep = const_cast<char*>(__mon_thousands_sep_.c_str());
- __lc_.mon_grouping = const_cast<char*>(__mon_grouping_.c_str());
- __lc_.positive_sign = const_cast<char*>(__positive_sign_.c_str());
- __lc_.negative_sign = const_cast<char*>(__negative_sign_.c_str());
- }
-
- lconv* __get() { return &__lc_; }
-
-private:
- lconv __lc_;
- std::string __decimal_point_;
- std::string __thousands_sep_;
- std::string __grouping_;
- std::string __int_curr_symbol_;
- std::string __currency_symbol_;
- std::string __mon_decimal_point_;
- std::string __mon_thousands_sep_;
- std::string __mon_grouping_;
- std::string __positive_sign_;
- std::string __negative_sign_;
-};
-
-class locale_t {
-public:
- locale_t() : __locale_(nullptr), __locale_str_(nullptr), __lc_(nullptr) {}
- locale_t(std::nullptr_t) : __locale_(nullptr), __locale_str_(nullptr), __lc_(nullptr) {}
- locale_t(_locale_t __xlocale, const char* __xlocale_str)
- : __locale_(__xlocale), __locale_str_(__xlocale_str), __lc_(nullptr) {}
- locale_t(const locale_t& __l) : __locale_(__l.__locale_), __locale_str_(__l.__locale_str_), __lc_(nullptr) {}
-
- ~locale_t() { delete __lc_; }
-
- locale_t& operator=(const locale_t& __l) {
- __locale_ = __l.__locale_;
- __locale_str_ = __l.__locale_str_;
- // __lc_ not copied
- return *this;
- }
-
- friend bool operator==(const locale_t& __left, const locale_t& __right) {
- return __left.__locale_ == __right.__locale_;
- }
-
- friend bool operator==(const locale_t& __left, int __right) { return __left.__locale_ == nullptr && __right == 0; }
-
- friend bool operator==(const locale_t& __left, long long __right) {
- return __left.__locale_ == nullptr && __right == 0;
- }
-
- friend bool operator==(const locale_t& __left, std::nullptr_t) { return __left.__locale_ == nullptr; }
-
- friend bool operator==(int __left, const locale_t& __right) { return __left == 0 && nullptr == __right.__locale_; }
-
- friend bool operator==(std::nullptr_t, const locale_t& __right) { return nullptr == __right.__locale_; }
-
- friend bool operator!=(const locale_t& __left, const locale_t& __right) { return !(__left == __right); }
-
- friend bool operator!=(const locale_t& __left, int __right) { return !(__left == __right); }
-
- friend bool operator!=(const locale_t& __left, long long __right) { return !(__left == __right); }
-
- friend bool operator!=(const locale_t& __left, std::nullptr_t __right) { return !(__left == __right); }
-
- friend bool operator!=(int __left, const locale_t& __right) { return !(__left == __right); }
-
- friend bool operator!=(std::nullptr_t __left, const locale_t& __right) { return !(__left == __right); }
-
- operator bool() const { return __locale_ != nullptr; }
-
- const char* __get_locale() const { return __locale_str_; }
-
- operator _locale_t() const { return __locale_; }
-
- lconv* __store_lconv(const lconv* __input_lc) {
- delete __lc_;
- __lc_ = new __lconv_storage(__input_lc);
- return __lc_->__get();
- }
-
-private:
- _locale_t __locale_;
- const char* __locale_str_;
- __lconv_storage* __lc_ = nullptr;
-};
-
-// Locale management functions
-#define freelocale _free_locale
-// FIXME: base currently unused. Needs manual work to construct the new locale
-locale_t newlocale(int __mask, const char* __locale, locale_t __base);
-// uselocale can't be implemented on Windows because Windows allows partial modification
-// of thread-local locale and so _get_current_locale() returns a copy while uselocale does
-// not create any copies.
-// We can still implement raii even without uselocale though.
-
-lconv* localeconv_l(locale_t& __loc);
-size_t mbrlen_l(const char* __restrict __s, size_t __n, mbstate_t* __restrict __ps, locale_t __loc);
-size_t mbsrtowcs_l(
- wchar_t* __restrict __dst, const char** __restrict __src, size_t __len, mbstate_t* __restrict __ps, locale_t __loc);
-size_t wcrtomb_l(char* __restrict __s, wchar_t __wc, mbstate_t* __restrict __ps, locale_t __loc);
-size_t mbrtowc_l(
- wchar_t* __restrict __pwc, const char* __restrict __s, size_t __n, mbstate_t* __restrict __ps, locale_t __loc);
-size_t mbsnrtowcs_l(wchar_t* __restrict __dst,
- const char** __restrict __src,
- size_t __nms,
- size_t __len,
- mbstate_t* __restrict __ps,
- locale_t __loc);
-size_t wcsnrtombs_l(char* __restrict __dst,
- const wchar_t** __restrict __src,
- size_t __nwc,
- size_t __len,
- mbstate_t* __restrict __ps,
- locale_t __loc);
-wint_t btowc_l(int __c, locale_t __loc);
-int wctob_l(wint_t __c, locale_t __loc);
-
-decltype(MB_CUR_MAX) MB_CUR_MAX_L(locale_t __l);
-
-// the *_l functions are prefixed on Windows, only available for msvcr80+, VS2005+
-#define mbtowc_l _mbtowc_l
-#define strtoll_l _strtoi64_l
-#define strtoull_l _strtoui64_l
-#define strtod_l _strtod_l
-#if defined(_LIBCPP_MSVCRT)
-# define strtof_l _strtof_l
-# define strtold_l _strtold_l
-#else
-_LIBCPP_EXPORTED_FROM_ABI float strtof_l(const char*, char**, locale_t);
-_LIBCPP_EXPORTED_FROM_ABI long double strtold_l(const char*, char**, locale_t);
-#endif
-inline _LIBCPP_HIDE_FROM_ABI int islower_l(int __c, _locale_t __loc) { return _islower_l((int)__c, __loc); }
-
-inline _LIBCPP_HIDE_FROM_ABI int isupper_l(int __c, _locale_t __loc) { return _isupper_l((int)__c, __loc); }
-
-#define isdigit_l _isdigit_l
-#define isxdigit_l _isxdigit_l
-#define strcoll_l _strcoll_l
-#define strxfrm_l _strxfrm_l
-#define wcscoll_l _wcscoll_l
-#define wcsxfrm_l _wcsxfrm_l
-#define toupper_l _toupper_l
-#define tolower_l _tolower_l
-#define iswspace_l _iswspace_l
-#define iswprint_l _iswprint_l
-#define iswcntrl_l _iswcntrl_l
-#define iswupper_l _iswupper_l
-#define iswlower_l _iswlower_l
-#define iswalpha_l _iswalpha_l
-#define iswdigit_l _iswdigit_l
-#define iswpunct_l _iswpunct_l
-#define iswxdigit_l _iswxdigit_l
-#define towupper_l _towupper_l
-#define towlower_l _towlower_l
-#if defined(__MINGW32__) && __MSVCRT_VERSION__ < 0x0800
-_LIBCPP_EXPORTED_FROM_ABI size_t strftime_l(char* ret, size_t n, const char* format, const struct tm* tm, locale_t loc);
-#else
-# define strftime_l _strftime_l
-#endif
-#define sscanf_l(__s, __l, __f, ...) _sscanf_l(__s, __f, __l, __VA_ARGS__)
-_LIBCPP_EXPORTED_FROM_ABI int snprintf_l(char* __ret, size_t __n, locale_t __loc, const char* __format, ...);
-_LIBCPP_EXPORTED_FROM_ABI int asprintf_l(char** __ret, locale_t __loc, const char* __format, ...);
-_LIBCPP_EXPORTED_FROM_ABI int vasprintf_l(char** __ret, locale_t __loc, const char* __format, va_list __ap);
-
-// not-so-pressing FIXME: use locale to determine blank characters
-inline int iswblank_l(wint_t __c, locale_t /*loc*/) { return (__c == L' ' || __c == L'\t'); }
-
-#endif // _LIBCPP___LOCALE_DIR_LOCALE_BASE_API_WIN32_H
diff --git a/libcxx/include/__locale_dir/locale_guard.h b/libcxx/include/__locale_dir/locale_guard.h
deleted file mode 100644
index e0c414c001c4..000000000000
--- a/libcxx/include/__locale_dir/locale_guard.h
+++ /dev/null
@@ -1,78 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// 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___LOCALE_DIR_LOCALE_GUARD_H
-#define _LIBCPP___LOCALE_DIR_LOCALE_GUARD_H
-
-#include <__config>
-#include <__locale> // for locale_t
-#include <clocale>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-#if defined(_LIBCPP_MSVCRT_LIKE)
-struct __locale_guard {
- __locale_guard(locale_t __l) : __status(_configthreadlocale(_ENABLE_PER_THREAD_LOCALE)) {
- // Setting the locale can be expensive even when the locale given is
- // already the current locale, so do an explicit check to see if the
- // current locale is already the one we want.
- const char* __lc = __setlocale(nullptr);
- // If every category is the same, the locale string will simply be the
- // locale name, otherwise it will be a semicolon-separated string listing
- // each category. In the second case, we know at least one category won't
- // be what we want, so we only have to check the first case.
- if (std::strcmp(__l.__get_locale(), __lc) != 0) {
- __locale_all = _strdup(__lc);
- if (__locale_all == nullptr)
- __throw_bad_alloc();
- __setlocale(__l.__get_locale());
- }
- }
- ~__locale_guard() {
- // The CRT documentation doesn't explicitly say, but setlocale() does the
- // right thing when given a semicolon-separated list of locale settings
- // for the different categories in the same format as returned by
- // setlocale(LC_ALL, nullptr).
- if (__locale_all != nullptr) {
- __setlocale(__locale_all);
- free(__locale_all);
- }
- _configthreadlocale(__status);
- }
- static const char* __setlocale(const char* __locale) {
- const char* __new_locale = setlocale(LC_ALL, __locale);
- if (__new_locale == nullptr)
- __throw_bad_alloc();
- return __new_locale;
- }
- int __status;
- char* __locale_all = nullptr;
-};
-#else
-struct __locale_guard {
- _LIBCPP_HIDE_FROM_ABI __locale_guard(locale_t& __loc) : __old_loc_(uselocale(__loc)) {}
-
- _LIBCPP_HIDE_FROM_ABI ~__locale_guard() {
- if (__old_loc_)
- uselocale(__old_loc_);
- }
-
- locale_t __old_loc_;
-
- __locale_guard(__locale_guard const&) = delete;
- __locale_guard& operator=(__locale_guard const&) = delete;
-};
-#endif
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif // _LIBCPP___LOCALE_DIR_LOCALE_GUARD_H
diff --git a/libcxx/include/__locale_dir/support/bsd_like.h b/libcxx/include/__locale_dir/support/bsd_like.h
index cce6de64673b..da31aeaf3c58 100644
--- a/libcxx/include/__locale_dir/support/bsd_like.h
+++ b/libcxx/include/__locale_dir/support/bsd_like.h
@@ -38,8 +38,6 @@ namespace __locale {
//
using __locale_t = ::locale_t;
-inline _LIBCPP_HIDE_FROM_ABI __locale_t __uselocale(__locale_t __loc) { return ::uselocale(__loc); }
-
inline _LIBCPP_HIDE_FROM_ABI __locale_t __newlocale(int __category_mask, const char* __locale, __locale_t __base) {
return ::newlocale(__category_mask, __locale, __base);
}
diff --git a/libcxx/include/__locale_dir/support/windows.h b/libcxx/include/__locale_dir/support/windows.h
new file mode 100644
index 000000000000..03d05a410fdc
--- /dev/null
+++ b/libcxx/include/__locale_dir/support/windows.h
@@ -0,0 +1,328 @@
+//===-----------------------------------------------------------------------===//
+//
+// 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___LOCALE_DIR_SUPPORT_WINDOWS_H
+#define _LIBCPP___LOCALE_DIR_SUPPORT_WINDOWS_H
+
+#include <__config>
+#include <__cstddef/nullptr_t.h>
+#include <__utility/forward.h>
+#include <clocale> // std::lconv & friends
+#include <cstddef>
+#include <ctype.h> // ::_isupper_l & friends
+#include <locale.h> // ::_locale_t
+#include <stdio.h> // ::_sscanf_l
+#include <stdlib.h> // ::_strtod_l & friends
+#include <string.h> // ::_strcoll_l
+#include <string>
+#include <time.h> // ::_strftime_l
+
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+#endif
+
+#define _CATMASK(n) ((1 << (n)) >> 1)
+#define LC_COLLATE_MASK _CATMASK(LC_COLLATE)
+#define LC_CTYPE_MASK _CATMASK(LC_CTYPE)
+#define LC_MONETARY_MASK _CATMASK(LC_MONETARY)
+#define LC_NUMERIC_MASK _CATMASK(LC_NUMERIC)
+#define LC_TIME_MASK _CATMASK(LC_TIME)
+#define LC_MESSAGES_MASK _CATMASK(6)
+#define LC_ALL_MASK \
+ (LC_COLLATE_MASK | LC_CTYPE_MASK | LC_MESSAGES_MASK | LC_MONETARY_MASK | LC_NUMERIC_MASK | LC_TIME_MASK)
+
+_LIBCPP_BEGIN_NAMESPACE_STD
+namespace __locale {
+
+class __lconv_storage {
+public:
+ __lconv_storage(const lconv* __lc_input) {
+ __lc_ = *__lc_input;
+
+ __decimal_point_ = __lc_input->decimal_point;
+ __thousands_sep_ = __lc_input->thousands_sep;
+ __grouping_ = __lc_input->grouping;
+ __int_curr_symbol_ = __lc_input->int_curr_symbol;
+ __currency_symbol_ = __lc_input->currency_symbol;
+ __mon_decimal_point_ = __lc_input->mon_decimal_point;
+ __mon_thousands_sep_ = __lc_input->mon_thousands_sep;
+ __mon_grouping_ = __lc_input->mon_grouping;
+ __positive_sign_ = __lc_input->positive_sign;
+ __negative_sign_ = __lc_input->negative_sign;
+
+ __lc_.decimal_point = const_cast<char*>(__decimal_point_.c_str());
+ __lc_.thousands_sep = const_cast<char*>(__thousands_sep_.c_str());
+ __lc_.grouping = const_cast<char*>(__grouping_.c_str());
+ __lc_.int_curr_symbol = const_cast<char*>(__int_curr_symbol_.c_str());
+ __lc_.currency_symbol = const_cast<char*>(__currency_symbol_.c_str());
+ __lc_.mon_decimal_point = const_cast<char*>(__mon_decimal_point_.c_str());
+ __lc_.mon_thousands_sep = const_cast<char*>(__mon_thousands_sep_.c_str());
+ __lc_.mon_grouping = const_cast<char*>(__mon_grouping_.c_str());
+ __lc_.positive_sign = const_cast<char*>(__positive_sign_.c_str());
+ __lc_.negative_sign = const_cast<char*>(__negative_sign_.c_str());
+ }
+
+ std::lconv* __get() { return &__lc_; }
+
+private:
+ std::lconv __lc_;
+ std::string __decimal_point_;
+ std::string __thousands_sep_;
+ std::string __grouping_;
+ std::string __int_curr_symbol_;
+ std::string __currency_symbol_;
+ std::string __mon_decimal_point_;
+ std::string __mon_thousands_sep_;
+ std::string __mon_grouping_;
+ std::string __positive_sign_;
+ std::string __negative_sign_;
+};
+
+//
+// Locale management
+//
+class __locale_t {
+public:
+ __locale_t() : __locale_(nullptr), __locale_str_(nullptr), __lc_(nullptr) {}
+ __locale_t(std::nullptr_t) : __locale_(nullptr), __locale_str_(nullptr), __lc_(nullptr) {}
+ __locale_t(::_locale_t __loc, const char* __loc_str) : __locale_(__loc), __locale_str_(__loc_str), __lc_(nullptr) {}
+ __locale_t(const __locale_t& __loc)
+ : __locale_(__loc.__locale_), __locale_str_(__loc.__locale_str_), __lc_(nullptr) {}
+
+ ~__locale_t() { delete __lc_; }
+
+ __locale_t& operator=(const __locale_t& __loc) {
+ __locale_ = __loc.__locale_;
+ __locale_str_ = __loc.__locale_str_;
+ // __lc_ not copied
+ return *this;
+ }
+
+ friend bool operator==(const __locale_t& __left, const __locale_t& __right) {
+ return __left.__locale_ == __right.__locale_;
+ }
+
+ friend bool operator==(const __locale_t& __left, int __right) { return __left.__locale_ == nullptr && __right == 0; }
+
+ friend bool operator==(const __locale_t& __left, long long __right) {
+ return __left.__locale_ == nullptr && __right == 0;
+ }
+
+ friend bool operator==(const __locale_t& __left, std::nullptr_t) { return __left.__locale_ == nullptr; }
+
+ friend bool operator==(int __left, const __locale_t& __right) { return __left == 0 && nullptr == __right.__locale_; }
+
+ friend bool operator==(std::nullptr_t, const __locale_t& __right) { return nullptr == __right.__locale_; }
+
+ friend bool operator!=(const __locale_t& __left, const __locale_t& __right) { return !(__left == __right); }
+
+ friend bool operator!=(const __locale_t& __left, int __right) { return !(__left == __right); }
+
+ friend bool operator!=(const __locale_t& __left, long long __right) { return !(__left == __right); }
+
+ friend bool operator!=(const __locale_t& __left, std::nullptr_t __right) { return !(__left == __right); }
+
+ friend bool operator!=(int __left, const __locale_t& __right) { return !(__left == __right); }
+
+ friend bool operator!=(std::nullptr_t __left, const __locale_t& __right) { return !(__left == __right); }
+
+ operator bool() const { return __locale_ != nullptr; }
+
+ const char* __get_locale() const { return __locale_str_; }
+
+ operator ::_locale_t() const { return __locale_; }
+
+ std::lconv* __store_lconv(const std::lconv* __input_lc) {
+ delete __lc_;
+ __lc_ = new __lconv_storage(__input_lc);
+ return __lc_->__get();
+ }
+
+private:
+ ::_locale_t __locale_;
+ const char* __locale_str_;
+ __lconv_storage* __lc_ = nullptr;
+};
+
+_LIBCPP_EXPORTED_FROM_ABI __locale_t __newlocale(int __mask, const char* __locale, __locale_t __base);
+inline _LIBCPP_HIDE_FROM_ABI void __freelocale(__locale_t __loc) { ::_free_locale(__loc); }
+_LIBCPP_EXPORTED_FROM_ABI lconv* __localeconv(__locale_t& __loc);
+
+//
+// Strtonum functions
+//
+
+// the *_l functions are prefixed on Windows, only available for msvcr80+, VS2005+
+#if defined(_LIBCPP_MSVCRT)
+inline _LIBCPP_HIDE_FROM_ABI float __strtof(const char* __nptr, char** __endptr, __locale_t __loc) {
+ return ::_strtof_l(__nptr, __endptr, __loc);
+}
+inline _LIBCPP_HIDE_FROM_ABI long double __strtold(const char* __nptr, char** __endptr, __locale_t __loc) {
+ return ::_strtold_l(__nptr, __endptr, __loc);
+}
+#else
+_LIBCPP_EXPORTED_FROM_ABI float __strtof(const char*, char**, __locale_t);
+_LIBCPP_EXPORTED_FROM_ABI long double __strtold(const char*, char**, __locale_t);
+#endif
+
+inline _LIBCPP_HIDE_FROM_ABI double __strtod(const char* __nptr, char** __endptr, __locale_t __loc) {
+ return ::_strtod_l(__nptr, __endptr, __loc);
+}
+
+inline _LIBCPP_HIDE_FROM_ABI long long __strtoll(const char* __nptr, char** __endptr, int __base, __locale_t __loc) {
+ return ::_strtoi64_l(__nptr, __endptr, __base, __loc);
+}
+inline _LIBCPP_HIDE_FROM_ABI unsigned long long
+__strtoull(const char* __nptr, char** __endptr, int __base, __locale_t __loc) {
+ return ::_strtoui64_l(__nptr, __endptr, __base, __loc);
+}
+
+//
+// Character manipulation functions
+//
+inline _LIBCPP_HIDE_FROM_ABI int __islower(int __c, __locale_t __loc) { return _islower_l(__c, __loc); }
+
+inline _LIBCPP_HIDE_FROM_ABI int __isupper(int __c, __locale_t __loc) { return _isupper_l(__c, __loc); }
+
+inline _LIBCPP_HIDE_FROM_ABI int __isdigit(int __c, __locale_t __loc) { return _isdigit_l(__c, __loc); }
+
+inline _LIBCPP_HIDE_FROM_ABI int __isxdigit(int __c, __locale_t __loc) { return _isxdigit_l(__c, __loc); }
+
+inline _LIBCPP_HIDE_FROM_ABI int __toupper(int __c, __locale_t __loc) { return ::_toupper_l(__c, __loc); }
+
+inline _LIBCPP_HIDE_FROM_ABI int __tolower(int __c, __locale_t __loc) { return ::_tolower_l(__c, __loc); }
+
+inline _LIBCPP_HIDE_FROM_ABI int __strcoll(const char* __s1, const char* __s2, __locale_t __loc) {
+ return ::_strcoll_l(__s1, __s2, __loc);
+}
+
+inline _LIBCPP_HIDE_FROM_ABI size_t __strxfrm(char* __dest, const char* __src, size_t __n, __locale_t __loc) {
+ return ::_strxfrm_l(__dest, __src, __n, __loc);
+}
+
+#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
+inline _LIBCPP_HIDE_FROM_ABI int __iswspace(wint_t __c, __locale_t __loc) { return ::_iswspace_l(__c, __loc); }
+inline _LIBCPP_HIDE_FROM_ABI int __iswprint(wint_t __c, __locale_t __loc) { return ::_iswprint_l(__c, __loc); }
+inline _LIBCPP_HIDE_FROM_ABI int __iswcntrl(wint_t __c, __locale_t __loc) { return ::_iswcntrl_l(__c, __loc); }
+inline _LIBCPP_HIDE_FROM_ABI int __iswupper(wint_t __c, __locale_t __loc) { return ::_iswupper_l(__c, __loc); }
+inline _LIBCPP_HIDE_FROM_ABI int __iswlower(wint_t __c, __locale_t __loc) { return ::_iswlower_l(__c, __loc); }
+inline _LIBCPP_HIDE_FROM_ABI int __iswalpha(wint_t __c, __locale_t __loc) { return ::_iswalpha_l(__c, __loc); }
+// TODO: use locale to determine blank characters
+inline _LIBCPP_HIDE_FROM_ABI int __iswblank(wint_t __c, __locale_t /*loc*/) { return (__c == L' ' || __c == L'\t'); }
+inline _LIBCPP_HIDE_FROM_ABI int __iswdigit(wint_t __c, __locale_t __loc) { return ::_iswdigit_l(__c, __loc); }
+inline _LIBCPP_HIDE_FROM_ABI int __iswpunct(wint_t __c, __locale_t __loc) { return ::_iswpunct_l(__c, __loc); }
+inline _LIBCPP_HIDE_FROM_ABI int __iswxdigit(wint_t __c, __locale_t __loc) { return ::_iswxdigit_l(__c, __loc); }
+inline _LIBCPP_HIDE_FROM_ABI wint_t __towupper(wint_t __c, __locale_t __loc) { return ::_towupper_l(__c, __loc); }
+inline _LIBCPP_HIDE_FROM_ABI wint_t __towlower(wint_t __c, __locale_t __loc) { return ::_towlower_l(__c, __loc); }
+
+inline _LIBCPP_HIDE_FROM_ABI int __wcscoll(const wchar_t* __ws1, const wchar_t* __ws2, __locale_t __loc) {
+ return ::_wcscoll_l(__ws1, __ws2, __loc);
+}
+
+inline _LIBCPP_HIDE_FROM_ABI size_t __wcsxfrm(wchar_t* __dest, const wchar_t* __src, size_t __n, __locale_t __loc) {
+ return ::_wcsxfrm_l(__dest, __src, __n, __loc);
+}
+#endif // !_LIBCPP_HAS_NO_WIDE_CHARACTERS
+
+#if defined(__MINGW32__) && __MSVCRT_VERSION__ < 0x0800
+_LIBCPP_EXPORTED_FROM_ABI size_t __strftime(char*, size_t, const char*, const struct tm*, __locale_t);
+#else
+inline _LIBCPP_HIDE_FROM_ABI size_t
+__strftime(char* __ret, size_t __n, const char* __format, const struct tm* __tm, __locale_t __loc) {
+ return ::_strftime_l(__ret, __n, __format, __tm, __loc);
+}
+#endif
+
+//
+// Other functions
+//
+_LIBCPP_EXPORTED_FROM_ABI decltype(MB_CUR_MAX) __mb_len_max(__locale_t);
+_LIBCPP_EXPORTED_FROM_ABI wint_t __btowc(int, __locale_t);
+_LIBCPP_EXPORTED_FROM_ABI int __wctob(wint_t, __locale_t);
+_LIBCPP_EXPORTED_FROM_ABI size_t
+__wcsnrtombs(char* __restrict, const wchar_t** __restrict, size_t, size_t, mbstate_t* __restrict, __locale_t);
+_LIBCPP_EXPORTED_FROM_ABI size_t __wcrtomb(char* __restrict, wchar_t, mbstate_t* __restrict, __locale_t);
+_LIBCPP_EXPORTED_FROM_ABI size_t
+__mbsnrtowcs(wchar_t* __restrict, const char** __restrict, size_t, size_t, mbstate_t* __restrict, __locale_t);
+_LIBCPP_EXPORTED_FROM_ABI size_t
+__mbrtowc(wchar_t* __restrict, const char* __restrict, size_t, mbstate_t* __restrict, __locale_t);
+
+inline _LIBCPP_HIDE_FROM_ABI int __mbtowc(wchar_t* __pwc, const char* __pmb, size_t __max, __locale_t __loc) {
+ return ::_mbtowc_l(__pwc, __pmb, __max, __loc);
+}
+
+_LIBCPP_EXPORTED_FROM_ABI size_t __mbrlen(const char* __restrict, size_t, mbstate_t* __restrict, __locale_t);
+
+_LIBCPP_EXPORTED_FROM_ABI size_t
+__mbsrtowcs(wchar_t* __restrict, const char** __restrict, size_t, mbstate_t* __restrict, __locale_t);
+
+_LIBCPP_EXPORTED_FROM_ABI _LIBCPP_ATTRIBUTE_FORMAT(__printf__, 4, 5) int __snprintf(
+ char* __ret, size_t __n, __locale_t __loc, const char* __format, ...);
+
+_LIBCPP_EXPORTED_FROM_ABI
+_LIBCPP_ATTRIBUTE_FORMAT(__printf__, 3, 4) int __asprintf(char** __ret, __locale_t __loc, const char* __format, ...);
+
+_LIBCPP_DIAGNOSTIC_PUSH
+_LIBCPP_CLANG_DIAGNOSTIC_IGNORED("-Wgcc-compat")
+_LIBCPP_GCC_DIAGNOSTIC_IGNORED("-Wformat-nonliteral") // GCC doesn't support [[gnu::format]] on variadic templates
+#ifdef _LIBCPP_COMPILER_CLANG_BASED
+# define _LIBCPP_VARIADIC_ATTRIBUTE_FORMAT(...) _LIBCPP_ATTRIBUTE_FORMAT(__VA_ARGS__)
+#else
+# define _LIBCPP_VARIADIC_ATTRIBUTE_FORMAT(...) /* nothing */
+#endif
+
+template <class... _Args>
+_LIBCPP_HIDE_FROM_ABI _LIBCPP_VARIADIC_ATTRIBUTE_FORMAT(__scanf__, 3, 4) int __sscanf(
+ const char* __dest, __locale_t __loc, const char* __format, _Args&&... __args) {
+ return ::_sscanf_l(__dest, __format, __loc, std::forward<_Args>(__args)...);
+}
+_LIBCPP_DIAGNOSTIC_POP
+#undef _LIBCPP_VARIADIC_ATTRIBUTE_FORMAT
+
+struct __locale_guard {
+ _LIBCPP_HIDE_FROM_ABI __locale_guard(__locale_t __l) : __status(_configthreadlocale(_ENABLE_PER_THREAD_LOCALE)) {
+ // Setting the locale can be expensive even when the locale given is
+ // already the current locale, so do an explicit check to see if the
+ // current locale is already the one we want.
+ const char* __lc = __setlocale(nullptr);
+ // If every category is the same, the locale string will simply be the
+ // locale name, otherwise it will be a semicolon-separated string listing
+ // each category. In the second case, we know at least one category won't
+ // be what we want, so we only have to check the first case.
+ if (std::strcmp(__l.__get_locale(), __lc) != 0) {
+ __locale_all = _strdup(__lc);
+ if (__locale_all == nullptr)
+ __throw_bad_alloc();
+ __setlocale(__l.__get_locale());
+ }
+ }
+ _LIBCPP_HIDE_FROM_ABI ~__locale_guard() {
+ // The CRT documentation doesn't explicitly say, but setlocale() does the
+ // right thing when given a semicolon-separated list of locale settings
+ // for the different categories in the same format as returned by
+ // setlocale(LC_ALL, nullptr).
+ if (__locale_all != nullptr) {
+ __setlocale(__locale_all);
+ free(__locale_all);
+ }
+ _configthreadlocale(__status);
+ }
+ _LIBCPP_HIDE_FROM_ABI static const char* __setlocale(const char* __locale) {
+ const char* __new_locale = setlocale(LC_ALL, __locale);
+ if (__new_locale == nullptr)
+ __throw_bad_alloc();
+ return __new_locale;
+ }
+ int __status;
+ char* __locale_all = nullptr;
+};
+
+} // namespace __locale
+_LIBCPP_END_NAMESPACE_STD
+
+#endif // _LIBCPP___LOCALE_DIR_SUPPORT_WINDOWS_H
diff --git a/libcxx/include/__memory/allocator.h b/libcxx/include/__memory/allocator.h
index ddb4179940b8..a7066885a978 100644
--- a/libcxx/include/__memory/allocator.h
+++ b/libcxx/include/__memory/allocator.h
@@ -12,16 +12,18 @@
#include <__config>
#include <__cstddef/ptrdiff_t.h>
+#include <__cstddef/size_t.h>
#include <__memory/addressof.h>
#include <__memory/allocate_at_least.h>
#include <__memory/allocator_traits.h>
+#include <__new/allocate.h>
+#include <__new/exceptions.h>
#include <__type_traits/is_const.h>
#include <__type_traits/is_constant_evaluated.h>
#include <__type_traits/is_same.h>
#include <__type_traits/is_void.h>
#include <__type_traits/is_volatile.h>
#include <__utility/forward.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__memory/allocator_arg_t.h b/libcxx/include/__memory/allocator_arg_t.h
index dc4398bb02d3..72a0a9c399bd 100644
--- a/libcxx/include/__memory/allocator_arg_t.h
+++ b/libcxx/include/__memory/allocator_arg_t.h
@@ -39,10 +39,10 @@ constexpr allocator_arg_t allocator_arg = allocator_arg_t();
template <class _Tp, class _Alloc, class... _Args>
struct __uses_alloc_ctor_imp {
- typedef _LIBCPP_NODEBUG __remove_cvref_t<_Alloc> _RawAlloc;
- static const bool __ua = uses_allocator<_Tp, _RawAlloc>::value;
- static const bool __ic = is_constructible<_Tp, allocator_arg_t, _Alloc, _Args...>::value;
- static const int value = __ua ? 2 - __ic : 0;
+ using _RawAlloc _LIBCPP_NODEBUG = __remove_cvref_t<_Alloc>;
+ static const bool __ua = uses_allocator<_Tp, _RawAlloc>::value;
+ static const bool __ic = is_constructible<_Tp, allocator_arg_t, _Alloc, _Args...>::value;
+ static const int value = __ua ? 2 - __ic : 0;
};
template <class _Tp, class _Alloc, class... _Args>
diff --git a/libcxx/include/__memory/allocator_destructor.h b/libcxx/include/__memory/allocator_destructor.h
index ed3d8918f5fe..aac92a23fa0d 100644
--- a/libcxx/include/__memory/allocator_destructor.h
+++ b/libcxx/include/__memory/allocator_destructor.h
@@ -20,11 +20,11 @@ _LIBCPP_BEGIN_NAMESPACE_STD
template <class _Alloc>
class __allocator_destructor {
- typedef _LIBCPP_NODEBUG allocator_traits<_Alloc> __alloc_traits;
+ using __alloc_traits _LIBCPP_NODEBUG = allocator_traits<_Alloc>;
public:
- typedef _LIBCPP_NODEBUG typename __alloc_traits::pointer pointer;
- typedef _LIBCPP_NODEBUG typename __alloc_traits::size_type size_type;
+ using pointer _LIBCPP_NODEBUG = typename __alloc_traits::pointer;
+ using size_type _LIBCPP_NODEBUG = typename __alloc_traits::size_type;
private:
_Alloc& __alloc_;
diff --git a/libcxx/include/__memory/allocator_traits.h b/libcxx/include/__memory/allocator_traits.h
index 62b454c92275..2d9ab847e9f2 100644
--- a/libcxx/include/__memory/allocator_traits.h
+++ b/libcxx/include/__memory/allocator_traits.h
@@ -44,10 +44,10 @@ _LIBCPP_BEGIN_NAMESPACE_STD
// __pointer
template <class _Tp>
-using __pointer_member = typename _Tp::pointer;
+using __pointer_member _LIBCPP_NODEBUG = typename _Tp::pointer;
template <class _Tp, class _Alloc>
-using __pointer = __detected_or_t<_Tp*, __pointer_member, __libcpp_remove_reference_t<_Alloc> >;
+using __pointer _LIBCPP_NODEBUG = __detected_or_t<_Tp*, __pointer_member, __libcpp_remove_reference_t<_Alloc> >;
// __const_pointer
_LIBCPP_ALLOCATOR_TRAITS_HAS_XXX(__has_const_pointer, const_pointer);
@@ -58,7 +58,7 @@ struct __const_pointer {
template <class _Tp, class _Ptr, class _Alloc>
struct __const_pointer<_Tp, _Ptr, _Alloc, false> {
#ifdef _LIBCPP_CXX03_LANG
- using type = typename pointer_traits<_Ptr>::template rebind<const _Tp>::other;
+ using type _LIBCPP_NODEBUG = typename pointer_traits<_Ptr>::template rebind<const _Tp>::other;
#else
using type _LIBCPP_NODEBUG = typename pointer_traits<_Ptr>::template rebind<const _Tp>;
#endif
@@ -96,10 +96,10 @@ struct __const_void_pointer<_Ptr, _Alloc, false> {
// __size_type
template <class _Tp>
-using __size_type_member = typename _Tp::size_type;
+using __size_type_member _LIBCPP_NODEBUG = typename _Tp::size_type;
template <class _Alloc, class _DiffType>
-using __size_type = __detected_or_t<__make_unsigned_t<_DiffType>, __size_type_member, _Alloc>;
+using __size_type _LIBCPP_NODEBUG = __detected_or_t<__make_unsigned_t<_DiffType>, __size_type_member, _Alloc>;
// __alloc_traits_difference_type
_LIBCPP_ALLOCATOR_TRAITS_HAS_XXX(__has_alloc_traits_difference_type, difference_type);
@@ -114,33 +114,37 @@ struct __alloc_traits_difference_type<_Alloc, _Ptr, true> {
// __propagate_on_container_copy_assignment
template <class _Tp>
-using __propagate_on_container_copy_assignment_member = typename _Tp::propagate_on_container_copy_assignment;
+using __propagate_on_container_copy_assignment_member _LIBCPP_NODEBUG =
+ typename _Tp::propagate_on_container_copy_assignment;
template <class _Alloc>
-using __propagate_on_container_copy_assignment =
+using __propagate_on_container_copy_assignment _LIBCPP_NODEBUG =
__detected_or_t<false_type, __propagate_on_container_copy_assignment_member, _Alloc>;
// __propagate_on_container_move_assignment
template <class _Tp>
-using __propagate_on_container_move_assignment_member = typename _Tp::propagate_on_container_move_assignment;
+using __propagate_on_container_move_assignment_member _LIBCPP_NODEBUG =
+ typename _Tp::propagate_on_container_move_assignment;
template <class _Alloc>
-using __propagate_on_container_move_assignment =
+using __propagate_on_container_move_assignment _LIBCPP_NODEBUG =
__detected_or_t<false_type, __propagate_on_container_move_assignment_member, _Alloc>;
// __propagate_on_container_swap
template <class _Tp>
-using __propagate_on_container_swap_member = typename _Tp::propagate_on_container_swap;
+using __propagate_on_container_swap_member _LIBCPP_NODEBUG = typename _Tp::propagate_on_container_swap;
template <class _Alloc>
-using __propagate_on_container_swap = __detected_or_t<false_type, __propagate_on_container_swap_member, _Alloc>;
+using __propagate_on_container_swap _LIBCPP_NODEBUG =
+ __detected_or_t<false_type, __propagate_on_container_swap_member, _Alloc>;
// __is_always_equal
template <class _Tp>
-using __is_always_equal_member = typename _Tp::is_always_equal;
+using __is_always_equal_member _LIBCPP_NODEBUG = typename _Tp::is_always_equal;
template <class _Alloc>
-using __is_always_equal = __detected_or_t<typename is_empty<_Alloc>::type, __is_always_equal_member, _Alloc>;
+using __is_always_equal _LIBCPP_NODEBUG =
+ __detected_or_t<typename is_empty<_Alloc>::type, __is_always_equal_member, _Alloc>;
// __allocator_traits_rebind
_LIBCPP_SUPPRESS_DEPRECATED_PUSH
@@ -165,7 +169,7 @@ struct __allocator_traits_rebind<_Alloc<_Tp, _Args...>, _Up, false> {
_LIBCPP_SUPPRESS_DEPRECATED_POP
template <class _Alloc, class _Tp>
-using __allocator_traits_rebind_t = typename __allocator_traits_rebind<_Alloc, _Tp>::type;
+using __allocator_traits_rebind_t _LIBCPP_NODEBUG = typename __allocator_traits_rebind<_Alloc, _Tp>::type;
_LIBCPP_SUPPRESS_DEPRECATED_PUSH
@@ -355,12 +359,12 @@ template <class _Traits, class _Tp>
using __rebind_alloc _LIBCPP_NODEBUG = typename _Traits::template rebind_alloc<_Tp>;
#else
template <class _Traits, class _Tp>
-using __rebind_alloc = typename _Traits::template rebind_alloc<_Tp>::other;
+using __rebind_alloc _LIBCPP_NODEBUG = typename _Traits::template rebind_alloc<_Tp>::other;
#endif
template <class _Alloc>
struct __check_valid_allocator : true_type {
- using _Traits = std::allocator_traits<_Alloc>;
+ using _Traits _LIBCPP_NODEBUG = std::allocator_traits<_Alloc>;
static_assert(is_same<_Alloc, __rebind_alloc<_Traits, typename _Traits::value_type> >::value,
"[allocator.requirements] states that rebinding an allocator to the same type should result in the "
"original allocator");
diff --git a/libcxx/include/__memory/builtin_new_allocator.h b/libcxx/include/__memory/builtin_new_allocator.h
index 128288efb05b..cde1a6025a9a 100644
--- a/libcxx/include/__memory/builtin_new_allocator.h
+++ b/libcxx/include/__memory/builtin_new_allocator.h
@@ -10,8 +10,9 @@
#define _LIBCPP___MEMORY_BUILTIN_NEW_ALLOCATOR_H
#include <__config>
+#include <__cstddef/size_t.h>
#include <__memory/unique_ptr.h>
-#include <new>
+#include <__new/allocate.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__memory/compressed_pair.h b/libcxx/include/__memory/compressed_pair.h
index a7acaaff9da0..38798a21fa3c 100644
--- a/libcxx/include/__memory/compressed_pair.h
+++ b/libcxx/include/__memory/compressed_pair.h
@@ -50,9 +50,19 @@ _LIBCPP_BEGIN_NAMESPACE_STD
// member1 - offset: 0, size: 4
// member2 - offset: 4, size: 4
// member3 - offset: 8, size: 8
+//
+// Furthermore, that alignment must be the same as what was used in the old __compressed_pair layout, so we must
+// handle reference types specially since alignof(T&) == alignof(T).
+// See https://github.com/llvm/llvm-project/issues/118559.
#ifndef _LIBCPP_ABI_NO_COMPRESSED_PAIR_PADDING
+template <class _Tp>
+inline const size_t __compressed_pair_alignment = _LIBCPP_ALIGNOF(_Tp);
+
+template <class _Tp>
+inline const size_t __compressed_pair_alignment<_Tp&> = _LIBCPP_ALIGNOF(void*);
+
template <class _ToPad,
bool _Empty = ((is_empty<_ToPad>::value && !__libcpp_is_final<_ToPad>::value) ||
is_reference<_ToPad>::value || sizeof(_ToPad) == __datasizeof_v<_ToPad>)>
@@ -64,14 +74,15 @@ template <class _ToPad>
class __compressed_pair_padding<_ToPad, true> {};
# define _LIBCPP_COMPRESSED_PAIR(T1, Initializer1, T2, Initializer2) \
- _LIBCPP_NO_UNIQUE_ADDRESS __attribute__((__aligned__(_LIBCPP_ALIGNOF(T2)))) T1 Initializer1; \
+ _LIBCPP_NO_UNIQUE_ADDRESS __attribute__((__aligned__(::std::__compressed_pair_alignment<T2>))) T1 Initializer1; \
_LIBCPP_NO_UNIQUE_ADDRESS ::std::__compressed_pair_padding<T1> _LIBCPP_CONCAT3(__padding1_, __LINE__, _); \
_LIBCPP_NO_UNIQUE_ADDRESS T2 Initializer2; \
_LIBCPP_NO_UNIQUE_ADDRESS ::std::__compressed_pair_padding<T2> _LIBCPP_CONCAT3(__padding2_, __LINE__, _)
# define _LIBCPP_COMPRESSED_TRIPLE(T1, Initializer1, T2, Initializer2, T3, Initializer3) \
_LIBCPP_NO_UNIQUE_ADDRESS \
- __attribute__((__aligned__(_LIBCPP_ALIGNOF(T2)), __aligned__(_LIBCPP_ALIGNOF(T3)))) T1 Initializer1; \
+ __attribute__((__aligned__(::std::__compressed_pair_alignment<T2>), \
+ __aligned__(::std::__compressed_pair_alignment<T3>))) T1 Initializer1; \
_LIBCPP_NO_UNIQUE_ADDRESS ::std::__compressed_pair_padding<T1> _LIBCPP_CONCAT3(__padding1_, __LINE__, _); \
_LIBCPP_NO_UNIQUE_ADDRESS T2 Initializer2; \
_LIBCPP_NO_UNIQUE_ADDRESS ::std::__compressed_pair_padding<T2> _LIBCPP_CONCAT3(__padding2_, __LINE__, _); \
diff --git a/libcxx/include/__memory/construct_at.h b/libcxx/include/__memory/construct_at.h
index d8c97467f54b..1f129d17970b 100644
--- a/libcxx/include/__memory/construct_at.h
+++ b/libcxx/include/__memory/construct_at.h
@@ -14,12 +14,12 @@
#include <__config>
#include <__iterator/access.h>
#include <__memory/addressof.h>
+#include <__new/placement_new_delete.h>
#include <__type_traits/enable_if.h>
#include <__type_traits/is_array.h>
#include <__utility/declval.h>
#include <__utility/forward.h>
#include <__utility/move.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__memory/pointer_traits.h b/libcxx/include/__memory/pointer_traits.h
index 4acf3d18401a..e35cfb7c3b87 100644
--- a/libcxx/include/__memory/pointer_traits.h
+++ b/libcxx/include/__memory/pointer_traits.h
@@ -50,17 +50,17 @@ struct __pointer_traits_element_type {};
template <class _Ptr>
struct __pointer_traits_element_type<_Ptr, true> {
- typedef _LIBCPP_NODEBUG typename _Ptr::element_type type;
+ using type _LIBCPP_NODEBUG = typename _Ptr::element_type;
};
template <template <class, class...> class _Sp, class _Tp, class... _Args>
struct __pointer_traits_element_type<_Sp<_Tp, _Args...>, true> {
- typedef _LIBCPP_NODEBUG typename _Sp<_Tp, _Args...>::element_type type;
+ using type _LIBCPP_NODEBUG = typename _Sp<_Tp, _Args...>::element_type;
};
template <template <class, class...> class _Sp, class _Tp, class... _Args>
struct __pointer_traits_element_type<_Sp<_Tp, _Args...>, false> {
- typedef _LIBCPP_NODEBUG _Tp type;
+ using type _LIBCPP_NODEBUG = _Tp;
};
template <class _Tp, class = void>
@@ -71,12 +71,12 @@ struct __has_difference_type<_Tp, __void_t<typename _Tp::difference_type> > : tr
template <class _Ptr, bool = __has_difference_type<_Ptr>::value>
struct __pointer_traits_difference_type {
- typedef _LIBCPP_NODEBUG ptrdiff_t type;
+ using type _LIBCPP_NODEBUG = ptrdiff_t;
};
template <class _Ptr>
struct __pointer_traits_difference_type<_Ptr, true> {
- typedef _LIBCPP_NODEBUG typename _Ptr::difference_type type;
+ using type _LIBCPP_NODEBUG = typename _Ptr::difference_type;
};
template <class _Tp, class _Up>
@@ -96,18 +96,18 @@ public:
template <class _Tp, class _Up, bool = __has_rebind<_Tp, _Up>::value>
struct __pointer_traits_rebind {
#ifndef _LIBCPP_CXX03_LANG
- typedef _LIBCPP_NODEBUG typename _Tp::template rebind<_Up> type;
+ using type _LIBCPP_NODEBUG = typename _Tp::template rebind<_Up>;
#else
- typedef _LIBCPP_NODEBUG typename _Tp::template rebind<_Up>::other type;
+ using type _LIBCPP_NODEBUG = typename _Tp::template rebind<_Up>::other;
#endif
};
template <template <class, class...> class _Sp, class _Tp, class... _Args, class _Up>
struct __pointer_traits_rebind<_Sp<_Tp, _Args...>, _Up, true> {
#ifndef _LIBCPP_CXX03_LANG
- typedef _LIBCPP_NODEBUG typename _Sp<_Tp, _Args...>::template rebind<_Up> type;
+ using type _LIBCPP_NODEBUG = typename _Sp<_Tp, _Args...>::template rebind<_Up>;
#else
- typedef _LIBCPP_NODEBUG typename _Sp<_Tp, _Args...>::template rebind<_Up>::other type;
+ using type _LIBCPP_NODEBUG = typename _Sp<_Tp, _Args...>::template rebind<_Up>::other;
#endif
};
diff --git a/libcxx/include/__memory/ranges_construct_at.h b/libcxx/include/__memory/ranges_construct_at.h
index b7523d4ba4b8..35ed79651000 100644
--- a/libcxx/include/__memory/ranges_construct_at.h
+++ b/libcxx/include/__memory/ranges_construct_at.h
@@ -22,7 +22,6 @@
#include <__utility/declval.h>
#include <__utility/forward.h>
#include <__utility/move.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__memory/ranges_uninitialized_algorithms.h b/libcxx/include/__memory/ranges_uninitialized_algorithms.h
index 4815ac6e5de9..57a7a4616826 100644
--- a/libcxx/include/__memory/ranges_uninitialized_algorithms.h
+++ b/libcxx/include/__memory/ranges_uninitialized_algorithms.h
@@ -25,7 +25,6 @@
#include <__ranges/dangling.h>
#include <__type_traits/remove_reference.h>
#include <__utility/move.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__memory/raw_storage_iterator.h b/libcxx/include/__memory/raw_storage_iterator.h
index 2ee4c074d8d3..a81d93275f7c 100644
--- a/libcxx/include/__memory/raw_storage_iterator.h
+++ b/libcxx/include/__memory/raw_storage_iterator.h
@@ -16,7 +16,6 @@
#include <__iterator/iterator_traits.h>
#include <__memory/addressof.h>
#include <__utility/move.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__memory/shared_ptr.h b/libcxx/include/__memory/shared_ptr.h
index 5c34f2efc573..97e4031499ed 100644
--- a/libcxx/include/__memory/shared_ptr.h
+++ b/libcxx/include/__memory/shared_ptr.h
@@ -43,6 +43,7 @@
#include <__type_traits/is_bounded_array.h>
#include <__type_traits/is_constructible.h>
#include <__type_traits/is_convertible.h>
+#include <__type_traits/is_function.h>
#include <__type_traits/is_reference.h>
#include <__type_traits/is_same.h>
#include <__type_traits/is_unbounded_array.h>
@@ -56,7 +57,6 @@
#include <__utility/move.h>
#include <__utility/swap.h>
#include <__verbose_abort>
-#include <new>
#include <typeinfo>
#if _LIBCPP_HAS_ATOMIC_HEADER
# include <__atomic/memory_order.h>
diff --git a/libcxx/include/__memory/uninitialized_algorithms.h b/libcxx/include/__memory/uninitialized_algorithms.h
index 71c7ed94fec1..9587f01f64d5 100644
--- a/libcxx/include/__memory/uninitialized_algorithms.h
+++ b/libcxx/include/__memory/uninitialized_algorithms.h
@@ -15,6 +15,7 @@
#include <__algorithm/unwrap_iter.h>
#include <__algorithm/unwrap_range.h>
#include <__config>
+#include <__cstddef/size_t.h>
#include <__iterator/iterator_traits.h>
#include <__iterator/reverse_iterator.h>
#include <__memory/addressof.h>
@@ -36,7 +37,6 @@
#include <__utility/exception_guard.h>
#include <__utility/move.h>
#include <__utility/pair.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__memory/unique_ptr.h b/libcxx/include/__memory/unique_ptr.h
index 9526255583dd..2368f7b03e00 100644
--- a/libcxx/include/__memory/unique_ptr.h
+++ b/libcxx/include/__memory/unique_ptr.h
@@ -161,7 +161,7 @@ public:
private:
_LIBCPP_COMPRESSED_PAIR(pointer, __ptr_, deleter_type, __deleter_);
- typedef _LIBCPP_NODEBUG __unique_ptr_deleter_sfinae<_Dp> _DeleterSFINAE;
+ using _DeleterSFINAE _LIBCPP_NODEBUG = __unique_ptr_deleter_sfinae<_Dp>;
template <bool _Dummy>
using _LValRefType _LIBCPP_NODEBUG = typename __dependent_type<_DeleterSFINAE, _Dummy>::__lval_ref_type;
@@ -492,8 +492,8 @@ public:
bool _Dummy = true,
class = _EnableIfDeleterDefaultConstructible<_Dummy>,
class = _EnableIfPointerConvertible<_Pp> >
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 explicit unique_ptr(_Pp __p) _NOEXCEPT
- : __ptr_(__p),
+ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 explicit unique_ptr(_Pp __ptr) _NOEXCEPT
+ : __ptr_(__ptr),
__deleter_() {}
// Private constructor used by make_unique & friends to pass the size that was allocated
@@ -506,29 +506,31 @@ public:
bool _Dummy = true,
class = _EnableIfDeleterConstructible<_LValRefType<_Dummy> >,
class = _EnableIfPointerConvertible<_Pp> >
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 unique_ptr(_Pp __p, _LValRefType<_Dummy> __d) _NOEXCEPT
- : __ptr_(__p),
- __deleter_(__d) {}
+ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 unique_ptr(_Pp __ptr, _LValRefType<_Dummy> __deleter) _NOEXCEPT
+ : __ptr_(__ptr),
+ __deleter_(__deleter) {}
template <bool _Dummy = true, class = _EnableIfDeleterConstructible<_LValRefType<_Dummy> > >
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 unique_ptr(nullptr_t, _LValRefType<_Dummy> __d) _NOEXCEPT
+ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 unique_ptr(nullptr_t, _LValRefType<_Dummy> __deleter) _NOEXCEPT
: __ptr_(nullptr),
- __deleter_(__d) {}
+ __deleter_(__deleter) {}
template <class _Pp,
bool _Dummy = true,
class = _EnableIfDeleterConstructible<_GoodRValRefType<_Dummy> >,
class = _EnableIfPointerConvertible<_Pp> >
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 unique_ptr(_Pp __p, _GoodRValRefType<_Dummy> __d) _NOEXCEPT
- : __ptr_(__p),
- __deleter_(std::move(__d)) {
+ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23
+ unique_ptr(_Pp __ptr, _GoodRValRefType<_Dummy> __deleter) _NOEXCEPT
+ : __ptr_(__ptr),
+ __deleter_(std::move(__deleter)) {
static_assert(!is_reference<deleter_type>::value, "rvalue deleter bound to reference");
}
template <bool _Dummy = true, class = _EnableIfDeleterConstructible<_GoodRValRefType<_Dummy> > >
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 unique_ptr(nullptr_t, _GoodRValRefType<_Dummy> __d) _NOEXCEPT
+ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23
+ unique_ptr(nullptr_t, _GoodRValRefType<_Dummy> __deleter) _NOEXCEPT
: __ptr_(nullptr),
- __deleter_(std::move(__d)) {
+ __deleter_(std::move(__deleter)) {
static_assert(!is_reference<deleter_type>::value, "rvalue deleter bound to reference");
}
@@ -536,7 +538,7 @@ public:
bool _Dummy = true,
class = _EnableIfDeleterConstructible<_BadRValRefType<_Dummy> >,
class = _EnableIfPointerConvertible<_Pp> >
- _LIBCPP_HIDE_FROM_ABI unique_ptr(_Pp __p, _BadRValRefType<_Dummy> __d) = delete;
+ _LIBCPP_HIDE_FROM_ABI unique_ptr(_Pp __ptr, _BadRValRefType<_Dummy> __deleter) = delete;
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 unique_ptr(unique_ptr&& __u) _NOEXCEPT
: __ptr_(__u.release()),
@@ -608,9 +610,9 @@ public:
}
template <class _Pp, __enable_if_t<_CheckArrayPointerConversion<_Pp>::value, int> = 0>
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 void reset(_Pp __p) _NOEXCEPT {
+ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 void reset(_Pp __ptr) _NOEXCEPT {
pointer __tmp = __ptr_;
- __ptr_ = __p;
+ __ptr_ = __ptr;
__checker_ = _BoundsChecker();
if (__tmp)
__deleter_(__tmp);
diff --git a/libcxx/include/__memory/unique_temporary_buffer.h b/libcxx/include/__memory/unique_temporary_buffer.h
index 4f47c84e2f8d..ca6292338c00 100644
--- a/libcxx/include/__memory/unique_temporary_buffer.h
+++ b/libcxx/include/__memory/unique_temporary_buffer.h
@@ -16,8 +16,9 @@
#include <__cstddef/ptrdiff_t.h>
#include <__memory/allocator.h>
#include <__memory/unique_ptr.h>
+#include <__new/allocate.h>
+#include <__new/global_new_delete.h>
#include <__type_traits/is_constant_evaluated.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__memory_resource/monotonic_buffer_resource.h b/libcxx/include/__memory_resource/monotonic_buffer_resource.h
index c5a2b556707f..942d490ce3ae 100644
--- a/libcxx/include/__memory_resource/monotonic_buffer_resource.h
+++ b/libcxx/include/__memory_resource/monotonic_buffer_resource.h
@@ -27,8 +27,7 @@ namespace pmr {
// [mem.res.monotonic.buffer]
class _LIBCPP_AVAILABILITY_PMR _LIBCPP_EXPORTED_FROM_ABI monotonic_buffer_resource : public memory_resource {
- static const size_t __default_buffer_capacity = 1024;
- static const size_t __default_buffer_alignment = 16;
+ static constexpr size_t __default_buffer_capacity = 1024;
struct __chunk_footer {
__chunk_footer* __next_;
@@ -38,7 +37,6 @@ class _LIBCPP_AVAILABILITY_PMR _LIBCPP_EXPORTED_FROM_ABI monotonic_buffer_resour
_LIBCPP_HIDE_FROM_ABI size_t __allocation_size() {
return (reinterpret_cast<char*>(this) - __start_) + sizeof(*this);
}
- void* __try_allocate_from_chunk(size_t, size_t);
};
struct __initial_descriptor {
@@ -48,7 +46,6 @@ class _LIBCPP_AVAILABILITY_PMR _LIBCPP_EXPORTED_FROM_ABI monotonic_buffer_resour
char* __end_;
size_t __size_;
};
- void* __try_allocate_from_chunk(size_t, size_t);
};
public:
diff --git a/libcxx/include/__memory_resource/polymorphic_allocator.h b/libcxx/include/__memory_resource/polymorphic_allocator.h
index 30fa5c2170d5..2dec9788852c 100644
--- a/libcxx/include/__memory_resource/polymorphic_allocator.h
+++ b/libcxx/include/__memory_resource/polymorphic_allocator.h
@@ -15,9 +15,10 @@
#include <__cstddef/max_align_t.h>
#include <__fwd/pair.h>
#include <__memory_resource/memory_resource.h>
+#include <__new/exceptions.h>
+#include <__new/placement_new_delete.h>
#include <__utility/exception_guard.h>
#include <limits>
-#include <new>
#include <tuple>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/__new/align_val_t.h b/libcxx/include/__new/align_val_t.h
new file mode 100644
index 000000000000..ffb4e36a8bcd
--- /dev/null
+++ b/libcxx/include/__new/align_val_t.h
@@ -0,0 +1,30 @@
+//===----------------------------------------------------------------------===//
+//
+// 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___NEW_ALIGN_VAL_T_H
+#define _LIBCPP___NEW_ALIGN_VAL_T_H
+
+#include <__config>
+#include <__cstddef/size_t.h>
+
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+#endif
+
+// purposefully not using versioning namespace
+namespace std {
+#if _LIBCPP_HAS_LIBRARY_ALIGNED_ALLOCATION && !defined(_LIBCPP_ABI_VCRUNTIME)
+# ifndef _LIBCPP_CXX03_LANG
+enum class align_val_t : size_t {};
+# else
+enum align_val_t { __zero = 0, __max = (size_t)-1 };
+# endif
+#endif
+} // namespace std
+
+#endif // _LIBCPP___NEW_ALIGN_VAL_T_H
diff --git a/libcxx/include/__new/allocate.h b/libcxx/include/__new/allocate.h
new file mode 100644
index 000000000000..71dffc1776ef
--- /dev/null
+++ b/libcxx/include/__new/allocate.h
@@ -0,0 +1,101 @@
+//===----------------------------------------------------------------------===//
+//
+// 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___NEW_ALLOCATE_H
+#define _LIBCPP___NEW_ALLOCATE_H
+
+#include <__config>
+#include <__cstddef/max_align_t.h>
+#include <__cstddef/size_t.h>
+#include <__new/align_val_t.h>
+#include <__new/global_new_delete.h> // for _LIBCPP_HAS_SIZED_DEALLOCATION
+
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+#endif
+
+_LIBCPP_BEGIN_NAMESPACE_STD
+
+_LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI bool __is_overaligned_for_new(size_t __align) _NOEXCEPT {
+#ifdef __STDCPP_DEFAULT_NEW_ALIGNMENT__
+ return __align > __STDCPP_DEFAULT_NEW_ALIGNMENT__;
+#else
+ return __align > _LIBCPP_ALIGNOF(max_align_t);
+#endif
+}
+
+template <class... _Args>
+_LIBCPP_HIDE_FROM_ABI void* __libcpp_operator_new(_Args... __args) {
+#if __has_builtin(__builtin_operator_new) && __has_builtin(__builtin_operator_delete)
+ return __builtin_operator_new(__args...);
+#else
+ return ::operator new(__args...);
+#endif
+}
+
+template <class... _Args>
+_LIBCPP_HIDE_FROM_ABI void __libcpp_operator_delete(_Args... __args) _NOEXCEPT {
+#if __has_builtin(__builtin_operator_new) && __has_builtin(__builtin_operator_delete)
+ __builtin_operator_delete(__args...);
+#else
+ ::operator delete(__args...);
+#endif
+}
+
+inline _LIBCPP_HIDE_FROM_ABI void* __libcpp_allocate(size_t __size, size_t __align) {
+#if _LIBCPP_HAS_ALIGNED_ALLOCATION
+ if (__is_overaligned_for_new(__align)) {
+ const align_val_t __align_val = static_cast<align_val_t>(__align);
+ return __libcpp_operator_new(__size, __align_val);
+ }
+#endif
+
+ (void)__align;
+ return __libcpp_operator_new(__size);
+}
+
+template <class... _Args>
+_LIBCPP_HIDE_FROM_ABI void __do_deallocate_handle_size(void* __ptr, size_t __size, _Args... __args) _NOEXCEPT {
+#if !_LIBCPP_HAS_SIZED_DEALLOCATION
+ (void)__size;
+ return std::__libcpp_operator_delete(__ptr, __args...);
+#else
+ return std::__libcpp_operator_delete(__ptr, __size, __args...);
+#endif
+}
+
+inline _LIBCPP_HIDE_FROM_ABI void __libcpp_deallocate(void* __ptr, size_t __size, size_t __align) _NOEXCEPT {
+#if !_LIBCPP_HAS_ALIGNED_ALLOCATION
+ (void)__align;
+ return __do_deallocate_handle_size(__ptr, __size);
+#else
+ if (__is_overaligned_for_new(__align)) {
+ const align_val_t __align_val = static_cast<align_val_t>(__align);
+ return __do_deallocate_handle_size(__ptr, __size, __align_val);
+ } else {
+ return __do_deallocate_handle_size(__ptr, __size);
+ }
+#endif
+}
+
+inline _LIBCPP_HIDE_FROM_ABI void __libcpp_deallocate_unsized(void* __ptr, size_t __align) _NOEXCEPT {
+#if !_LIBCPP_HAS_ALIGNED_ALLOCATION
+ (void)__align;
+ return __libcpp_operator_delete(__ptr);
+#else
+ if (__is_overaligned_for_new(__align)) {
+ const align_val_t __align_val = static_cast<align_val_t>(__align);
+ return __libcpp_operator_delete(__ptr, __align_val);
+ } else {
+ return __libcpp_operator_delete(__ptr);
+ }
+#endif
+}
+_LIBCPP_END_NAMESPACE_STD
+
+#endif // _LIBCPP___NEW_ALLOCATE_H
diff --git a/libcxx/include/__new/destroying_delete_t.h b/libcxx/include/__new/destroying_delete_t.h
new file mode 100644
index 000000000000..7fca4f6c68b2
--- /dev/null
+++ b/libcxx/include/__new/destroying_delete_t.h
@@ -0,0 +1,30 @@
+//===----------------------------------------------------------------------===//
+//
+// 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___NEW_DESTROYING_DELETE_T_H
+#define _LIBCPP___NEW_DESTROYING_DELETE_T_H
+
+#include <__config>
+
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+#endif
+
+#if _LIBCPP_STD_VER >= 20
+// purposefully not using versioning namespace
+namespace std {
+// Enable the declaration even if the compiler doesn't support the language
+// feature.
+struct destroying_delete_t {
+ explicit destroying_delete_t() = default;
+};
+inline constexpr destroying_delete_t destroying_delete{};
+} // namespace std
+#endif
+
+#endif // _LIBCPP___NEW_DESTROYING_DELETE_T_H
diff --git a/libcxx/include/__new/exceptions.h b/libcxx/include/__new/exceptions.h
new file mode 100644
index 000000000000..053feecb0367
--- /dev/null
+++ b/libcxx/include/__new/exceptions.h
@@ -0,0 +1,74 @@
+//===----------------------------------------------------------------------===//
+//
+// 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___NEW_EXCEPTIONS_H
+#define _LIBCPP___NEW_EXCEPTIONS_H
+
+#include <__config>
+#include <__exception/exception.h>
+#include <__verbose_abort>
+
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+#endif
+
+// purposefully not using versioning namespace
+namespace std {
+#if !defined(_LIBCPP_ABI_VCRUNTIME)
+
+class _LIBCPP_EXPORTED_FROM_ABI bad_alloc : public exception {
+public:
+ bad_alloc() _NOEXCEPT;
+ _LIBCPP_HIDE_FROM_ABI bad_alloc(const bad_alloc&) _NOEXCEPT = default;
+ _LIBCPP_HIDE_FROM_ABI bad_alloc& operator=(const bad_alloc&) _NOEXCEPT = default;
+ ~bad_alloc() _NOEXCEPT override;
+ const char* what() const _NOEXCEPT override;
+};
+
+class _LIBCPP_EXPORTED_FROM_ABI bad_array_new_length : public bad_alloc {
+public:
+ bad_array_new_length() _NOEXCEPT;
+ _LIBCPP_HIDE_FROM_ABI bad_array_new_length(const bad_array_new_length&) _NOEXCEPT = default;
+ _LIBCPP_HIDE_FROM_ABI bad_array_new_length& operator=(const bad_array_new_length&) _NOEXCEPT = default;
+ ~bad_array_new_length() _NOEXCEPT override;
+ const char* what() const _NOEXCEPT override;
+};
+
+#elif defined(_HAS_EXCEPTIONS) && _HAS_EXCEPTIONS == 0 // !_LIBCPP_ABI_VCRUNTIME
+
+// When _HAS_EXCEPTIONS == 0, these complete definitions are needed,
+// since they would normally be provided in vcruntime_exception.h
+class bad_alloc : public exception {
+public:
+ bad_alloc() noexcept : exception("bad allocation") {}
+
+private:
+ friend class bad_array_new_length;
+
+ bad_alloc(char const* const __message) noexcept : exception(__message) {}
+};
+
+class bad_array_new_length : public bad_alloc {
+public:
+ bad_array_new_length() noexcept : bad_alloc("bad array new length") {}
+};
+
+#endif // defined(_LIBCPP_ABI_VCRUNTIME) && defined(_HAS_EXCEPTIONS) && _HAS_EXCEPTIONS == 0
+
+[[__noreturn__]] _LIBCPP_EXPORTED_FROM_ABI void __throw_bad_alloc(); // not in C++ spec
+
+[[__noreturn__]] inline _LIBCPP_HIDE_FROM_ABI void __throw_bad_array_new_length() {
+#if _LIBCPP_HAS_EXCEPTIONS
+ throw bad_array_new_length();
+#else
+ _LIBCPP_VERBOSE_ABORT("bad_array_new_length was thrown in -fno-exceptions mode");
+#endif
+}
+} // namespace std
+
+#endif // _LIBCPP___NEW_EXCEPTIONS_H
diff --git a/libcxx/include/__new/global_new_delete.h b/libcxx/include/__new/global_new_delete.h
new file mode 100644
index 000000000000..7d0797e48324
--- /dev/null
+++ b/libcxx/include/__new/global_new_delete.h
@@ -0,0 +1,89 @@
+//===----------------------------------------------------------------------===//
+//
+// 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___NEW_GLOBAL_NEW_DELETE_H
+#define _LIBCPP___NEW_GLOBAL_NEW_DELETE_H
+
+#include <__config>
+#include <__cstddef/size_t.h>
+#include <__new/align_val_t.h>
+#include <__new/exceptions.h>
+#include <__new/nothrow_t.h>
+
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+#endif
+
+#if defined(_LIBCPP_CXX03_LANG)
+# define _THROW_BAD_ALLOC throw(std::bad_alloc)
+#else
+# define _THROW_BAD_ALLOC
+#endif
+
+#if defined(__cpp_sized_deallocation) && __cpp_sized_deallocation >= 201309L
+# define _LIBCPP_HAS_LANGUAGE_SIZED_DEALLOCATION 1
+#else
+# define _LIBCPP_HAS_LANGUAGE_SIZED_DEALLOCATION 0
+#endif
+
+#if _LIBCPP_STD_VER >= 14 || _LIBCPP_HAS_LANGUAGE_SIZED_DEALLOCATION
+# define _LIBCPP_HAS_LIBRARY_SIZED_DEALLOCATION 1
+#else
+# define _LIBCPP_HAS_LIBRARY_SIZED_DEALLOCATION 0
+#endif
+
+#if _LIBCPP_HAS_LIBRARY_SIZED_DEALLOCATION && _LIBCPP_HAS_LANGUAGE_SIZED_DEALLOCATION
+# define _LIBCPP_HAS_SIZED_DEALLOCATION 1
+#else
+# define _LIBCPP_HAS_SIZED_DEALLOCATION 0
+#endif
+
+#if defined(_LIBCPP_ABI_VCRUNTIME)
+# include <new.h>
+#else
+[[__nodiscard__]] _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz) _THROW_BAD_ALLOC;
+[[__nodiscard__]] _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, const std::nothrow_t&) _NOEXCEPT
+ _LIBCPP_NOALIAS;
+_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete(void* __p) _NOEXCEPT;
+_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete(void* __p, const std::nothrow_t&) _NOEXCEPT;
+# if _LIBCPP_HAS_LIBRARY_SIZED_DEALLOCATION
+_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete(void* __p, std::size_t __sz) _NOEXCEPT;
+# endif
+
+[[__nodiscard__]] _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new[](std::size_t __sz) _THROW_BAD_ALLOC;
+[[__nodiscard__]] _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new[](std::size_t __sz, const std::nothrow_t&) _NOEXCEPT
+ _LIBCPP_NOALIAS;
+_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete[](void* __p) _NOEXCEPT;
+_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete[](void* __p, const std::nothrow_t&) _NOEXCEPT;
+# if _LIBCPP_HAS_LIBRARY_SIZED_DEALLOCATION
+_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete[](void* __p, std::size_t __sz) _NOEXCEPT;
+# endif
+
+# if _LIBCPP_HAS_LIBRARY_ALIGNED_ALLOCATION
+[[__nodiscard__]] _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, std::align_val_t) _THROW_BAD_ALLOC;
+[[__nodiscard__]] _LIBCPP_OVERRIDABLE_FUNC_VIS void*
+operator new(std::size_t __sz, std::align_val_t, const std::nothrow_t&) _NOEXCEPT _LIBCPP_NOALIAS;
+_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete(void* __p, std::align_val_t) _NOEXCEPT;
+_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete(void* __p, std::align_val_t, const std::nothrow_t&) _NOEXCEPT;
+# if _LIBCPP_HAS_LIBRARY_SIZED_DEALLOCATION
+_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete(void* __p, std::size_t __sz, std::align_val_t) _NOEXCEPT;
+# endif
+
+[[__nodiscard__]] _LIBCPP_OVERRIDABLE_FUNC_VIS void*
+operator new[](std::size_t __sz, std::align_val_t) _THROW_BAD_ALLOC;
+[[__nodiscard__]] _LIBCPP_OVERRIDABLE_FUNC_VIS void*
+operator new[](std::size_t __sz, std::align_val_t, const std::nothrow_t&) _NOEXCEPT _LIBCPP_NOALIAS;
+_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete[](void* __p, std::align_val_t) _NOEXCEPT;
+_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete[](void* __p, std::align_val_t, const std::nothrow_t&) _NOEXCEPT;
+# if _LIBCPP_HAS_LIBRARY_SIZED_DEALLOCATION
+_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete[](void* __p, std::size_t __sz, std::align_val_t) _NOEXCEPT;
+# endif
+# endif
+#endif
+
+#endif // _LIBCPP___NEW_GLOBAL_NEW_DELETE_H
diff --git a/libcxx/include/__new/interference_size.h b/libcxx/include/__new/interference_size.h
new file mode 100644
index 000000000000..d326c43a3320
--- /dev/null
+++ b/libcxx/include/__new/interference_size.h
@@ -0,0 +1,34 @@
+//===----------------------------------------------------------------------===//
+//
+// 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___NEW_INTERFERENCE_SIZE_H
+#define _LIBCPP___NEW_INTERFERENCE_SIZE_H
+
+#include <__config>
+#include <__cstddef/size_t.h>
+
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+#endif
+
+_LIBCPP_BEGIN_NAMESPACE_STD
+
+#if _LIBCPP_STD_VER >= 17
+
+# if defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE)
+
+inline constexpr size_t hardware_destructive_interference_size = __GCC_DESTRUCTIVE_SIZE;
+inline constexpr size_t hardware_constructive_interference_size = __GCC_CONSTRUCTIVE_SIZE;
+
+# endif // defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE)
+
+#endif // _LIBCPP_STD_VER >= 17
+
+_LIBCPP_END_NAMESPACE_STD
+
+#endif // _LIBCPP___NEW_INTERFERENCE_SIZE_H
diff --git a/libcxx/include/__new/launder.h b/libcxx/include/__new/launder.h
new file mode 100644
index 000000000000..83d80015913d
--- /dev/null
+++ b/libcxx/include/__new/launder.h
@@ -0,0 +1,36 @@
+//===----------------------------------------------------------------------===//
+//
+// 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___NEW_LAUNDER_H
+#define _LIBCPP___NEW_LAUNDER_H
+
+#include <__config>
+#include <__type_traits/is_function.h>
+#include <__type_traits/is_void.h>
+
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+#endif
+
+_LIBCPP_BEGIN_NAMESPACE_STD
+template <class _Tp>
+[[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR _Tp* __launder(_Tp* __p) _NOEXCEPT {
+ static_assert(!(is_function<_Tp>::value), "can't launder functions");
+ static_assert(!is_void<_Tp>::value, "can't launder cv-void");
+ return __builtin_launder(__p);
+}
+
+#if _LIBCPP_STD_VER >= 17
+template <class _Tp>
+[[nodiscard]] inline _LIBCPP_HIDE_FROM_ABI constexpr _Tp* launder(_Tp* __p) noexcept {
+ return std::__launder(__p);
+}
+#endif
+_LIBCPP_END_NAMESPACE_STD
+
+#endif // _LIBCPP___NEW_LAUNDER_H
diff --git a/libcxx/include/__new/new_handler.h b/libcxx/include/__new/new_handler.h
new file mode 100644
index 000000000000..c9afdab45afc
--- /dev/null
+++ b/libcxx/include/__new/new_handler.h
@@ -0,0 +1,29 @@
+//===----------------------------------------------------------------------===//
+//
+// 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___NEW_NEW_HANDLER_H
+#define _LIBCPP___NEW_NEW_HANDLER_H
+
+#include <__config>
+
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+#endif
+
+#if defined(_LIBCPP_ABI_VCRUNTIME)
+# include <new.h>
+#else
+// purposefully not using versioning namespace
+namespace std {
+typedef void (*new_handler)();
+_LIBCPP_EXPORTED_FROM_ABI new_handler set_new_handler(new_handler) _NOEXCEPT;
+_LIBCPP_EXPORTED_FROM_ABI new_handler get_new_handler() _NOEXCEPT;
+} // namespace std
+#endif // _LIBCPP_ABI_VCRUNTIME
+
+#endif // _LIBCPP___NEW_NEW_HANDLER_H
diff --git a/libcxx/include/__new/nothrow_t.h b/libcxx/include/__new/nothrow_t.h
new file mode 100644
index 000000000000..09c2d03f66cc
--- /dev/null
+++ b/libcxx/include/__new/nothrow_t.h
@@ -0,0 +1,30 @@
+//===----------------------------------------------------------------------===//
+//
+// 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___NEW_NOTHROW_T_H
+#define _LIBCPP___NEW_NOTHROW_T_H
+
+#include <__config>
+
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+#endif
+
+#if defined(_LIBCPP_ABI_VCRUNTIME)
+# include <new.h>
+#else
+// purposefully not using versioning namespace
+namespace std {
+struct _LIBCPP_EXPORTED_FROM_ABI nothrow_t {
+ explicit nothrow_t() = default;
+};
+extern _LIBCPP_EXPORTED_FROM_ABI const nothrow_t nothrow;
+} // namespace std
+#endif // _LIBCPP_ABI_VCRUNTIME
+
+#endif // _LIBCPP___NEW_NOTHROW_T_H
diff --git a/libcxx/include/__new/placement_new_delete.h b/libcxx/include/__new/placement_new_delete.h
new file mode 100644
index 000000000000..42c9f3403677
--- /dev/null
+++ b/libcxx/include/__new/placement_new_delete.h
@@ -0,0 +1,34 @@
+//===----------------------------------------------------------------------===//
+//
+// 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___NEW_PLACEMENT_NEW_DELETE_H
+#define _LIBCPP___NEW_PLACEMENT_NEW_DELETE_H
+
+#include <__config>
+#include <__cstddef/size_t.h>
+
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+#endif
+
+#if defined(_LIBCPP_ABI_VCRUNTIME)
+# include <new.h>
+#else
+[[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 void*
+operator new(std::size_t, void* __p) _NOEXCEPT {
+ return __p;
+}
+[[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 void*
+operator new[](std::size_t, void* __p) _NOEXCEPT {
+ return __p;
+}
+inline _LIBCPP_HIDE_FROM_ABI void operator delete(void*, void*) _NOEXCEPT {}
+inline _LIBCPP_HIDE_FROM_ABI void operator delete[](void*, void*) _NOEXCEPT {}
+#endif
+
+#endif // _LIBCPP___NEW_PLACEMENT_NEW_DELETE_H
diff --git a/libcxx/include/__numeric/gcd_lcm.h b/libcxx/include/__numeric/gcd_lcm.h
index 9be6cf8516b1..f15f64ea5568 100644
--- a/libcxx/include/__numeric/gcd_lcm.h
+++ b/libcxx/include/__numeric/gcd_lcm.h
@@ -55,7 +55,8 @@ template <class _Tp>
constexpr _LIBCPP_HIDDEN _Tp __gcd(_Tp __a, _Tp __b) {
static_assert(!is_signed<_Tp>::value, "");
- // From: https://lemire.me/blog/2013/12/26/fastest-way-to-compute-the-greatest-common-divisor
+ // Using Binary GCD algorithm https://en.wikipedia.org/wiki/Binary_GCD_algorithm, based on an implementation
+ // from https://lemire.me/blog/2024/04/13/greatest-common-divisor-the-extended-euclidean-algorithm-and-speed/
//
// If power of two divides both numbers, we can push it out.
// - gcd( 2^x * a, 2^x * b) = 2^x * gcd(a, b)
@@ -76,21 +77,17 @@ constexpr _LIBCPP_HIDDEN _Tp __gcd(_Tp __a, _Tp __b) {
if (__a == 0)
return __b;
- int __az = std::__countr_zero(__a);
- int __bz = std::__countr_zero(__b);
- int __shift = std::min(__az, __bz);
- __a >>= __az;
- __b >>= __bz;
+ _Tp __c = __a | __b;
+ int __shift = std::__countr_zero(__c);
+ __a >>= std::__countr_zero(__a);
do {
- _Tp __diff = __a - __b;
- if (__a > __b) {
- __a = __b;
- __b = __diff;
+ _Tp __t = __b >> std::__countr_zero(__b);
+ if (__a > __t) {
+ __b = __a - __t;
+ __a = __t;
} else {
- __b = __b - __a;
+ __b = __t - __a;
}
- if (__diff != 0)
- __b >>= std::__countr_zero(__diff);
} while (__b != 0);
return __a << __shift;
}
diff --git a/libcxx/include/__ostream/basic_ostream.h b/libcxx/include/__ostream/basic_ostream.h
index ad43c72a3c2e..cf4d26167aeb 100644
--- a/libcxx/include/__ostream/basic_ostream.h
+++ b/libcxx/include/__ostream/basic_ostream.h
@@ -14,8 +14,9 @@
#if _LIBCPP_HAS_LOCALIZATION
# include <__exception/operations.h>
-# include <__memory/shared_ptr.h>
+# include <__fwd/memory.h>
# include <__memory/unique_ptr.h>
+# include <__new/exceptions.h>
# include <__ostream/put_character_sequence.h>
# include <__system_error/error_code.h>
# include <__type_traits/conjunction.h>
@@ -26,7 +27,6 @@
# include <bitset>
# include <ios>
# include <locale>
-# include <new> // for __throw_bad_alloc
# include <streambuf>
# include <string_view>
diff --git a/libcxx/include/__pstl/backends/libdispatch.h b/libcxx/include/__pstl/backends/libdispatch.h
index 701367b505c8..4c63c4c84420 100644
--- a/libcxx/include/__pstl/backends/libdispatch.h
+++ b/libcxx/include/__pstl/backends/libdispatch.h
@@ -23,6 +23,7 @@
#include <__memory/allocator.h>
#include <__memory/construct_at.h>
#include <__memory/unique_ptr.h>
+#include <__new/exceptions.h>
#include <__numeric/reduce.h>
#include <__pstl/backend_fwd.h>
#include <__pstl/cpu_algos/any_of.h>
@@ -38,7 +39,6 @@
#include <__utility/exception_guard.h>
#include <__utility/move.h>
#include <__utility/pair.h>
-#include <new>
#include <optional>
_LIBCPP_PUSH_MACROS
diff --git a/libcxx/include/__pstl/cpu_algos/transform_reduce.h b/libcxx/include/__pstl/cpu_algos/transform_reduce.h
index e9f622d832cd..abd9d42a6f2e 100644
--- a/libcxx/include/__pstl/cpu_algos/transform_reduce.h
+++ b/libcxx/include/__pstl/cpu_algos/transform_reduce.h
@@ -20,7 +20,6 @@
#include <__type_traits/is_arithmetic.h>
#include <__type_traits/is_execution_policy.h>
#include <__utility/move.h>
-#include <new>
#include <optional>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/__pstl/handle_exception.h b/libcxx/include/__pstl/handle_exception.h
index 57dfcfde4554..3b5fca86902b 100644
--- a/libcxx/include/__pstl/handle_exception.h
+++ b/libcxx/include/__pstl/handle_exception.h
@@ -10,9 +10,9 @@
#define _LIBCPP___PSTL_HANDLE_EXCEPTION_H
#include <__config>
+#include <__new/exceptions.h>
#include <__utility/forward.h>
#include <__utility/move.h>
-#include <new> // __throw_bad_alloc
#include <optional>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/__ranges/join_view.h b/libcxx/include/__ranges/join_view.h
index 9c2c77995539..6aadd387860e 100644
--- a/libcxx/include/__ranges/join_view.h
+++ b/libcxx/include/__ranges/join_view.h
@@ -377,8 +377,8 @@ template <class _JoinViewIterator>
__has_random_access_iterator_category<typename _JoinViewIterator::_Outer>::value &&
__has_random_access_iterator_category<typename _JoinViewIterator::_Inner>::value)
struct __segmented_iterator_traits<_JoinViewIterator> {
- using __segment_iterator =
- _LIBCPP_NODEBUG __iterator_with_data<typename _JoinViewIterator::_Outer, typename _JoinViewIterator::_Parent*>;
+ using __segment_iterator _LIBCPP_NODEBUG =
+ __iterator_with_data<typename _JoinViewIterator::_Outer, typename _JoinViewIterator::_Parent*>;
using __local_iterator = typename _JoinViewIterator::_Inner;
// TODO: Would it make sense to enable the optimization for other iterator types?
diff --git a/libcxx/include/__split_buffer b/libcxx/include/__split_buffer
index a637c83d17d1..9d7fd3e0df62 100644
--- a/libcxx/include/__split_buffer
+++ b/libcxx/include/__split_buffer
@@ -14,7 +14,6 @@
#include <__algorithm/move.h>
#include <__algorithm/move_backward.h>
#include <__config>
-#include <__cstddef/size_t.h>
#include <__iterator/distance.h>
#include <__iterator/iterator_traits.h>
#include <__iterator/move_iterator.h>
@@ -24,7 +23,6 @@
#include <__memory/compressed_pair.h>
#include <__memory/pointer_traits.h>
#include <__memory/swap_allocator.h>
-#include <__type_traits/add_lvalue_reference.h>
#include <__type_traits/conditional.h>
#include <__type_traits/enable_if.h>
#include <__type_traits/integral_constant.h>
@@ -435,7 +433,7 @@ _LIBCPP_CONSTEXPR_SINCE_CXX20 void __split_buffer<_Tp, _Allocator>::emplace_fron
__begin_ = std::move_backward(__begin_, __end_, __end_ + __d);
__end_ += __d;
} else {
- size_type __c = std::max<size_type>(2 * static_cast<size_t>(__cap_ - __first_), 1);
+ size_type __c = std::max<size_type>(2 * static_cast<size_type>(__cap_ - __first_), 1);
__split_buffer<value_type, __alloc_rr&> __t(__c, (__c + 3) / 4, __alloc_);
__t.__construct_at_end(move_iterator<pointer>(__begin_), move_iterator<pointer>(__end_));
std::swap(__first_, __t.__first_);
@@ -458,7 +456,7 @@ _LIBCPP_CONSTEXPR_SINCE_CXX20 void __split_buffer<_Tp, _Allocator>::emplace_back
__end_ = std::move(__begin_, __end_, __begin_ - __d);
__begin_ -= __d;
} else {
- size_type __c = std::max<size_type>(2 * static_cast<size_t>(__cap_ - __first_), 1);
+ size_type __c = std::max<size_type>(2 * static_cast<size_type>(__cap_ - __first_), 1);
__split_buffer<value_type, __alloc_rr&> __t(__c, __c / 4, __alloc_);
__t.__construct_at_end(move_iterator<pointer>(__begin_), move_iterator<pointer>(__end_));
std::swap(__first_, __t.__first_);
diff --git a/libcxx/include/__support/xlocale/__nop_locale_mgmt.h b/libcxx/include/__support/xlocale/__nop_locale_mgmt.h
index 5aaf3eaa6441..eabe169cc4bc 100644
--- a/libcxx/include/__support/xlocale/__nop_locale_mgmt.h
+++ b/libcxx/include/__support/xlocale/__nop_locale_mgmt.h
@@ -21,8 +21,6 @@ inline _LIBCPP_HIDE_FROM_ABI void freelocale(locale_t) {}
inline _LIBCPP_HIDE_FROM_ABI locale_t newlocale(int, const char*, locale_t) { return nullptr; }
-inline _LIBCPP_HIDE_FROM_ABI locale_t uselocale(locale_t) { return nullptr; }
-
#define LC_COLLATE_MASK (1 << LC_COLLATE)
#define LC_CTYPE_MASK (1 << LC_CTYPE)
#define LC_MESSAGES_MASK (1 << LC_MESSAGES)
diff --git a/libcxx/include/__tree b/libcxx/include/__tree
index f6ef21cdaa5b..dfb205c51e17 100644
--- a/libcxx/include/__tree
+++ b/libcxx/include/__tree
@@ -23,14 +23,12 @@
#include <__memory/swap_allocator.h>
#include <__memory/unique_ptr.h>
#include <__type_traits/can_extract_key.h>
-#include <__type_traits/conditional.h>
#include <__type_traits/enable_if.h>
#include <__type_traits/invoke.h>
#include <__type_traits/is_const.h>
#include <__type_traits/is_constructible.h>
#include <__type_traits/is_nothrow_assignable.h>
#include <__type_traits/is_nothrow_constructible.h>
-#include <__type_traits/is_pointer.h>
#include <__type_traits/is_same.h>
#include <__type_traits/is_swappable.h>
#include <__type_traits/remove_const_ref.h>
diff --git a/libcxx/include/__tuple/make_tuple_types.h b/libcxx/include/__tuple/make_tuple_types.h
index 024e9c524b52..3d312395131d 100644
--- a/libcxx/include/__tuple/make_tuple_types.h
+++ b/libcxx/include/__tuple/make_tuple_types.h
@@ -65,12 +65,12 @@ struct __make_tuple_types {
template <class... _Types, size_t _Ep>
struct __make_tuple_types<tuple<_Types...>, _Ep, 0, true> {
- typedef _LIBCPP_NODEBUG __tuple_types<_Types...> type;
+ using type _LIBCPP_NODEBUG = __tuple_types<_Types...>;
};
template <class... _Types, size_t _Ep>
struct __make_tuple_types<__tuple_types<_Types...>, _Ep, 0, true> {
- typedef _LIBCPP_NODEBUG __tuple_types<_Types...> type;
+ using type _LIBCPP_NODEBUG = __tuple_types<_Types...>;
};
_LIBCPP_END_NAMESPACE_STD
diff --git a/libcxx/include/__tuple/sfinae_helpers.h b/libcxx/include/__tuple/sfinae_helpers.h
index a785cec138b2..9041d1d4473e 100644
--- a/libcxx/include/__tuple/sfinae_helpers.h
+++ b/libcxx/include/__tuple/sfinae_helpers.h
@@ -59,7 +59,7 @@ struct __tuple_constructible<_Tp, _Up, true, true>
template <size_t _Ip, class... _Tp>
struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, tuple<_Tp...> > {
- typedef _LIBCPP_NODEBUG typename tuple_element<_Ip, __tuple_types<_Tp...> >::type type;
+ using type _LIBCPP_NODEBUG = typename tuple_element<_Ip, __tuple_types<_Tp...> >::type;
};
struct _LIBCPP_EXPORTED_FROM_ABI __check_tuple_constructor_fail {
diff --git a/libcxx/include/__tuple/tuple_element.h b/libcxx/include/__tuple/tuple_element.h
index 1404460e7435..39be847c8e06 100644
--- a/libcxx/include/__tuple/tuple_element.h
+++ b/libcxx/include/__tuple/tuple_element.h
@@ -25,17 +25,17 @@ struct _LIBCPP_TEMPLATE_VIS tuple_element;
template <size_t _Ip, class _Tp>
struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, const _Tp> {
- typedef _LIBCPP_NODEBUG const typename tuple_element<_Ip, _Tp>::type type;
+ using type _LIBCPP_NODEBUG = const typename tuple_element<_Ip, _Tp>::type;
};
template <size_t _Ip, class _Tp>
struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, volatile _Tp> {
- typedef _LIBCPP_NODEBUG volatile typename tuple_element<_Ip, _Tp>::type type;
+ using type _LIBCPP_NODEBUG = volatile typename tuple_element<_Ip, _Tp>::type;
};
template <size_t _Ip, class _Tp>
struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, const volatile _Tp> {
- typedef _LIBCPP_NODEBUG const volatile typename tuple_element<_Ip, _Tp>::type type;
+ using type _LIBCPP_NODEBUG = const volatile typename tuple_element<_Ip, _Tp>::type;
};
#ifndef _LIBCPP_CXX03_LANG
@@ -43,7 +43,7 @@ struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, const volatile _Tp> {
template <size_t _Ip, class... _Types>
struct _LIBCPP_TEMPLATE_VIS tuple_element<_Ip, __tuple_types<_Types...> > {
static_assert(_Ip < sizeof...(_Types), "tuple_element index out of range");
- typedef _LIBCPP_NODEBUG __type_pack_element<_Ip, _Types...> type;
+ using type _LIBCPP_NODEBUG = __type_pack_element<_Ip, _Types...>;
};
# if _LIBCPP_STD_VER >= 14
diff --git a/libcxx/include/__type_traits/add_cv_quals.h b/libcxx/include/__type_traits/add_cv_quals.h
index 1d35b89f42c2..6f671397622a 100644
--- a/libcxx/include/__type_traits/add_cv_quals.h
+++ b/libcxx/include/__type_traits/add_cv_quals.h
@@ -19,7 +19,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD
template <class _Tp>
struct _LIBCPP_TEMPLATE_VIS add_const {
- typedef _LIBCPP_NODEBUG const _Tp type;
+ using type _LIBCPP_NODEBUG = const _Tp;
};
#if _LIBCPP_STD_VER >= 14
@@ -29,7 +29,7 @@ using add_const_t = typename add_const<_Tp>::type;
template <class _Tp>
struct _LIBCPP_TEMPLATE_VIS add_cv {
- typedef _LIBCPP_NODEBUG const volatile _Tp type;
+ using type _LIBCPP_NODEBUG = const volatile _Tp;
};
#if _LIBCPP_STD_VER >= 14
@@ -39,7 +39,7 @@ using add_cv_t = typename add_cv<_Tp>::type;
template <class _Tp>
struct _LIBCPP_TEMPLATE_VIS add_volatile {
- typedef _LIBCPP_NODEBUG volatile _Tp type;
+ using type _LIBCPP_NODEBUG = volatile _Tp;
};
#if _LIBCPP_STD_VER >= 14
diff --git a/libcxx/include/__type_traits/add_lvalue_reference.h b/libcxx/include/__type_traits/add_lvalue_reference.h
index a633e3904532..157c8f94d476 100644
--- a/libcxx/include/__type_traits/add_lvalue_reference.h
+++ b/libcxx/include/__type_traits/add_lvalue_reference.h
@@ -27,11 +27,11 @@ using __add_lvalue_reference_t = __add_lvalue_reference(_Tp);
template <class _Tp, bool = __libcpp_is_referenceable<_Tp>::value>
struct __add_lvalue_reference_impl {
- typedef _LIBCPP_NODEBUG _Tp type;
+ using type _LIBCPP_NODEBUG = _Tp;
};
template <class _Tp >
struct __add_lvalue_reference_impl<_Tp, true> {
- typedef _LIBCPP_NODEBUG _Tp& type;
+ using type _LIBCPP_NODEBUG = _Tp&;
};
template <class _Tp>
diff --git a/libcxx/include/__type_traits/add_pointer.h b/libcxx/include/__type_traits/add_pointer.h
index 5aac7d5cfa90..f66e1f9e6c06 100644
--- a/libcxx/include/__type_traits/add_pointer.h
+++ b/libcxx/include/__type_traits/add_pointer.h
@@ -28,11 +28,11 @@ using __add_pointer_t = __add_pointer(_Tp);
#else
template <class _Tp, bool = __libcpp_is_referenceable<_Tp>::value || is_void<_Tp>::value>
struct __add_pointer_impl {
- typedef _LIBCPP_NODEBUG __libcpp_remove_reference_t<_Tp>* type;
+ using type _LIBCPP_NODEBUG = __libcpp_remove_reference_t<_Tp>*;
};
template <class _Tp>
struct __add_pointer_impl<_Tp, false> {
- typedef _LIBCPP_NODEBUG _Tp type;
+ using type _LIBCPP_NODEBUG = _Tp;
};
template <class _Tp>
diff --git a/libcxx/include/__type_traits/add_rvalue_reference.h b/libcxx/include/__type_traits/add_rvalue_reference.h
index a54aae7ec8de..205058892c87 100644
--- a/libcxx/include/__type_traits/add_rvalue_reference.h
+++ b/libcxx/include/__type_traits/add_rvalue_reference.h
@@ -27,11 +27,11 @@ using __add_rvalue_reference_t = __add_rvalue_reference(_Tp);
template <class _Tp, bool = __libcpp_is_referenceable<_Tp>::value>
struct __add_rvalue_reference_impl {
- typedef _LIBCPP_NODEBUG _Tp type;
+ using type _LIBCPP_NODEBUG = _Tp;
};
template <class _Tp >
struct __add_rvalue_reference_impl<_Tp, true> {
- typedef _LIBCPP_NODEBUG _Tp&& type;
+ using type _LIBCPP_NODEBUG = _Tp&&;
};
template <class _Tp>
diff --git a/libcxx/include/__type_traits/aligned_storage.h b/libcxx/include/__type_traits/aligned_storage.h
index 2e39afb7f880..5cd1f587b988 100644
--- a/libcxx/include/__type_traits/aligned_storage.h
+++ b/libcxx/include/__type_traits/aligned_storage.h
@@ -34,26 +34,23 @@ struct __struct_double4 {
double __lx[4];
};
-// clang-format off
-typedef __type_list<__align_type<unsigned char>,
- __type_list<__align_type<unsigned short>,
- __type_list<__align_type<unsigned int>,
- __type_list<__align_type<unsigned long>,
- __type_list<__align_type<unsigned long long>,
- __type_list<__align_type<double>,
- __type_list<__align_type<long double>,
- __type_list<__align_type<__struct_double>,
- __type_list<__align_type<__struct_double4>,
- __type_list<__align_type<int*>,
- __nat
- > > > > > > > > > > __all_types;
-// clang-format on
+using __all_types =
+ __type_list<__align_type<unsigned char>,
+ __align_type<unsigned short>,
+ __align_type<unsigned int>,
+ __align_type<unsigned long>,
+ __align_type<unsigned long long>,
+ __align_type<double>,
+ __align_type<long double>,
+ __align_type<__struct_double>,
+ __align_type<__struct_double4>,
+ __align_type<int*> >;
template <class _TL, size_t _Len>
struct __find_max_align;
-template <class _Hp, size_t _Len>
-struct __find_max_align<__type_list<_Hp, __nat>, _Len> : public integral_constant<size_t, _Hp::value> {};
+template <class _Head, size_t _Len>
+struct __find_max_align<__type_list<_Head>, _Len> : public integral_constant<size_t, _Head::value> {};
template <size_t _Len, size_t _A1, size_t _A2>
struct __select_align {
@@ -65,9 +62,11 @@ public:
static const size_t value = _Len < __max ? __min : __max;
};
-template <class _Hp, class _Tp, size_t _Len>
-struct __find_max_align<__type_list<_Hp, _Tp>, _Len>
- : public integral_constant<size_t, __select_align<_Len, _Hp::value, __find_max_align<_Tp, _Len>::value>::value> {};
+template <class _Head, class... _Tail, size_t _Len>
+struct __find_max_align<__type_list<_Head, _Tail...>, _Len>
+ : public integral_constant<
+ size_t,
+ __select_align<_Len, _Head::value, __find_max_align<__type_list<_Tail...>, _Len>::value>::value> {};
template <size_t _Len, size_t _Align = __find_max_align<__all_types, _Len>::value>
struct _LIBCPP_DEPRECATED_IN_CXX23 _LIBCPP_TEMPLATE_VIS aligned_storage {
diff --git a/libcxx/include/__type_traits/common_type.h b/libcxx/include/__type_traits/common_type.h
index ef542f8bccfe..ee5596bd1249 100644
--- a/libcxx/include/__type_traits/common_type.h
+++ b/libcxx/include/__type_traits/common_type.h
@@ -61,7 +61,7 @@ struct __common_type2_imp {};
// sub-bullet 3 - "if decay_t<decltype(false ? declval<D1>() : declval<D2>())> ..."
template <class _Tp, class _Up>
struct __common_type2_imp<_Tp, _Up, __void_t<decltype(true ? std::declval<_Tp>() : std::declval<_Up>())> > {
- typedef _LIBCPP_NODEBUG __decay_t<decltype(true ? std::declval<_Tp>() : std::declval<_Up>())> type;
+ using type _LIBCPP_NODEBUG = __decay_t<decltype(true ? std::declval<_Tp>() : std::declval<_Up>())>;
};
template <class, class = void>
diff --git a/libcxx/include/__type_traits/decay.h b/libcxx/include/__type_traits/decay.h
index 7412044f9317..da0c4d340e9b 100644
--- a/libcxx/include/__type_traits/decay.h
+++ b/libcxx/include/__type_traits/decay.h
@@ -37,26 +37,25 @@ struct decay {
#else
template <class _Up, bool>
struct __decay {
- typedef _LIBCPP_NODEBUG __remove_cv_t<_Up> type;
+ using type _LIBCPP_NODEBUG = __remove_cv_t<_Up>;
};
template <class _Up>
struct __decay<_Up, true> {
public:
- typedef _LIBCPP_NODEBUG
+ using type _LIBCPP_NODEBUG =
__conditional_t<is_array<_Up>::value,
__add_pointer_t<__remove_extent_t<_Up> >,
- __conditional_t<is_function<_Up>::value, typename add_pointer<_Up>::type, __remove_cv_t<_Up> > >
- type;
+ __conditional_t<is_function<_Up>::value, typename add_pointer<_Up>::type, __remove_cv_t<_Up> > >;
};
template <class _Tp>
struct _LIBCPP_TEMPLATE_VIS decay {
private:
- typedef _LIBCPP_NODEBUG __libcpp_remove_reference_t<_Tp> _Up;
+ using _Up _LIBCPP_NODEBUG = __libcpp_remove_reference_t<_Tp>;
public:
- typedef _LIBCPP_NODEBUG typename __decay<_Up, __libcpp_is_referenceable<_Up>::value>::type type;
+ using type _LIBCPP_NODEBUG = typename __decay<_Up, __libcpp_is_referenceable<_Up>::value>::type;
};
template <class _Tp>
diff --git a/libcxx/include/__type_traits/detected_or.h b/libcxx/include/__type_traits/detected_or.h
index 390f36841147..49c0c7111aeb 100644
--- a/libcxx/include/__type_traits/detected_or.h
+++ b/libcxx/include/__type_traits/detected_or.h
@@ -20,16 +20,16 @@ _LIBCPP_BEGIN_NAMESPACE_STD
template <class _Default, class _Void, template <class...> class _Op, class... _Args>
struct __detector {
- using type = _Default;
+ using type _LIBCPP_NODEBUG = _Default;
};
template <class _Default, template <class...> class _Op, class... _Args>
struct __detector<_Default, __void_t<_Op<_Args...> >, _Op, _Args...> {
- using type = _Op<_Args...>;
+ using type _LIBCPP_NODEBUG = _Op<_Args...>;
};
template <class _Default, template <class...> class _Op, class... _Args>
-using __detected_or_t = typename __detector<_Default, void, _Op, _Args...>::type;
+using __detected_or_t _LIBCPP_NODEBUG = typename __detector<_Default, void, _Op, _Args...>::type;
_LIBCPP_END_NAMESPACE_STD
diff --git a/libcxx/include/__type_traits/make_signed.h b/libcxx/include/__type_traits/make_signed.h
index 8070690b3a7a..5c2739e67435 100644
--- a/libcxx/include/__type_traits/make_signed.h
+++ b/libcxx/include/__type_traits/make_signed.h
@@ -29,21 +29,17 @@ template <class _Tp>
using __make_signed_t = __make_signed(_Tp);
#else
-// clang-format off
-typedef __type_list<signed char,
- __type_list<signed short,
- __type_list<signed int,
- __type_list<signed long,
- __type_list<signed long long,
-# if _LIBCPP_HAS_INT128
- __type_list<__int128_t,
-# endif
- __nat
+using __signed_types =
+ __type_list<signed char,
+ signed short,
+ signed int,
+ signed long,
+ signed long long
# if _LIBCPP_HAS_INT128
- >
+ ,
+ __int128_t
# endif
- > > > > > __signed_types;
-// clang-format on
+ >;
template <class _Tp, bool = is_integral<_Tp>::value || is_enum<_Tp>::value>
struct __make_signed{};
diff --git a/libcxx/include/__type_traits/make_unsigned.h b/libcxx/include/__type_traits/make_unsigned.h
index 562f7bab8a7f..6c238685c233 100644
--- a/libcxx/include/__type_traits/make_unsigned.h
+++ b/libcxx/include/__type_traits/make_unsigned.h
@@ -31,21 +31,17 @@ template <class _Tp>
using __make_unsigned_t = __make_unsigned(_Tp);
#else
-// clang-format off
-typedef __type_list<unsigned char,
- __type_list<unsigned short,
- __type_list<unsigned int,
- __type_list<unsigned long,
- __type_list<unsigned long long,
-# if _LIBCPP_HAS_INT128
- __type_list<__uint128_t,
-# endif
- __nat
+using __unsigned_types =
+ __type_list<unsigned char,
+ unsigned short,
+ unsigned int,
+ unsigned long,
+ unsigned long long
# if _LIBCPP_HAS_INT128
- >
+ ,
+ __uint128_t
# endif
- > > > > > __unsigned_types;
-// clang-format on
+ >;
template <class _Tp, bool = is_integral<_Tp>::value || is_enum<_Tp>::value>
struct __make_unsigned{};
diff --git a/libcxx/include/__type_traits/remove_pointer.h b/libcxx/include/__type_traits/remove_pointer.h
index 1048f67055a2..6f98ed1a5d64 100644
--- a/libcxx/include/__type_traits/remove_pointer.h
+++ b/libcxx/include/__type_traits/remove_pointer.h
@@ -32,11 +32,11 @@ using __remove_pointer_t = __remove_pointer(_Tp);
# endif
#else
// clang-format off
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer {typedef _LIBCPP_NODEBUG _Tp type;};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer<_Tp*> {typedef _LIBCPP_NODEBUG _Tp type;};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer<_Tp* const> {typedef _LIBCPP_NODEBUG _Tp type;};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer<_Tp* volatile> {typedef _LIBCPP_NODEBUG _Tp type;};
-template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer<_Tp* const volatile> {typedef _LIBCPP_NODEBUG _Tp type;};
+template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer {using type _LIBCPP_NODEBUG = _Tp;};
+template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer<_Tp*> {using type _LIBCPP_NODEBUG = _Tp;};
+template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer<_Tp* const> {using type _LIBCPP_NODEBUG = _Tp;};
+template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer<_Tp* volatile> {using type _LIBCPP_NODEBUG = _Tp;};
+template <class _Tp> struct _LIBCPP_TEMPLATE_VIS remove_pointer<_Tp* const volatile> {using type _LIBCPP_NODEBUG = _Tp;};
// clang-format on
template <class _Tp>
diff --git a/libcxx/include/__type_traits/type_list.h b/libcxx/include/__type_traits/type_list.h
index 0d9ca9895837..34d78fc97c97 100644
--- a/libcxx/include/__type_traits/type_list.h
+++ b/libcxx/include/__type_traits/type_list.h
@@ -11,6 +11,7 @@
#include <__config>
#include <__cstddef/size_t.h>
+#include <__type_traits/enable_if.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
@@ -18,23 +19,28 @@
_LIBCPP_BEGIN_NAMESPACE_STD
-template <class _Hp, class _Tp>
-struct __type_list {
- typedef _Hp _Head;
- typedef _Tp _Tail;
+template <class... _Types>
+struct __type_list {};
+
+template <class>
+struct __type_list_head;
+
+template <class _Head, class... _Tail>
+struct __type_list_head<__type_list<_Head, _Tail...> > {
+ using type _LIBCPP_NODEBUG = _Head;
};
-template <class _TypeList, size_t _Size, bool = _Size <= sizeof(typename _TypeList::_Head)>
+template <class _TypeList, size_t _Size, bool = _Size <= sizeof(typename __type_list_head<_TypeList>::type)>
struct __find_first;
-template <class _Hp, class _Tp, size_t _Size>
-struct __find_first<__type_list<_Hp, _Tp>, _Size, true> {
- typedef _LIBCPP_NODEBUG _Hp type;
+template <class _Head, class... _Tail, size_t _Size>
+struct __find_first<__type_list<_Head, _Tail...>, _Size, true> {
+ using type _LIBCPP_NODEBUG = _Head;
};
-template <class _Hp, class _Tp, size_t _Size>
-struct __find_first<__type_list<_Hp, _Tp>, _Size, false> {
- typedef _LIBCPP_NODEBUG typename __find_first<_Tp, _Size>::type type;
+template <class _Head, class... _Tail, size_t _Size>
+struct __find_first<__type_list<_Head, _Tail...>, _Size, false> {
+ using type _LIBCPP_NODEBUG = typename __find_first<__type_list<_Tail...>, _Size>::type;
};
_LIBCPP_END_NAMESPACE_STD
diff --git a/libcxx/include/__type_traits/unwrap_ref.h b/libcxx/include/__type_traits/unwrap_ref.h
index 6bd74550f309..74c4fde915c3 100644
--- a/libcxx/include/__type_traits/unwrap_ref.h
+++ b/libcxx/include/__type_traits/unwrap_ref.h
@@ -21,12 +21,12 @@ _LIBCPP_BEGIN_NAMESPACE_STD
template <class _Tp>
struct __unwrap_reference {
- typedef _LIBCPP_NODEBUG _Tp type;
+ using type _LIBCPP_NODEBUG = _Tp;
};
template <class _Tp>
struct __unwrap_reference<reference_wrapper<_Tp> > {
- typedef _LIBCPP_NODEBUG _Tp& type;
+ using type _LIBCPP_NODEBUG = _Tp&;
};
#if _LIBCPP_STD_VER >= 20
diff --git a/libcxx/include/__utility/exception_guard.h b/libcxx/include/__utility/exception_guard.h
index a03bd7e8f352..71e52fdb4b2a 100644
--- a/libcxx/include/__utility/exception_guard.h
+++ b/libcxx/include/__utility/exception_guard.h
@@ -96,10 +96,10 @@ _LIBCPP_CTAD_SUPPORTED_FOR_TYPE(__exception_guard_exceptions);
template <class _Rollback>
struct __exception_guard_noexceptions {
__exception_guard_noexceptions() = delete;
- _LIBCPP_HIDE_FROM_ABI
- _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NODEBUG explicit __exception_guard_noexceptions(_Rollback) {}
+ _LIBCPP_NODEBUG _LIBCPP_HIDE_FROM_ABI
+ _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit __exception_guard_noexceptions(_Rollback) {}
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NODEBUG
+ _LIBCPP_NODEBUG _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20
__exception_guard_noexceptions(__exception_guard_noexceptions&& __other)
_NOEXCEPT_(is_nothrow_move_constructible<_Rollback>::value)
: __completed_(__other.__completed_) {
@@ -110,11 +110,11 @@ struct __exception_guard_noexceptions {
__exception_guard_noexceptions& operator=(__exception_guard_noexceptions const&) = delete;
__exception_guard_noexceptions& operator=(__exception_guard_noexceptions&&) = delete;
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NODEBUG void __complete() _NOEXCEPT {
+ _LIBCPP_NODEBUG _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __complete() _NOEXCEPT {
__completed_ = true;
}
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_NODEBUG ~__exception_guard_noexceptions() {
+ _LIBCPP_NODEBUG _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 ~__exception_guard_noexceptions() {
_LIBCPP_ASSERT_INTERNAL(__completed_, "__exception_guard not completed with exceptions disabled");
}
diff --git a/libcxx/include/__utility/forward_like.h b/libcxx/include/__utility/forward_like.h
index 0206ce23a566..67bdf6d054ea 100644
--- a/libcxx/include/__utility/forward_like.h
+++ b/libcxx/include/__utility/forward_like.h
@@ -12,6 +12,7 @@
#include <__config>
#include <__type_traits/conditional.h>
+#include <__type_traits/is_base_of.h>
#include <__type_traits/is_const.h>
#include <__type_traits/is_reference.h>
#include <__type_traits/remove_reference.h>
@@ -39,6 +40,22 @@ forward_like(_LIBCPP_LIFETIMEBOUND _Up&& __ux) noexcept -> _ForwardLike<_Tp, _Up
return static_cast<_ForwardLike<_Tp, _Up>>(__ux);
}
+// This function is used for `deducing this` cases where you want to make sure the operation is performed on the class
+// itself and not on a derived class. For example
+// struct S {
+// template <class Self>
+// void func(Self&& self) {
+// // This will always call `do_something` of S instead of any class derived from S.
+// std::__forward_as<Self, S>(self).do_something();
+// }
+// };
+template <class _Tp, class _As, class _Up>
+[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr _ForwardLike<_Tp, _As>
+__forward_as(_LIBCPP_LIFETIMEBOUND _Up&& __val) noexcept {
+ static_assert(is_base_of_v<_As, remove_reference_t<_Up>>);
+ return static_cast<_ForwardLike<_Tp, _As>>(__val);
+}
+
#endif // _LIBCPP_STD_VER >= 23
_LIBCPP_END_NAMESPACE_STD
diff --git a/libcxx/include/__utility/move.h b/libcxx/include/__utility/move.h
index 66aec5aa26d8..015986f610bd 100644
--- a/libcxx/include/__utility/move.h
+++ b/libcxx/include/__utility/move.h
@@ -28,7 +28,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD
template <class _Tp>
[[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR __libcpp_remove_reference_t<_Tp>&&
move(_LIBCPP_LIFETIMEBOUND _Tp&& __t) _NOEXCEPT {
- typedef _LIBCPP_NODEBUG __libcpp_remove_reference_t<_Tp> _Up;
+ using _Up _LIBCPP_NODEBUG = __libcpp_remove_reference_t<_Tp>;
return static_cast<_Up&&>(__t);
}
diff --git a/libcxx/include/__utility/no_destroy.h b/libcxx/include/__utility/no_destroy.h
index 8edd194577d7..16f424ae119c 100644
--- a/libcxx/include/__utility/no_destroy.h
+++ b/libcxx/include/__utility/no_destroy.h
@@ -10,9 +10,9 @@
#define _LIBCPP___UTILITY_NO_DESTROY_H
#include <__config>
+#include <__new/placement_new_delete.h>
#include <__type_traits/is_constant_evaluated.h>
#include <__utility/forward.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__utility/small_buffer.h b/libcxx/include/__utility/small_buffer.h
index b44b37e90e76..ff6e7e76f14f 100644
--- a/libcxx/include/__utility/small_buffer.h
+++ b/libcxx/include/__utility/small_buffer.h
@@ -11,13 +11,15 @@
#include <__config>
#include <__cstddef/byte.h>
+#include <__cstddef/size_t.h>
#include <__memory/construct_at.h>
+#include <__new/allocate.h>
+#include <__new/launder.h>
#include <__type_traits/decay.h>
#include <__type_traits/is_trivially_constructible.h>
#include <__type_traits/is_trivially_destructible.h>
#include <__utility/exception_guard.h>
#include <__utility/forward.h>
-#include <new>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
diff --git a/libcxx/include/__vector/vector_bool.h b/libcxx/include/__vector/vector_bool.h
index 36eb7f350ac4..525fc35b26cc 100644
--- a/libcxx/include/__vector/vector_bool.h
+++ b/libcxx/include/__vector/vector_bool.h
@@ -1049,18 +1049,11 @@ _LIBCPP_CONSTEXPR_SINCE_CXX20 void vector<bool, _Allocator>::resize(size_type __
template <class _Allocator>
_LIBCPP_CONSTEXPR_SINCE_CXX20 void vector<bool, _Allocator>::flip() _NOEXCEPT {
- // do middle whole words
- size_type __n = __size_;
+ // Flip each storage word entirely, including the last potentially partial word.
+ // The unused bits in the last word are safe to flip as they won't be accessed.
__storage_pointer __p = __begin_;
- for (; __n >= __bits_per_word; ++__p, __n -= __bits_per_word)
+ for (size_type __n = __external_cap_to_internal(size()); __n != 0; ++__p, --__n)
*__p = ~*__p;
- // do last partial word
- if (__n > 0) {
- __storage_type __m = ~__storage_type(0) >> (__bits_per_word - __n);
- __storage_type __b = *__p & __m;
- *__p &= ~__m;
- *__p |= ~__b & __m;
- }
}
template <class _Allocator>
diff --git a/libcxx/include/algorithm b/libcxx/include/algorithm
index 14355d63f290..e593ae26ed6e 100644
--- a/libcxx/include/algorithm
+++ b/libcxx/include/algorithm
@@ -1827,232 +1827,236 @@ template <class BidirectionalIterator, class Compare>
*/
-#include <__config>
-
-#include <__algorithm/adjacent_find.h>
-#include <__algorithm/all_of.h>
-#include <__algorithm/any_of.h>
-#include <__algorithm/binary_search.h>
-#include <__algorithm/copy.h>
-#include <__algorithm/copy_backward.h>
-#include <__algorithm/copy_if.h>
-#include <__algorithm/copy_n.h>
-#include <__algorithm/count.h>
-#include <__algorithm/count_if.h>
-#include <__algorithm/equal.h>
-#include <__algorithm/equal_range.h>
-#include <__algorithm/fill.h>
-#include <__algorithm/fill_n.h>
-#include <__algorithm/find.h>
-#include <__algorithm/find_end.h>
-#include <__algorithm/find_first_of.h>
-#include <__algorithm/find_if.h>
-#include <__algorithm/find_if_not.h>
-#include <__algorithm/for_each.h>
-#include <__algorithm/generate.h>
-#include <__algorithm/generate_n.h>
-#include <__algorithm/includes.h>
-#include <__algorithm/inplace_merge.h>
-#include <__algorithm/is_heap.h>
-#include <__algorithm/is_heap_until.h>
-#include <__algorithm/is_partitioned.h>
-#include <__algorithm/is_permutation.h>
-#include <__algorithm/is_sorted.h>
-#include <__algorithm/is_sorted_until.h>
-#include <__algorithm/iter_swap.h>
-#include <__algorithm/lexicographical_compare.h>
-#include <__algorithm/lower_bound.h>
-#include <__algorithm/make_heap.h>
-#include <__algorithm/max.h>
-#include <__algorithm/max_element.h>
-#include <__algorithm/merge.h>
-#include <__algorithm/min.h>
-#include <__algorithm/min_element.h>
-#include <__algorithm/minmax.h>
-#include <__algorithm/minmax_element.h>
-#include <__algorithm/mismatch.h>
-#include <__algorithm/move.h>
-#include <__algorithm/move_backward.h>
-#include <__algorithm/next_permutation.h>
-#include <__algorithm/none_of.h>
-#include <__algorithm/nth_element.h>
-#include <__algorithm/partial_sort.h>
-#include <__algorithm/partial_sort_copy.h>
-#include <__algorithm/partition.h>
-#include <__algorithm/partition_copy.h>
-#include <__algorithm/partition_point.h>
-#include <__algorithm/pop_heap.h>
-#include <__algorithm/prev_permutation.h>
-#include <__algorithm/push_heap.h>
-#include <__algorithm/remove.h>
-#include <__algorithm/remove_copy.h>
-#include <__algorithm/remove_copy_if.h>
-#include <__algorithm/remove_if.h>
-#include <__algorithm/replace.h>
-#include <__algorithm/replace_copy.h>
-#include <__algorithm/replace_copy_if.h>
-#include <__algorithm/replace_if.h>
-#include <__algorithm/reverse.h>
-#include <__algorithm/reverse_copy.h>
-#include <__algorithm/rotate.h>
-#include <__algorithm/rotate_copy.h>
-#include <__algorithm/search.h>
-#include <__algorithm/search_n.h>
-#include <__algorithm/set_difference.h>
-#include <__algorithm/set_intersection.h>
-#include <__algorithm/set_symmetric_difference.h>
-#include <__algorithm/set_union.h>
-#include <__algorithm/shuffle.h>
-#include <__algorithm/sort.h>
-#include <__algorithm/sort_heap.h>
-#include <__algorithm/stable_partition.h>
-#include <__algorithm/stable_sort.h>
-#include <__algorithm/swap_ranges.h>
-#include <__algorithm/transform.h>
-#include <__algorithm/unique.h>
-#include <__algorithm/unique_copy.h>
-#include <__algorithm/upper_bound.h>
-
-#if _LIBCPP_STD_VER >= 17
-# include <__algorithm/clamp.h>
-# include <__algorithm/for_each_n.h>
-# include <__algorithm/pstl.h>
-# include <__algorithm/sample.h>
-#endif // _LIBCPP_STD_VER >= 17
-
-#if _LIBCPP_STD_VER >= 20
-# include <__algorithm/in_found_result.h>
-# include <__algorithm/in_fun_result.h>
-# include <__algorithm/in_in_out_result.h>
-# include <__algorithm/in_in_result.h>
-# include <__algorithm/in_out_out_result.h>
-# include <__algorithm/in_out_result.h>
-# include <__algorithm/lexicographical_compare_three_way.h>
-# include <__algorithm/min_max_result.h>
-# include <__algorithm/ranges_adjacent_find.h>
-# include <__algorithm/ranges_all_of.h>
-# include <__algorithm/ranges_any_of.h>
-# include <__algorithm/ranges_binary_search.h>
-# include <__algorithm/ranges_clamp.h>
-# include <__algorithm/ranges_contains.h>
-# include <__algorithm/ranges_copy.h>
-# include <__algorithm/ranges_copy_backward.h>
-# include <__algorithm/ranges_copy_if.h>
-# include <__algorithm/ranges_copy_n.h>
-# include <__algorithm/ranges_count.h>
-# include <__algorithm/ranges_count_if.h>
-# include <__algorithm/ranges_equal.h>
-# include <__algorithm/ranges_equal_range.h>
-# include <__algorithm/ranges_fill.h>
-# include <__algorithm/ranges_fill_n.h>
-# include <__algorithm/ranges_find.h>
-# include <__algorithm/ranges_find_end.h>
-# include <__algorithm/ranges_find_first_of.h>
-# include <__algorithm/ranges_find_if.h>
-# include <__algorithm/ranges_find_if_not.h>
-# include <__algorithm/ranges_for_each.h>
-# include <__algorithm/ranges_for_each_n.h>
-# include <__algorithm/ranges_generate.h>
-# include <__algorithm/ranges_generate_n.h>
-# include <__algorithm/ranges_includes.h>
-# include <__algorithm/ranges_inplace_merge.h>
-# include <__algorithm/ranges_is_heap.h>
-# include <__algorithm/ranges_is_heap_until.h>
-# include <__algorithm/ranges_is_partitioned.h>
-# include <__algorithm/ranges_is_permutation.h>
-# include <__algorithm/ranges_is_sorted.h>
-# include <__algorithm/ranges_is_sorted_until.h>
-# include <__algorithm/ranges_lexicographical_compare.h>
-# include <__algorithm/ranges_lower_bound.h>
-# include <__algorithm/ranges_make_heap.h>
-# include <__algorithm/ranges_max.h>
-# include <__algorithm/ranges_max_element.h>
-# include <__algorithm/ranges_merge.h>
-# include <__algorithm/ranges_min.h>
-# include <__algorithm/ranges_min_element.h>
-# include <__algorithm/ranges_minmax.h>
-# include <__algorithm/ranges_minmax_element.h>
-# include <__algorithm/ranges_mismatch.h>
-# include <__algorithm/ranges_move.h>
-# include <__algorithm/ranges_move_backward.h>
-# include <__algorithm/ranges_next_permutation.h>
-# include <__algorithm/ranges_none_of.h>
-# include <__algorithm/ranges_nth_element.h>
-# include <__algorithm/ranges_partial_sort.h>
-# include <__algorithm/ranges_partial_sort_copy.h>
-# include <__algorithm/ranges_partition.h>
-# include <__algorithm/ranges_partition_copy.h>
-# include <__algorithm/ranges_partition_point.h>
-# include <__algorithm/ranges_pop_heap.h>
-# include <__algorithm/ranges_prev_permutation.h>
-# include <__algorithm/ranges_push_heap.h>
-# include <__algorithm/ranges_remove.h>
-# include <__algorithm/ranges_remove_copy.h>
-# include <__algorithm/ranges_remove_copy_if.h>
-# include <__algorithm/ranges_remove_if.h>
-# include <__algorithm/ranges_replace.h>
-# include <__algorithm/ranges_replace_copy.h>
-# include <__algorithm/ranges_replace_copy_if.h>
-# include <__algorithm/ranges_replace_if.h>
-# include <__algorithm/ranges_reverse.h>
-# include <__algorithm/ranges_reverse_copy.h>
-# include <__algorithm/ranges_rotate.h>
-# include <__algorithm/ranges_rotate_copy.h>
-# include <__algorithm/ranges_sample.h>
-# include <__algorithm/ranges_search.h>
-# include <__algorithm/ranges_search_n.h>
-# include <__algorithm/ranges_set_difference.h>
-# include <__algorithm/ranges_set_intersection.h>
-# include <__algorithm/ranges_set_symmetric_difference.h>
-# include <__algorithm/ranges_set_union.h>
-# include <__algorithm/ranges_shuffle.h>
-# include <__algorithm/ranges_sort.h>
-# include <__algorithm/ranges_sort_heap.h>
-# include <__algorithm/ranges_stable_partition.h>
-# include <__algorithm/ranges_stable_sort.h>
-# include <__algorithm/ranges_swap_ranges.h>
-# include <__algorithm/ranges_transform.h>
-# include <__algorithm/ranges_unique.h>
-# include <__algorithm/ranges_unique_copy.h>
-# include <__algorithm/ranges_upper_bound.h>
-# include <__algorithm/shift_left.h>
-# include <__algorithm/shift_right.h>
-#endif
-
-#if _LIBCPP_STD_VER >= 23
-# include <__algorithm/ranges_contains_subrange.h>
-# include <__algorithm/ranges_ends_with.h>
-# include <__algorithm/ranges_find_last.h>
-# include <__algorithm/ranges_fold.h>
-# include <__algorithm/ranges_starts_with.h>
-#endif // _LIBCPP_STD_VER >= 23
-
-#include <version>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/algorithm>
+#else
+# include <__config>
+
+# include <__algorithm/adjacent_find.h>
+# include <__algorithm/all_of.h>
+# include <__algorithm/any_of.h>
+# include <__algorithm/binary_search.h>
+# include <__algorithm/copy.h>
+# include <__algorithm/copy_backward.h>
+# include <__algorithm/copy_if.h>
+# include <__algorithm/copy_n.h>
+# include <__algorithm/count.h>
+# include <__algorithm/count_if.h>
+# include <__algorithm/equal.h>
+# include <__algorithm/equal_range.h>
+# include <__algorithm/fill.h>
+# include <__algorithm/fill_n.h>
+# include <__algorithm/find.h>
+# include <__algorithm/find_end.h>
+# include <__algorithm/find_first_of.h>
+# include <__algorithm/find_if.h>
+# include <__algorithm/find_if_not.h>
+# include <__algorithm/for_each.h>
+# include <__algorithm/generate.h>
+# include <__algorithm/generate_n.h>
+# include <__algorithm/includes.h>
+# include <__algorithm/inplace_merge.h>
+# include <__algorithm/is_heap.h>
+# include <__algorithm/is_heap_until.h>
+# include <__algorithm/is_partitioned.h>
+# include <__algorithm/is_permutation.h>
+# include <__algorithm/is_sorted.h>
+# include <__algorithm/is_sorted_until.h>
+# include <__algorithm/iter_swap.h>
+# include <__algorithm/lexicographical_compare.h>
+# include <__algorithm/lower_bound.h>
+# include <__algorithm/make_heap.h>
+# include <__algorithm/max.h>
+# include <__algorithm/max_element.h>
+# include <__algorithm/merge.h>
+# include <__algorithm/min.h>
+# include <__algorithm/min_element.h>
+# include <__algorithm/minmax.h>
+# include <__algorithm/minmax_element.h>
+# include <__algorithm/mismatch.h>
+# include <__algorithm/move.h>
+# include <__algorithm/move_backward.h>
+# include <__algorithm/next_permutation.h>
+# include <__algorithm/none_of.h>
+# include <__algorithm/nth_element.h>
+# include <__algorithm/partial_sort.h>
+# include <__algorithm/partial_sort_copy.h>
+# include <__algorithm/partition.h>
+# include <__algorithm/partition_copy.h>
+# include <__algorithm/partition_point.h>
+# include <__algorithm/pop_heap.h>
+# include <__algorithm/prev_permutation.h>
+# include <__algorithm/push_heap.h>
+# include <__algorithm/remove.h>
+# include <__algorithm/remove_copy.h>
+# include <__algorithm/remove_copy_if.h>
+# include <__algorithm/remove_if.h>
+# include <__algorithm/replace.h>
+# include <__algorithm/replace_copy.h>
+# include <__algorithm/replace_copy_if.h>
+# include <__algorithm/replace_if.h>
+# include <__algorithm/reverse.h>
+# include <__algorithm/reverse_copy.h>
+# include <__algorithm/rotate.h>
+# include <__algorithm/rotate_copy.h>
+# include <__algorithm/search.h>
+# include <__algorithm/search_n.h>
+# include <__algorithm/set_difference.h>
+# include <__algorithm/set_intersection.h>
+# include <__algorithm/set_symmetric_difference.h>
+# include <__algorithm/set_union.h>
+# include <__algorithm/shuffle.h>
+# include <__algorithm/sort.h>
+# include <__algorithm/sort_heap.h>
+# include <__algorithm/stable_partition.h>
+# include <__algorithm/stable_sort.h>
+# include <__algorithm/swap_ranges.h>
+# include <__algorithm/transform.h>
+# include <__algorithm/unique.h>
+# include <__algorithm/unique_copy.h>
+# include <__algorithm/upper_bound.h>
+
+# if _LIBCPP_STD_VER >= 17
+# include <__algorithm/clamp.h>
+# include <__algorithm/for_each_n.h>
+# include <__algorithm/pstl.h>
+# include <__algorithm/sample.h>
+# endif // _LIBCPP_STD_VER >= 17
+
+# if _LIBCPP_STD_VER >= 20
+# include <__algorithm/in_found_result.h>
+# include <__algorithm/in_fun_result.h>
+# include <__algorithm/in_in_out_result.h>
+# include <__algorithm/in_in_result.h>
+# include <__algorithm/in_out_out_result.h>
+# include <__algorithm/in_out_result.h>
+# include <__algorithm/lexicographical_compare_three_way.h>
+# include <__algorithm/min_max_result.h>
+# include <__algorithm/ranges_adjacent_find.h>
+# include <__algorithm/ranges_all_of.h>
+# include <__algorithm/ranges_any_of.h>
+# include <__algorithm/ranges_binary_search.h>
+# include <__algorithm/ranges_clamp.h>
+# include <__algorithm/ranges_contains.h>
+# include <__algorithm/ranges_copy.h>
+# include <__algorithm/ranges_copy_backward.h>
+# include <__algorithm/ranges_copy_if.h>
+# include <__algorithm/ranges_copy_n.h>
+# include <__algorithm/ranges_count.h>
+# include <__algorithm/ranges_count_if.h>
+# include <__algorithm/ranges_equal.h>
+# include <__algorithm/ranges_equal_range.h>
+# include <__algorithm/ranges_fill.h>
+# include <__algorithm/ranges_fill_n.h>
+# include <__algorithm/ranges_find.h>
+# include <__algorithm/ranges_find_end.h>
+# include <__algorithm/ranges_find_first_of.h>
+# include <__algorithm/ranges_find_if.h>
+# include <__algorithm/ranges_find_if_not.h>
+# include <__algorithm/ranges_for_each.h>
+# include <__algorithm/ranges_for_each_n.h>
+# include <__algorithm/ranges_generate.h>
+# include <__algorithm/ranges_generate_n.h>
+# include <__algorithm/ranges_includes.h>
+# include <__algorithm/ranges_inplace_merge.h>
+# include <__algorithm/ranges_is_heap.h>
+# include <__algorithm/ranges_is_heap_until.h>
+# include <__algorithm/ranges_is_partitioned.h>
+# include <__algorithm/ranges_is_permutation.h>
+# include <__algorithm/ranges_is_sorted.h>
+# include <__algorithm/ranges_is_sorted_until.h>
+# include <__algorithm/ranges_lexicographical_compare.h>
+# include <__algorithm/ranges_lower_bound.h>
+# include <__algorithm/ranges_make_heap.h>
+# include <__algorithm/ranges_max.h>
+# include <__algorithm/ranges_max_element.h>
+# include <__algorithm/ranges_merge.h>
+# include <__algorithm/ranges_min.h>
+# include <__algorithm/ranges_min_element.h>
+# include <__algorithm/ranges_minmax.h>
+# include <__algorithm/ranges_minmax_element.h>
+# include <__algorithm/ranges_mismatch.h>
+# include <__algorithm/ranges_move.h>
+# include <__algorithm/ranges_move_backward.h>
+# include <__algorithm/ranges_next_permutation.h>
+# include <__algorithm/ranges_none_of.h>
+# include <__algorithm/ranges_nth_element.h>
+# include <__algorithm/ranges_partial_sort.h>
+# include <__algorithm/ranges_partial_sort_copy.h>
+# include <__algorithm/ranges_partition.h>
+# include <__algorithm/ranges_partition_copy.h>
+# include <__algorithm/ranges_partition_point.h>
+# include <__algorithm/ranges_pop_heap.h>
+# include <__algorithm/ranges_prev_permutation.h>
+# include <__algorithm/ranges_push_heap.h>
+# include <__algorithm/ranges_remove.h>
+# include <__algorithm/ranges_remove_copy.h>
+# include <__algorithm/ranges_remove_copy_if.h>
+# include <__algorithm/ranges_remove_if.h>
+# include <__algorithm/ranges_replace.h>
+# include <__algorithm/ranges_replace_copy.h>
+# include <__algorithm/ranges_replace_copy_if.h>
+# include <__algorithm/ranges_replace_if.h>
+# include <__algorithm/ranges_reverse.h>
+# include <__algorithm/ranges_reverse_copy.h>
+# include <__algorithm/ranges_rotate.h>
+# include <__algorithm/ranges_rotate_copy.h>
+# include <__algorithm/ranges_sample.h>
+# include <__algorithm/ranges_search.h>
+# include <__algorithm/ranges_search_n.h>
+# include <__algorithm/ranges_set_difference.h>
+# include <__algorithm/ranges_set_intersection.h>
+# include <__algorithm/ranges_set_symmetric_difference.h>
+# include <__algorithm/ranges_set_union.h>
+# include <__algorithm/ranges_shuffle.h>
+# include <__algorithm/ranges_sort.h>
+# include <__algorithm/ranges_sort_heap.h>
+# include <__algorithm/ranges_stable_partition.h>
+# include <__algorithm/ranges_stable_sort.h>
+# include <__algorithm/ranges_swap_ranges.h>
+# include <__algorithm/ranges_transform.h>
+# include <__algorithm/ranges_unique.h>
+# include <__algorithm/ranges_unique_copy.h>
+# include <__algorithm/ranges_upper_bound.h>
+# include <__algorithm/shift_left.h>
+# include <__algorithm/shift_right.h>
+# endif
+
+# if _LIBCPP_STD_VER >= 23
+# include <__algorithm/ranges_contains_subrange.h>
+# include <__algorithm/ranges_ends_with.h>
+# include <__algorithm/ranges_find_last.h>
+# include <__algorithm/ranges_fold.h>
+# include <__algorithm/ranges_starts_with.h>
+# endif // _LIBCPP_STD_VER >= 23
+
+# include <version>
// standard-mandated includes
// [algorithm.syn]
-#include <initializer_list>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER == 14
-# include <execution>
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <atomic>
-# include <bit>
-# include <concepts>
-# include <cstdlib>
-# include <cstring>
-# include <iterator>
-# include <memory>
-# include <stdexcept>
-# include <type_traits>
-# include <utility>
-#endif
+# include <initializer_list>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER == 14
+# include <execution>
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
+# include <bit>
+# include <concepts>
+# include <cstdlib>
+# include <cstring>
+# include <iterator>
+# include <memory>
+# include <stdexcept>
+# include <type_traits>
+# include <utility>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_ALGORITHM
diff --git a/libcxx/include/any b/libcxx/include/any
index cae56fa376e0..934c4dbd45a6 100644
--- a/libcxx/include/any
+++ b/libcxx/include/any
@@ -80,41 +80,44 @@ namespace std {
*/
-#include <__config>
-#include <__memory/allocator.h>
-#include <__memory/allocator_destructor.h>
-#include <__memory/allocator_traits.h>
-#include <__memory/unique_ptr.h>
-#include <__type_traits/add_cv_quals.h>
-#include <__type_traits/add_pointer.h>
-#include <__type_traits/aligned_storage.h>
-#include <__type_traits/conditional.h>
-#include <__type_traits/decay.h>
-#include <__type_traits/enable_if.h>
-#include <__type_traits/is_constructible.h>
-#include <__type_traits/is_function.h>
-#include <__type_traits/is_nothrow_constructible.h>
-#include <__type_traits/is_reference.h>
-#include <__type_traits/is_same.h>
-#include <__type_traits/is_void.h>
-#include <__type_traits/remove_cv.h>
-#include <__type_traits/remove_cvref.h>
-#include <__type_traits/remove_reference.h>
-#include <__utility/forward.h>
-#include <__utility/in_place.h>
-#include <__utility/move.h>
-#include <__utility/unreachable.h>
-#include <__verbose_abort>
-#include <initializer_list>
-#include <typeinfo>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/any>
+#else
+# include <__config>
+# include <__memory/allocator.h>
+# include <__memory/allocator_destructor.h>
+# include <__memory/allocator_traits.h>
+# include <__memory/unique_ptr.h>
+# include <__type_traits/add_cv_quals.h>
+# include <__type_traits/add_pointer.h>
+# include <__type_traits/aligned_storage.h>
+# include <__type_traits/conditional.h>
+# include <__type_traits/decay.h>
+# include <__type_traits/enable_if.h>
+# include <__type_traits/is_constructible.h>
+# include <__type_traits/is_function.h>
+# include <__type_traits/is_nothrow_constructible.h>
+# include <__type_traits/is_reference.h>
+# include <__type_traits/is_same.h>
+# include <__type_traits/is_void.h>
+# include <__type_traits/remove_cv.h>
+# include <__type_traits/remove_cvref.h>
+# include <__type_traits/remove_reference.h>
+# include <__utility/forward.h>
+# include <__utility/in_place.h>
+# include <__utility/move.h>
+# include <__utility/unreachable.h>
+# include <__verbose_abort>
+# include <initializer_list>
+# include <typeinfo>
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
namespace std {
class _LIBCPP_EXPORTED_FROM_ABI _LIBCPP_AVAILABILITY_BAD_ANY_CAST bad_any_cast : public bad_cast {
@@ -125,14 +128,14 @@ public:
_LIBCPP_BEGIN_NAMESPACE_STD
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
[[noreturn]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_AVAILABILITY_THROW_BAD_ANY_CAST void __throw_bad_any_cast() {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
throw bad_any_cast();
-# else
+# else
_LIBCPP_VERBOSE_ABORT("bad_any_cast was thrown in -fno-exceptions mode");
-# endif
+# endif
}
// Forward declarations
@@ -174,10 +177,10 @@ inline _LIBCPP_HIDE_FROM_ABI constexpr const void* __get_fallback_typeid() {
template <class _Tp>
inline _LIBCPP_HIDE_FROM_ABI bool __compare_typeid(type_info const* __id, const void* __fallback_id) {
-# if _LIBCPP_HAS_RTTI
+# if _LIBCPP_HAS_RTTI
if (__id && *__id == typeid(_Tp))
return true;
-# endif
+# endif
return !__id && __fallback_id == __any_imp::__get_fallback_typeid<_Tp>();
}
@@ -264,7 +267,7 @@ public:
// 6.3.4 any observers
_LIBCPP_HIDE_FROM_ABI bool has_value() const _NOEXCEPT { return __h_ != nullptr; }
-# if _LIBCPP_HAS_RTTI
+# if _LIBCPP_HAS_RTTI
_LIBCPP_HIDE_FROM_ABI const type_info& type() const _NOEXCEPT {
if (__h_) {
return *static_cast<type_info const*>(this->__call(_Action::_TypeInfo));
@@ -272,7 +275,7 @@ public:
return typeid(void);
}
}
-# endif
+# endif
private:
typedef __any_imp::_Action _Action;
@@ -370,11 +373,11 @@ private:
}
_LIBCPP_HIDE_FROM_ABI static void* __type_info() {
-# if _LIBCPP_HAS_RTTI
+# if _LIBCPP_HAS_RTTI
return const_cast<void*>(static_cast<void const*>(&typeid(_Tp)));
-# else
+# else
return nullptr;
-# endif
+# endif
}
};
@@ -442,11 +445,11 @@ private:
}
_LIBCPP_HIDE_FROM_ABI static void* __type_info() {
-# if _LIBCPP_HAS_RTTI
+# if _LIBCPP_HAS_RTTI
return const_cast<void*>(static_cast<void const*>(&typeid(_Tp)));
-# else
+# else
return nullptr;
-# endif
+# endif
}
};
@@ -577,37 +580,38 @@ _LIBCPP_HIDE_FROM_ABI add_pointer_t<_ValueType> any_cast(any* __any) _NOEXCEPT {
void* __p = __any->__call(
_Action::_Get,
nullptr,
-# if _LIBCPP_HAS_RTTI
+# if _LIBCPP_HAS_RTTI
&typeid(_ValueType),
-# else
+# else
nullptr,
-# endif
+# endif
__any_imp::__get_fallback_typeid<_ValueType>());
return std::__pointer_or_func_cast<_ReturnType>(__p, is_function<_ValueType>{});
}
return nullptr;
}
-#endif // _LIBCPP_STD_VER >= 17
+# endif // _LIBCPP_STD_VER >= 17
_LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 17
-# include <chrono>
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <atomic>
-# include <concepts>
-# include <cstdlib>
-# include <iosfwd>
-# include <iterator>
-# include <memory>
-# include <stdexcept>
-# include <type_traits>
-# include <variant>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 17
+# include <chrono>
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
+# include <concepts>
+# include <cstdlib>
+# include <iosfwd>
+# include <iterator>
+# include <memory>
+# include <stdexcept>
+# include <type_traits>
+# include <variant>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_ANY
diff --git a/libcxx/include/array b/libcxx/include/array
index 99b38d049e12..516d96538f5a 100644
--- a/libcxx/include/array
+++ b/libcxx/include/array
@@ -111,60 +111,63 @@ template <size_t I, class T, size_t N> const T&& get(const array<T, N>&&) noexce
*/
-#include <__algorithm/equal.h>
-#include <__algorithm/fill_n.h>
-#include <__algorithm/lexicographical_compare.h>
-#include <__algorithm/lexicographical_compare_three_way.h>
-#include <__algorithm/swap_ranges.h>
-#include <__assert>
-#include <__config>
-#include <__cstddef/ptrdiff_t.h>
-#include <__fwd/array.h>
-#include <__iterator/reverse_iterator.h>
-#include <__iterator/static_bounded_iter.h>
-#include <__iterator/wrap_iter.h>
-#include <__tuple/sfinae_helpers.h>
-#include <__type_traits/conditional.h>
-#include <__type_traits/conjunction.h>
-#include <__type_traits/enable_if.h>
-#include <__type_traits/is_array.h>
-#include <__type_traits/is_const.h>
-#include <__type_traits/is_constructible.h>
-#include <__type_traits/is_nothrow_constructible.h>
-#include <__type_traits/is_same.h>
-#include <__type_traits/is_swappable.h>
-#include <__type_traits/is_trivially_relocatable.h>
-#include <__type_traits/remove_cv.h>
-#include <__utility/empty.h>
-#include <__utility/integer_sequence.h>
-#include <__utility/move.h>
-#include <__utility/unreachable.h>
-#include <stdexcept>
-#include <version>
+#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>
+# include <__algorithm/lexicographical_compare_three_way.h>
+# include <__algorithm/swap_ranges.h>
+# include <__assert>
+# include <__config>
+# include <__cstddef/ptrdiff_t.h>
+# include <__fwd/array.h>
+# include <__iterator/reverse_iterator.h>
+# include <__iterator/static_bounded_iter.h>
+# include <__iterator/wrap_iter.h>
+# include <__tuple/sfinae_helpers.h>
+# include <__type_traits/conditional.h>
+# include <__type_traits/conjunction.h>
+# include <__type_traits/enable_if.h>
+# include <__type_traits/is_array.h>
+# include <__type_traits/is_const.h>
+# include <__type_traits/is_constructible.h>
+# include <__type_traits/is_nothrow_constructible.h>
+# include <__type_traits/is_same.h>
+# include <__type_traits/is_swappable.h>
+# include <__type_traits/is_trivially_relocatable.h>
+# include <__type_traits/remove_cv.h>
+# include <__utility/empty.h>
+# include <__utility/integer_sequence.h>
+# include <__utility/move.h>
+# include <__utility/unreachable.h>
+# include <stdexcept>
+# include <version>
// standard-mandated includes
// [iterator.range]
-#include <__iterator/access.h>
-#include <__iterator/data.h>
-#include <__iterator/empty.h>
-#include <__iterator/reverse_access.h>
-#include <__iterator/size.h>
+# include <__iterator/access.h>
+# include <__iterator/data.h>
+# include <__iterator/empty.h>
+# include <__iterator/reverse_access.h>
+# include <__iterator/size.h>
// [array.syn]
-#include <compare>
-#include <initializer_list>
+# include <compare>
+# include <initializer_list>
// [tuple.helper]
-#include <__tuple/tuple_element.h>
-#include <__tuple/tuple_size.h>
+# include <__tuple/tuple_element.h>
+# include <__tuple/tuple_size.h>
-#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
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -179,16 +182,16 @@ struct _LIBCPP_TEMPLATE_VIS array {
using const_reference = const value_type&;
using pointer = value_type*;
using const_pointer = const value_type*;
-#if defined(_LIBCPP_ABI_BOUNDED_ITERATORS_IN_STD_ARRAY)
+# if defined(_LIBCPP_ABI_BOUNDED_ITERATORS_IN_STD_ARRAY)
using iterator = __static_bounded_iter<pointer, _Size>;
using const_iterator = __static_bounded_iter<const_pointer, _Size>;
-#elif defined(_LIBCPP_ABI_USE_WRAP_ITER_IN_STD_ARRAY)
+# elif defined(_LIBCPP_ABI_USE_WRAP_ITER_IN_STD_ARRAY)
using iterator = __wrap_iter<pointer>;
using const_iterator = __wrap_iter<const_pointer>;
-#else
+# else
using iterator = pointer;
using const_iterator = const_pointer;
-#endif
+# endif
using size_type = size_t;
using difference_type = ptrdiff_t;
using reverse_iterator = std::reverse_iterator<iterator>;
@@ -207,32 +210,32 @@ struct _LIBCPP_TEMPLATE_VIS array {
// iterators:
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17 iterator begin() _NOEXCEPT {
-#if defined(_LIBCPP_ABI_BOUNDED_ITERATORS_IN_STD_ARRAY)
+# if defined(_LIBCPP_ABI_BOUNDED_ITERATORS_IN_STD_ARRAY)
return std::__make_static_bounded_iter<_Size>(data(), data());
-#else
+# else
return iterator(data());
-#endif
+# endif
}
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17 const_iterator begin() const _NOEXCEPT {
-#if defined(_LIBCPP_ABI_BOUNDED_ITERATORS_IN_STD_ARRAY)
+# if defined(_LIBCPP_ABI_BOUNDED_ITERATORS_IN_STD_ARRAY)
return std::__make_static_bounded_iter<_Size>(data(), data());
-#else
+# else
return const_iterator(data());
-#endif
+# endif
}
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17 iterator end() _NOEXCEPT {
-#if defined(_LIBCPP_ABI_BOUNDED_ITERATORS_IN_STD_ARRAY)
+# if defined(_LIBCPP_ABI_BOUNDED_ITERATORS_IN_STD_ARRAY)
return std::__make_static_bounded_iter<_Size>(data() + _Size, data());
-#else
+# else
return iterator(data() + _Size);
-#endif
+# endif
}
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17 const_iterator end() const _NOEXCEPT {
-#if defined(_LIBCPP_ABI_BOUNDED_ITERATORS_IN_STD_ARRAY)
+# if defined(_LIBCPP_ABI_BOUNDED_ITERATORS_IN_STD_ARRAY)
return std::__make_static_bounded_iter<_Size>(data() + _Size, data());
-#else
+# else
return const_iterator(data() + _Size);
-#endif
+# endif
}
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17 reverse_iterator rbegin() _NOEXCEPT {
@@ -302,16 +305,16 @@ struct _LIBCPP_TEMPLATE_VIS array<_Tp, 0> {
using const_reference = const value_type&;
using pointer = value_type*;
using const_pointer = const value_type*;
-#if defined(_LIBCPP_ABI_BOUNDED_ITERATORS_IN_STD_ARRAY)
+# if defined(_LIBCPP_ABI_BOUNDED_ITERATORS_IN_STD_ARRAY)
using iterator = __static_bounded_iter<pointer, 0>;
using const_iterator = __static_bounded_iter<const_pointer, 0>;
-#elif defined(_LIBCPP_ABI_USE_WRAP_ITER_IN_STD_ARRAY)
+# elif defined(_LIBCPP_ABI_USE_WRAP_ITER_IN_STD_ARRAY)
using iterator = __wrap_iter<pointer>;
using const_iterator = __wrap_iter<const_pointer>;
-#else
+# else
using iterator = pointer;
using const_iterator = const_pointer;
-#endif
+# endif
using size_type = size_t;
using difference_type = ptrdiff_t;
using reverse_iterator = std::reverse_iterator<iterator>;
@@ -338,32 +341,32 @@ struct _LIBCPP_TEMPLATE_VIS array<_Tp, 0> {
// iterators:
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17 iterator begin() _NOEXCEPT {
-#if defined(_LIBCPP_ABI_BOUNDED_ITERATORS_IN_STD_ARRAY)
+# if defined(_LIBCPP_ABI_BOUNDED_ITERATORS_IN_STD_ARRAY)
return std::__make_static_bounded_iter<0>(data(), data());
-#else
+# else
return iterator(data());
-#endif
+# endif
}
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17 const_iterator begin() const _NOEXCEPT {
-#if defined(_LIBCPP_ABI_BOUNDED_ITERATORS_IN_STD_ARRAY)
+# if defined(_LIBCPP_ABI_BOUNDED_ITERATORS_IN_STD_ARRAY)
return std::__make_static_bounded_iter<0>(data(), data());
-#else
+# else
return const_iterator(data());
-#endif
+# endif
}
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17 iterator end() _NOEXCEPT {
-#if defined(_LIBCPP_ABI_BOUNDED_ITERATORS_IN_STD_ARRAY)
+# if defined(_LIBCPP_ABI_BOUNDED_ITERATORS_IN_STD_ARRAY)
return std::__make_static_bounded_iter<0>(data(), data());
-#else
+# else
return iterator(data());
-#endif
+# endif
}
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17 const_iterator end() const _NOEXCEPT {
-#if defined(_LIBCPP_ABI_BOUNDED_ITERATORS_IN_STD_ARRAY)
+# if defined(_LIBCPP_ABI_BOUNDED_ITERATORS_IN_STD_ARRAY)
return std::__make_static_bounded_iter<0>(data(), data());
-#else
+# else
return const_iterator(data());
-#endif
+# endif
}
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX17 reverse_iterator rbegin() _NOEXCEPT {
@@ -433,10 +436,10 @@ struct _LIBCPP_TEMPLATE_VIS array<_Tp, 0> {
}
};
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _Tp, class... _Args, class = enable_if_t<__all<_IsSame<_Tp, _Args>::value...>::value> >
array(_Tp, _Args...) -> array<_Tp, 1 + sizeof...(_Args)>;
-#endif
+# endif
template <class _Tp, size_t _Size>
inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 bool
@@ -444,7 +447,7 @@ operator==(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y) {
return std::equal(__x.begin(), __x.end(), __y.begin());
}
-#if _LIBCPP_STD_VER <= 17
+# if _LIBCPP_STD_VER <= 17
template <class _Tp, size_t _Size>
inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y) {
@@ -471,7 +474,7 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator>=(const array<_Tp, _Size>& __x, const
return !(__x < __y);
}
-#else // _LIBCPP_STD_VER <= 17
+# else // _LIBCPP_STD_VER <= 17
template <class _Tp, size_t _Size>
_LIBCPP_HIDE_FROM_ABI constexpr __synth_three_way_result<_Tp>
@@ -479,7 +482,7 @@ operator<=>(const array<_Tp, _Size>& __x, const array<_Tp, _Size>& __y) {
return std::lexicographical_compare_three_way(__x.begin(), __x.end(), __y.begin(), __y.end(), std::__synth_three_way);
}
-#endif // _LIBCPP_STD_VER <= 17
+# endif // _LIBCPP_STD_VER <= 17
template <class _Tp, size_t _Size, __enable_if_t<_Size == 0 || __is_swappable_v<_Tp>, int> = 0>
inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void swap(array<_Tp, _Size>& __x, array<_Tp, _Size>& __y)
@@ -520,7 +523,7 @@ inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 const _Tp&& get(const
return std::move(__a.__elems_[_Ip]);
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <typename _Tp, size_t _Size, size_t... _Index>
_LIBCPP_HIDE_FROM_ABI constexpr array<remove_cv_t<_Tp>, _Size>
@@ -550,19 +553,21 @@ to_array(_Tp (&&__arr)[_Size]) noexcept(is_nothrow_move_constructible_v<_Tp>) {
return std::__to_array_rvalue_impl(std::move(__arr), make_index_sequence<_Size>());
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <algorithm>
-# include <concepts>
-# include <cstdlib>
-# include <iterator>
-# include <type_traits>
-# include <utility>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <algorithm>
+# include <concepts>
+# include <cstdlib>
+# include <iterator>
+# include <new>
+# include <type_traits>
+# include <utility>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_ARRAY
diff --git a/libcxx/include/atomic b/libcxx/include/atomic
index d4adf277c49c..80f9e437bfaa 100644
--- a/libcxx/include/atomic
+++ b/libcxx/include/atomic
@@ -587,42 +587,45 @@ template <class T>
*/
-#include <__config>
-
-#include <__atomic/aliases.h>
-#include <__atomic/atomic.h>
-#include <__atomic/atomic_flag.h>
-#include <__atomic/atomic_init.h>
-#include <__atomic/atomic_lock_free.h>
-#include <__atomic/atomic_sync.h>
-#include <__atomic/check_memory_order.h>
-#include <__atomic/contention_t.h>
-#include <__atomic/cxx_atomic_impl.h>
-#include <__atomic/fence.h>
-#include <__atomic/is_always_lock_free.h>
-#include <__atomic/kill_dependency.h>
-#include <__atomic/memory_order.h>
-#include <version>
-
-#if _LIBCPP_STD_VER >= 20
-# include <__atomic/atomic_ref.h>
-#endif
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#if !_LIBCPP_HAS_ATOMIC_HEADER
-# error <atomic> is not implemented
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cmath>
-# include <compare>
-# include <cstddef>
-# include <cstdlib>
-# include <cstring>
-# include <type_traits>
-#endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/atomic>
+#else
+# include <__config>
+
+# include <__atomic/aliases.h>
+# include <__atomic/atomic.h>
+# include <__atomic/atomic_flag.h>
+# include <__atomic/atomic_init.h>
+# include <__atomic/atomic_lock_free.h>
+# include <__atomic/atomic_sync.h>
+# include <__atomic/check_memory_order.h>
+# include <__atomic/contention_t.h>
+# include <__atomic/fence.h>
+# include <__atomic/is_always_lock_free.h>
+# include <__atomic/kill_dependency.h>
+# include <__atomic/memory_order.h>
+# include <version>
+
+# if _LIBCPP_STD_VER >= 20
+# include <__atomic/atomic_ref.h>
+# endif
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+
+# if !_LIBCPP_HAS_ATOMIC_HEADER
+# error <atomic> is not implemented
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cmath>
+# include <compare>
+# include <cstddef>
+# include <cstdlib>
+# include <cstring>
+# include <type_traits>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_ATOMIC
diff --git a/libcxx/include/barrier b/libcxx/include/barrier
index 980eae06ab14..6861532b02ba 100644
--- a/libcxx/include/barrier
+++ b/libcxx/include/barrier
@@ -45,30 +45,33 @@ namespace std
*/
-#include <__config>
-
-#if _LIBCPP_HAS_THREADS
-
-# include <__assert>
-# include <__atomic/atomic.h>
-# include <__atomic/memory_order.h>
-# include <__cstddef/ptrdiff_t.h>
-# include <__memory/unique_ptr.h>
-# include <__thread/poll_with_backoff.h>
-# include <__thread/timed_backoff_policy.h>
-# include <__utility/move.h>
-# include <cstdint>
-# include <limits>
-# include <version>
-
-# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-# endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/barrier>
+#else
+# include <__config>
+
+# if _LIBCPP_HAS_THREADS
+
+# include <__assert>
+# include <__atomic/atomic.h>
+# include <__atomic/memory_order.h>
+# include <__cstddef/ptrdiff_t.h>
+# include <__memory/unique_ptr.h>
+# include <__thread/poll_with_backoff.h>
+# include <__thread/timed_backoff_policy.h>
+# include <__utility/move.h>
+# include <cstdint>
+# include <limits>
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
_LIBCPP_PUSH_MACROS
-# include <__undef_macros>
+# include <__undef_macros>
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -76,7 +79,7 @@ struct __empty_completion {
inline _LIBCPP_HIDE_FROM_ABI void operator()() noexcept {}
};
-# ifndef _LIBCPP_HAS_NO_TREE_BARRIER
+# ifndef _LIBCPP_HAS_NO_TREE_BARRIER
/*
@@ -150,7 +153,7 @@ public:
}
};
-# else
+# else
/*
@@ -251,7 +254,7 @@ public:
}
};
-# endif // !_LIBCPP_HAS_NO_TREE_BARRIER
+# endif // !_LIBCPP_HAS_NO_TREE_BARRIER
template <class _CompletionF = __empty_completion>
class barrier {
@@ -290,19 +293,20 @@ public:
_LIBCPP_END_NAMESPACE_STD
-# endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_POP_MACROS
-#endif // _LIBCPP_HAS_THREADS
+# endif // _LIBCPP_HAS_THREADS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <atomic>
-# include <concepts>
-# include <iterator>
-# include <memory>
-# include <stdexcept>
-# include <variant>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
+# include <concepts>
+# include <iterator>
+# include <memory>
+# include <stdexcept>
+# include <variant>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_BARRIER
diff --git a/libcxx/include/bit b/libcxx/include/bit
index 092aebca26a3..3fea10ba25c4 100644
--- a/libcxx/include/bit
+++ b/libcxx/include/bit
@@ -61,37 +61,41 @@ namespace std {
*/
-#include <__config>
-
-#if _LIBCPP_STD_VER >= 20
-# include <__bit/bit_cast.h>
-# include <__bit/bit_ceil.h>
-# include <__bit/bit_floor.h>
-# include <__bit/bit_log2.h>
-# include <__bit/bit_width.h>
-# include <__bit/countl.h>
-# include <__bit/countr.h>
-# include <__bit/endian.h>
-# include <__bit/has_single_bit.h>
-# include <__bit/popcount.h>
-# include <__bit/rotate.h>
-#endif
-
-#if _LIBCPP_STD_VER >= 23
-# include <__bit/byteswap.h>
-#endif
-
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstdlib>
-# include <iosfwd>
-# include <limits>
-# include <type_traits>
-#endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/bit>
+#else
+# include <__config>
+
+# if _LIBCPP_STD_VER >= 20
+# include <__bit/bit_cast.h>
+# include <__bit/bit_ceil.h>
+# include <__bit/bit_floor.h>
+# include <__bit/bit_log2.h>
+# include <__bit/bit_width.h>
+# include <__bit/countl.h>
+# include <__bit/countr.h>
+# include <__bit/endian.h>
+# include <__bit/has_single_bit.h>
+# include <__bit/popcount.h>
+# include <__bit/rotate.h>
+# endif
+
+# if _LIBCPP_STD_VER >= 23
+# include <__bit/byteswap.h>
+# endif
+
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstdlib>
+# include <iosfwd>
+# include <limits>
+# include <type_traits>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_BIT
diff --git a/libcxx/include/bitset b/libcxx/include/bitset
index 9f14b69e7a9b..919d2a0f07e0 100644
--- a/libcxx/include/bitset
+++ b/libcxx/include/bitset
@@ -126,32 +126,36 @@ template <size_t N> struct hash<std::bitset<N>>;
// clang-format on
-#include <__algorithm/count.h>
-#include <__algorithm/fill.h>
-#include <__algorithm/fill_n.h>
-#include <__algorithm/find.h>
-#include <__bit_reference>
-#include <__config>
-#include <__functional/hash.h>
-#include <__functional/unary_function.h>
-#include <__type_traits/is_char_like_type.h>
-#include <climits>
-#include <stdexcept>
-#include <string_view>
-#include <version>
+#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>
+# include <__algorithm/find.h>
+# include <__assert>
+# include <__bit_reference>
+# include <__config>
+# include <__functional/hash.h>
+# include <__functional/unary_function.h>
+# include <__type_traits/is_char_like_type.h>
+# include <climits>
+# include <stdexcept>
+# include <string_view>
+# include <version>
// standard-mandated includes
// [bitset.syn]
-#include <iosfwd>
-#include <string>
+# include <iosfwd>
+# include <string>
-#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
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -222,10 +226,10 @@ protected:
_LIBCPP_HIDE_FROM_ABI size_t __hash_code() const _NOEXCEPT;
private:
-#ifdef _LIBCPP_CXX03_LANG
+# ifdef _LIBCPP_CXX03_LANG
void __init(unsigned long long __v, false_type) _NOEXCEPT;
_LIBCPP_HIDE_FROM_ABI void __init(unsigned long long __v, true_type) _NOEXCEPT;
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 unsigned long to_ulong(false_type) const;
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 unsigned long to_ulong(true_type) const;
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 unsigned long long to_ullong(false_type) const;
@@ -236,16 +240,16 @@ private:
template <size_t _N_words, size_t _Size>
inline _LIBCPP_CONSTEXPR __bitset<_N_words, _Size>::__bitset() _NOEXCEPT
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
: __first_{0}
-#endif
+# endif
{
-#ifdef _LIBCPP_CXX03_LANG
+# ifdef _LIBCPP_CXX03_LANG
std::fill_n(__first_, _N_words, __storage_type(0));
-#endif
+# endif
}
-#ifdef _LIBCPP_CXX03_LANG
+# ifdef _LIBCPP_CXX03_LANG
template <size_t _N_words, size_t _Size>
void __bitset<_N_words, _Size>::__init(unsigned long long __v, false_type) _NOEXCEPT {
@@ -271,27 +275,27 @@ inline _LIBCPP_HIDE_FROM_ABI void __bitset<_N_words, _Size>::__init(unsigned lon
std::fill(__first_ + 1, __first_ + sizeof(__first_) / sizeof(__first_[0]), __storage_type(0));
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <size_t _N_words, size_t _Size>
inline _LIBCPP_CONSTEXPR __bitset<_N_words, _Size>::__bitset(unsigned long long __v) _NOEXCEPT
-#ifndef _LIBCPP_CXX03_LANG
-# if __SIZEOF_SIZE_T__ == 8
+# ifndef _LIBCPP_CXX03_LANG
+# if __SIZEOF_SIZE_T__ == 8
: __first_{__v}
-# elif __SIZEOF_SIZE_T__ == 4
+# elif __SIZEOF_SIZE_T__ == 4
: __first_{static_cast<__storage_type>(__v),
_Size >= 2 * __bits_per_word
? static_cast<__storage_type>(__v >> __bits_per_word)
: static_cast<__storage_type>((__v >> __bits_per_word) &
(__storage_type(1) << (_Size - __bits_per_word)) - 1)}
-# else
-# error This constructor has not been ported to this platform
+# else
+# error This constructor has not been ported to this platform
+# endif
# endif
-#endif
{
-#ifdef _LIBCPP_CXX03_LANG
+# ifdef _LIBCPP_CXX03_LANG
__init(__v, integral_constant<bool, sizeof(unsigned long long) == sizeof(__storage_type)>());
-#endif
+# endif
}
template <size_t _N_words, size_t _Size>
@@ -623,18 +627,18 @@ public:
template <class _CharT, __enable_if_t<_IsCharLikeType<_CharT>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 explicit bitset(
const _CharT* __str,
-#if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
typename basic_string_view<_CharT>::size_type __n = basic_string_view<_CharT>::npos,
-#else
+# else
typename basic_string<_CharT>::size_type __n = basic_string<_CharT>::npos,
-#endif
+# endif
_CharT __zero = _CharT('0'),
_CharT __one = _CharT('1')) {
size_t __rlen = std::min(__n, char_traits<_CharT>::length(__str));
__init_from_string_view(basic_string_view<_CharT>(__str, __rlen), __zero, __one);
}
-#if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
template <class _CharT, class _Traits>
_LIBCPP_HIDE_FROM_ABI constexpr explicit bitset(
basic_string_view<_CharT, _Traits> __str,
@@ -648,7 +652,7 @@ public:
size_t __rlen = std::min(__n, __str.size() - __pos);
__init_from_string_view(basic_string_view<_CharT, _Traits>(__str.data() + __pos, __rlen), __zero, __one);
}
-#endif
+# endif
template <class _CharT, class _Traits, class _Allocator>
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 explicit bitset(
const basic_string<_CharT, _Traits, _Allocator>& __str,
@@ -679,14 +683,19 @@ public:
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 bitset& flip(size_t __pos);
// element access:
-#ifdef _LIBCPP_ABI_BITSET_VECTOR_BOOL_CONST_SUBSCRIPT_RETURN_BOOL
- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR bool operator[](size_t __p) const { return __base::__make_ref(__p); }
-#else
+# ifdef _LIBCPP_ABI_BITSET_VECTOR_BOOL_CONST_SUBSCRIPT_RETURN_BOOL
+ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR bool operator[](size_t __p) const {
+ _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(__p < _Size, "bitset::operator[] index out of bounds");
+ return __base::__make_ref(__p);
+ }
+# else
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR const_reference operator[](size_t __p) const {
+ _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(__p < _Size, "bitset::operator[] index out of bounds");
return __base::__make_ref(__p);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 reference operator[](size_t __p) {
+ _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(__p < _Size, "bitset::operator[] index out of bounds");
return __base::__make_ref(__p);
}
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 unsigned long to_ulong() const;
@@ -705,9 +714,9 @@ public:
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 size_t count() const _NOEXCEPT;
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR size_t size() const _NOEXCEPT { return _Size; }
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 bool operator==(const bitset& __rhs) const _NOEXCEPT;
-#if _LIBCPP_STD_VER <= 17
+# if _LIBCPP_STD_VER <= 17
_LIBCPP_HIDE_FROM_ABI bool operator!=(const bitset& __rhs) const _NOEXCEPT;
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 bool test(size_t __pos) const;
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 bool all() const _NOEXCEPT;
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 bool any() const _NOEXCEPT;
@@ -880,14 +889,14 @@ bitset<_Size>::operator==(const bitset& __rhs) const _NOEXCEPT {
return std::equal(__base::__make_iter(0), __base::__make_iter(_Size), __rhs.__make_iter(0));
}
-#if _LIBCPP_STD_VER <= 17
+# if _LIBCPP_STD_VER <= 17
template <size_t _Size>
inline _LIBCPP_HIDE_FROM_ABI bool bitset<_Size>::operator!=(const bitset& __rhs) const _NOEXCEPT {
return !(*this == __rhs);
}
-#endif
+# endif
template <size_t _Size>
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 bool bitset<_Size>::test(size_t __pos) const {
@@ -964,10 +973,11 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <concepts>
-# include <cstdlib>
-# include <type_traits>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
+# include <cstdlib>
+# include <type_traits>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_BITSET
diff --git a/libcxx/include/cassert b/libcxx/include/cassert
index 6fec37dc6376..9d3cd77fcf2d 100644
--- a/libcxx/include/cassert
+++ b/libcxx/include/cassert
@@ -16,16 +16,20 @@ Macros:
*/
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/cassert>
+#else
+# include <__config>
// <assert.h> is not provided by libc++
-#if __has_include(<assert.h>)
-# include <assert.h>
-# ifdef _LIBCPP_ASSERT_H
-# error "If libc++ starts defining <assert.h>, the __has_include check should move to libc++'s <assert.h>"
+# if __has_include(<assert.h>)
+# include <assert.h>
+# ifdef _LIBCPP_ASSERT_H
+# error "If libc++ starts defining <assert.h>, the __has_include check should move to libc++'s <assert.h>"
+# endif
# endif
-#endif
-#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
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
diff --git a/libcxx/include/ccomplex b/libcxx/include/ccomplex
index d379c9e7f017..10eb8a36e417 100644
--- a/libcxx/include/ccomplex
+++ b/libcxx/include/ccomplex
@@ -17,22 +17,26 @@
*/
-#include <complex>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/ccomplex>
+#else
+# include <complex>
-#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
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
using __standard_header_ccomplex _LIBCPP_DEPRECATED_("removed in C++20. Include <complex> instead.") = void;
using __use_standard_header_ccomplex = __standard_header_ccomplex;
-#elif _LIBCPP_STD_VER >= 17
+# elif _LIBCPP_STD_VER >= 17
using __standard_header_ccomplex _LIBCPP_DEPRECATED_("Include <complex> instead.") = void;
using __use_standard_header_ccomplex = __standard_header_ccomplex;
-#endif
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CCOMPLEX
diff --git a/libcxx/include/cctype b/libcxx/include/cctype
index d7af7e084aa2..abe0ec44e3a6 100644
--- a/libcxx/include/cctype
+++ b/libcxx/include/cctype
@@ -34,78 +34,81 @@ int toupper(int c);
} // std
*/
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/cctype>
+#else
+# include <__config>
-#include <ctype.h>
+# include <ctype.h>
-#ifndef _LIBCPP_CTYPE_H
+# ifndef _LIBCPP_CTYPE_H
# error <cctype> tried including <ctype.h> but didn't find libc++'s <ctype.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
any C Standard Library.
-#endif
+# endif
-#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
_LIBCPP_BEGIN_NAMESPACE_STD
-#ifdef isalnum
-# undef isalnum
-#endif
+# ifdef isalnum
+# undef isalnum
+# endif
-#ifdef isalpha
-# undef isalpha
-#endif
+# ifdef isalpha
+# undef isalpha
+# endif
-#ifdef isblank
-# undef isblank
-#endif
+# ifdef isblank
+# undef isblank
+# endif
-#ifdef iscntrl
-# undef iscntrl
-#endif
+# ifdef iscntrl
+# undef iscntrl
+# endif
-#ifdef isdigit
-# undef isdigit
-#endif
+# ifdef isdigit
+# undef isdigit
+# endif
-#ifdef isgraph
-# undef isgraph
-#endif
+# ifdef isgraph
+# undef isgraph
+# endif
-#ifdef islower
-# undef islower
-#endif
+# ifdef islower
+# undef islower
+# endif
-#ifdef isprint
-# undef isprint
-#endif
+# ifdef isprint
+# undef isprint
+# endif
-#ifdef ispunct
-# undef ispunct
-#endif
+# ifdef ispunct
+# undef ispunct
+# endif
-#ifdef isspace
-# undef isspace
-#endif
+# ifdef isspace
+# undef isspace
+# endif
-#ifdef isupper
-# undef isupper
-#endif
+# ifdef isupper
+# undef isupper
+# endif
-#ifdef isxdigit
-# undef isxdigit
-#endif
+# ifdef isxdigit
+# undef isxdigit
+# endif
-#ifdef tolower
-# undef tolower
-#endif
+# ifdef tolower
+# undef tolower
+# endif
-#ifdef toupper
-# undef toupper
-#endif
+# ifdef toupper
+# undef toupper
+# endif
using ::isalnum _LIBCPP_USING_IF_EXISTS;
using ::isalpha _LIBCPP_USING_IF_EXISTS;
@@ -123,5 +126,6 @@ using ::tolower _LIBCPP_USING_IF_EXISTS;
using ::toupper _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CCTYPE
diff --git a/libcxx/include/cerrno b/libcxx/include/cerrno
index f1295680fed6..15925d438109 100644
--- a/libcxx/include/cerrno
+++ b/libcxx/include/cerrno
@@ -22,21 +22,24 @@ Macros:
*/
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/cerrno>
+#else
+# include <__config>
-#include <errno.h>
+# include <errno.h>
-#ifndef _LIBCPP_ERRNO_H
+# ifndef _LIBCPP_ERRNO_H
# error <cerrno> tried including <errno.h> but didn't find libc++'s <errno.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
any C Standard Library, and you are probably using compiler flags that make that \
not be the case.
-#endif
+# endif
-#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
// LWG3869 Deprecate std::errc constants related to UNIX STREAMS
//
@@ -44,5 +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 // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CERRNO
diff --git a/libcxx/include/cfenv b/libcxx/include/cfenv
index f8cacd562f76..d7ea77029753 100644
--- a/libcxx/include/cfenv
+++ b/libcxx/include/cfenv
@@ -52,21 +52,24 @@ int feupdateenv(const fenv_t* envp);
} // std
*/
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/cfenv>
+#else
+# include <__config>
-#include <fenv.h>
+# include <fenv.h>
-#ifndef _LIBCPP_FENV_H
+# ifndef _LIBCPP_FENV_H
# error <cfenv> tried including <fenv.h> but didn't find libc++'s <fenv.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
any C Standard Library, and you are probably using compiler flags that make that \
not be the case.
-#endif
+# endif
-#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
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -87,4 +90,6 @@ using ::feupdateenv _LIBCPP_USING_IF_EXISTS;
_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 5d1b38c557dc..18b4afd28ee8 100644
--- a/libcxx/include/cfloat
+++ b/libcxx/include/cfloat
@@ -69,20 +69,24 @@ Macros:
LDBL_TRUE_MIN // C11
*/
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/cfloat>
+#else
+# include <__config>
-#include <float.h>
+# include <float.h>
-#ifndef _LIBCPP_FLOAT_H
+# ifndef _LIBCPP_FLOAT_H
# error <cfloat> tried including <float.h> but didn't find libc++'s <float.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
any C Standard Library, and you are probably using compiler flags that make that \
not be the case.
-#endif
+# endif
-#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
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CFLOAT
diff --git a/libcxx/include/charconv b/libcxx/include/charconv
index a65b3d352708..3526bb9ae05f 100644
--- a/libcxx/include/charconv
+++ b/libcxx/include/charconv
@@ -75,42 +75,47 @@ namespace std {
*/
-#include <__config>
-
-#if _LIBCPP_STD_VER >= 17
-# include <__charconv/chars_format.h>
-# include <__charconv/from_chars_floating_point.h>
-# include <__charconv/from_chars_integral.h>
-# include <__charconv/from_chars_result.h>
-# include <__charconv/tables.h>
-# include <__charconv/to_chars.h>
-# include <__charconv/to_chars_base_10.h>
-# include <__charconv/to_chars_floating_point.h>
-# include <__charconv/to_chars_integral.h>
-# include <__charconv/to_chars_result.h>
-# include <__charconv/traits.h>
-#endif // _LIBCPP_STD_VER >= 17
-
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/charconv>
+#else
+# include <__config>
+
+# if _LIBCPP_STD_VER >= 17
+# include <__charconv/chars_format.h>
+# include <__charconv/from_chars_floating_point.h>
+# include <__charconv/from_chars_integral.h>
+# include <__charconv/from_chars_result.h>
+# include <__charconv/tables.h>
+# include <__charconv/to_chars.h>
+# include <__charconv/to_chars_base_10.h>
+# include <__charconv/to_chars_floating_point.h>
+# include <__charconv/to_chars_integral.h>
+# include <__charconv/to_chars_result.h>
+# include <__charconv/traits.h>
+# endif // _LIBCPP_STD_VER >= 17
+
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
_LIBCPP_BEGIN_NAMESPACE_STD
_LIBCPP_END_NAMESPACE_STD
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cmath>
-# include <concepts>
-# include <cstddef>
-# include <cstdint>
-# include <cstdlib>
-# include <cstring>
-# include <iosfwd>
-# include <limits>
-# include <type_traits>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cmath>
+# include <concepts>
+# include <cstddef>
+# include <cstdint>
+# include <cstdlib>
+# include <cstring>
+# include <iosfwd>
+# include <limits>
+# include <new>
+# include <type_traits>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CHARCONV
diff --git a/libcxx/include/chrono b/libcxx/include/chrono
index 1545490d9b6c..d9a8afef933b 100644
--- a/libcxx/include/chrono
+++ b/libcxx/include/chrono
@@ -939,83 +939,87 @@ constexpr chrono::year operator ""y(unsigned lo
// clang-format on
-#include <__config>
-
-#include <__chrono/duration.h>
-#include <__chrono/file_clock.h>
-#include <__chrono/high_resolution_clock.h>
-#include <__chrono/steady_clock.h>
-#include <__chrono/system_clock.h>
-#include <__chrono/time_point.h>
-
-#if _LIBCPP_STD_VER >= 20
-# include <__chrono/calendar.h>
-# include <__chrono/day.h>
-# include <__chrono/exception.h>
-# include <__chrono/hh_mm_ss.h>
-# include <__chrono/literals.h>
-# include <__chrono/local_info.h>
-# include <__chrono/month.h>
-# include <__chrono/month_weekday.h>
-# include <__chrono/monthday.h>
-# include <__chrono/sys_info.h>
-# include <__chrono/weekday.h>
-# include <__chrono/year.h>
-# include <__chrono/year_month.h>
-# include <__chrono/year_month_day.h>
-# include <__chrono/year_month_weekday.h>
-
-# if _LIBCPP_HAS_LOCALIZATION
-# include <__chrono/formatter.h>
-# include <__chrono/ostream.h>
-# include <__chrono/parser_std_format_spec.h>
-# include <__chrono/statically_widen.h>
-# endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/chrono>
+#else
+# include <__config>
+
+# include <__chrono/duration.h>
+# include <__chrono/file_clock.h>
+# include <__chrono/high_resolution_clock.h>
+# include <__chrono/steady_clock.h>
+# include <__chrono/system_clock.h>
+# include <__chrono/time_point.h>
+
+# if _LIBCPP_STD_VER >= 20
+# include <__chrono/calendar.h>
+# include <__chrono/day.h>
+# include <__chrono/exception.h>
+# include <__chrono/hh_mm_ss.h>
+# include <__chrono/literals.h>
+# include <__chrono/local_info.h>
+# include <__chrono/month.h>
+# include <__chrono/month_weekday.h>
+# include <__chrono/monthday.h>
+# include <__chrono/sys_info.h>
+# include <__chrono/weekday.h>
+# include <__chrono/year.h>
+# include <__chrono/year_month.h>
+# include <__chrono/year_month_day.h>
+# include <__chrono/year_month_weekday.h>
+
+# if _LIBCPP_HAS_LOCALIZATION
+# include <__chrono/formatter.h>
+# include <__chrono/ostream.h>
+# include <__chrono/parser_std_format_spec.h>
+# include <__chrono/statically_widen.h>
+# endif
+
+# if _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION
+# include <__chrono/leap_second.h>
+# include <__chrono/time_zone.h>
+# include <__chrono/time_zone_link.h>
+# include <__chrono/tzdb.h>
+# include <__chrono/tzdb_list.h>
+# include <__chrono/zoned_time.h>
+# endif
-# if _LIBCPP_HAS_TIME_ZONE_DATABASE && _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION
-# include <__chrono/leap_second.h>
-# include <__chrono/time_zone.h>
-# include <__chrono/time_zone_link.h>
-# include <__chrono/tzdb.h>
-# include <__chrono/tzdb_list.h>
-# include <__chrono/zoned_time.h>
# endif
-#endif
-
-#include <version>
+# include <version>
// standard-mandated includes
// [time.syn]
-#include <compare>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 17
-# include <cstdint>
-# include <stdexcept>
-# include <string_view>
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <bit>
-# include <concepts>
-# include <cstring>
-# include <forward_list>
-# include <string>
-# include <tuple>
-# include <vector>
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER == 20
-# include <charconv>
-# if _LIBCPP_HAS_LOCALIZATION
-# include <locale>
-# include <ostream>
+# include <compare>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 17
+# include <cstdint>
+# include <stdexcept>
+# include <string_view>
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <bit>
+# include <concepts>
+# include <cstring>
+# include <forward_list>
+# include <string>
+# include <tuple>
+# include <vector>
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER == 20
+# include <charconv>
+# if _LIBCPP_HAS_LOCALIZATION
+# include <locale>
+# include <ostream>
+# endif
# endif
-#endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CHRONO
diff --git a/libcxx/include/cinttypes b/libcxx/include/cinttypes
index 52663a4f35fa..4c7e2c5a5bf3 100644
--- a/libcxx/include/cinttypes
+++ b/libcxx/include/cinttypes
@@ -234,26 +234,29 @@ uintmax_t wcstoumax(const wchar_t* restrict nptr, wchar_t** restrict endptr, int
} // std
*/
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/cinttypes>
+#else
+# include <__config>
// standard-mandated includes
// [cinttypes.syn]
-#include <cstdint>
+# include <cstdint>
-#include <inttypes.h>
+# include <inttypes.h>
-#ifndef _LIBCPP_INTTYPES_H
+# ifndef _LIBCPP_INTTYPES_H
# error <cinttypes> tried including <inttypes.h> but didn't find libc++'s <inttypes.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
any C Standard Library, and you are probably using compiler flags that make that \
not be the case.
-#endif
+# endif
-#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
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -267,4 +270,6 @@ using ::wcstoumax _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+
#endif // _LIBCPP_CINTTYPES
diff --git a/libcxx/include/ciso646 b/libcxx/include/ciso646
index 5fcac79e38a7..5b956401430a 100644
--- a/libcxx/include/ciso646
+++ b/libcxx/include/ciso646
@@ -15,17 +15,21 @@
*/
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/ciso646>
+#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
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
using __standard_header_ciso646 _LIBCPP_DEPRECATED_("removed in C++20. Include <version> instead.") = void;
using __use_standard_header_ciso646 = __standard_header_ciso646;
-#endif
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CISO646
diff --git a/libcxx/include/climits b/libcxx/include/climits
index bcd8b4a56a07..a051d964bbce 100644
--- a/libcxx/include/climits
+++ b/libcxx/include/climits
@@ -37,12 +37,17 @@ Macros:
*/
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/climits>
+#else
+# include <__config>
-#include <limits.h>
+# include <limits.h>
-#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
+
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CLIMITS
diff --git a/libcxx/include/clocale b/libcxx/include/clocale
index a82a166712c2..9ca82fa15be2 100644
--- a/libcxx/include/clocale
+++ b/libcxx/include/clocale
@@ -34,15 +34,18 @@ lconv* localeconv();
*/
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/clocale>
+#else
+# include <__config>
-#if __has_include(<locale.h>)
-# include <locale.h>
-#endif
+# if __has_include(<locale.h>)
+# include <locale.h>
+# endif
-#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
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -52,4 +55,6 @@ using ::localeconv _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+
#endif // _LIBCPP_CLOCALE
diff --git a/libcxx/include/cmath b/libcxx/include/cmath
index 5d30b151870e..9cf044d4d023 100644
--- a/libcxx/include/cmath
+++ b/libcxx/include/cmath
@@ -312,35 +312,38 @@ constexpr long double lerp(long double a, long double b, long double t) noexcept
*/
-#include <__config>
-#include <__math/hypot.h>
-#include <__type_traits/enable_if.h>
-#include <__type_traits/is_arithmetic.h>
-#include <__type_traits/is_constant_evaluated.h>
-#include <__type_traits/is_floating_point.h>
-#include <__type_traits/is_same.h>
-#include <__type_traits/promote.h>
-#include <__type_traits/remove_cv.h>
-#include <limits>
-#include <version>
-
-#include <__math/special_functions.h>
-#include <math.h>
-
-#ifndef _LIBCPP_MATH_H
+#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>
+# include <__type_traits/is_arithmetic.h>
+# include <__type_traits/is_constant_evaluated.h>
+# include <__type_traits/is_floating_point.h>
+# include <__type_traits/is_same.h>
+# include <__type_traits/promote.h>
+# include <__type_traits/remove_cv.h>
+# include <limits>
+# include <version>
+
+# include <__math/special_functions.h>
+# include <math.h>
+
+# ifndef _LIBCPP_MATH_H
# error <cmath> tried including <math.h> but didn't find libc++'s <math.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
any C Standard Library, and you are probably using compiler flags that make that \
not be the case.
-#endif
+# endif
-#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
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -556,11 +559,11 @@ using ::truncl _LIBCPP_USING_IF_EXISTS;
template <class _A1, __enable_if_t<is_floating_point<_A1>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR bool __constexpr_isinf(_A1 __lcpp_x) _NOEXCEPT {
-#if __has_builtin(__builtin_isinf)
+# if __has_builtin(__builtin_isinf)
return __builtin_isinf(__lcpp_x);
-#else
+# else
return isinf(__lcpp_x);
-#endif
+# endif
}
template <class _A1, __enable_if_t<!is_floating_point<_A1>::value, int> = 0>
@@ -568,7 +571,7 @@ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR bool __constexpr_isinf(_A1 __lcpp_x) _NO
return std::isinf(__lcpp_x);
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <typename _Fp>
_LIBCPP_HIDE_FROM_ABI constexpr _Fp __lerp(_Fp __a, _Fp __b, _Fp __t) noexcept {
if ((__a <= 0 && __b >= 0) || (__a >= 0 && __b <= 0))
@@ -605,14 +608,15 @@ inline _LIBCPP_HIDE_FROM_ABI constexpr
_IsSame<_A1, __result_type>::value && _IsSame<_A2, __result_type>::value && _IsSame<_A3, __result_type>::value));
return std::__lerp((__result_type)__a, (__result_type)__b, (__result_type)__t);
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <type_traits>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <type_traits>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CMATH
diff --git a/libcxx/include/codecvt b/libcxx/include/codecvt
index 8e0b52576d9c..f7ae804c6789 100644
--- a/libcxx/include/codecvt
+++ b/libcxx/include/codecvt
@@ -54,15 +54,18 @@ class codecvt_utf8_utf16
*/
-#include <__config>
-#include <__locale>
-#include <version>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/codecvt>
+#else
+# include <__config>
+# include <__locale>
+# include <version>
-#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
-#if _LIBCPP_STD_VER < 26 || defined(_LIBCPP_BUILDING_LIBRARY) || defined(_LIBCPP_ENABLE_CXX26_REMOVED_CODECVT)
+# if _LIBCPP_STD_VER < 26 || defined(_LIBCPP_BUILDING_LIBRARY) || defined(_LIBCPP_ENABLE_CXX26_REMOVED_CODECVT)
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -73,7 +76,7 @@ enum _LIBCPP_DEPRECATED_IN_CXX17 codecvt_mode { consume_header = 4, generate_hea
template <class _Elem>
class __codecvt_utf8;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
template <>
class _LIBCPP_EXPORTED_FROM_ABI __codecvt_utf8<wchar_t> : public codecvt<wchar_t, char, mbstate_t> {
unsigned long __maxcode_;
@@ -112,7 +115,7 @@ protected:
int do_length(state_type&, const extern_type* __frm, const extern_type* __end, size_t __mx) const override;
int do_max_length() const _NOEXCEPT override;
};
-# endif // _LIBCPP_HAS_WIDE_CHARACTERS
+# endif // _LIBCPP_HAS_WIDE_CHARACTERS
_LIBCPP_SUPPRESS_DEPRECATED_PUSH
template <>
@@ -203,7 +206,7 @@ _LIBCPP_SUPPRESS_DEPRECATED_POP
template <class _Elem, bool _LittleEndian>
class __codecvt_utf16;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
template <>
class _LIBCPP_EXPORTED_FROM_ABI __codecvt_utf16<wchar_t, false> : public codecvt<wchar_t, char, mbstate_t> {
unsigned long __maxcode_;
@@ -281,7 +284,7 @@ protected:
int do_length(state_type&, const extern_type* __frm, const extern_type* __end, size_t __mx) const override;
int do_max_length() const _NOEXCEPT override;
};
-# endif // _LIBCPP_HAS_WIDE_CHARACTERS
+# endif // _LIBCPP_HAS_WIDE_CHARACTERS
_LIBCPP_SUPPRESS_DEPRECATED_PUSH
template <>
@@ -448,7 +451,7 @@ _LIBCPP_SUPPRESS_DEPRECATED_POP
template <class _Elem>
class __codecvt_utf8_utf16;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
template <>
class _LIBCPP_EXPORTED_FROM_ABI __codecvt_utf8_utf16<wchar_t> : public codecvt<wchar_t, char, mbstate_t> {
unsigned long __maxcode_;
@@ -487,7 +490,7 @@ protected:
int do_length(state_type&, const extern_type* __frm, const extern_type* __end, size_t __mx) const override;
int do_max_length() const _NOEXCEPT override;
};
-# endif // _LIBCPP_HAS_WIDE_CHARACTERS
+# endif // _LIBCPP_HAS_WIDE_CHARACTERS
_LIBCPP_SUPPRESS_DEPRECATED_PUSH
template <>
@@ -576,22 +579,23 @@ _LIBCPP_SUPPRESS_DEPRECATED_POP
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_STD_VER < 26 || defined(_LIBCPP_BUILDING_LIBRARY) || defined(_LIBCPP_ENABLE_CXX26_REMOVED_CODECVT)
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <atomic>
-# include <concepts>
-# include <cstddef>
-# include <cstdlib>
-# include <cstring>
-# include <initializer_list>
-# include <iosfwd>
-# include <limits>
-# include <mutex>
-# include <new>
-# include <stdexcept>
-# include <type_traits>
-# include <typeinfo>
-#endif
+# endif // _LIBCPP_STD_VER < 26 || defined(_LIBCPP_BUILDING_LIBRARY) || defined(_LIBCPP_ENABLE_CXX26_REMOVED_CODECVT)
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
+# include <concepts>
+# include <cstddef>
+# include <cstdlib>
+# include <cstring>
+# include <initializer_list>
+# include <iosfwd>
+# include <limits>
+# include <mutex>
+# include <new>
+# include <stdexcept>
+# include <type_traits>
+# include <typeinfo>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CODECVT
diff --git a/libcxx/include/compare b/libcxx/include/compare
index 440d4c4b4dd2..0c19a5bb5f81 100644
--- a/libcxx/include/compare
+++ b/libcxx/include/compare
@@ -140,34 +140,38 @@ namespace std {
}
*/
-#include <__config>
-
-#if _LIBCPP_STD_VER >= 20
-# include <__compare/common_comparison_category.h>
-# include <__compare/compare_partial_order_fallback.h>
-# include <__compare/compare_strong_order_fallback.h>
-# include <__compare/compare_three_way.h>
-# include <__compare/compare_three_way_result.h>
-# include <__compare/compare_weak_order_fallback.h>
-# include <__compare/is_eq.h>
-# include <__compare/ordering.h>
-# include <__compare/partial_order.h>
-# include <__compare/strong_order.h>
-# include <__compare/synth_three_way.h>
-# include <__compare/three_way_comparable.h>
-# include <__compare/weak_order.h>
-#endif // _LIBCPP_STD_VER >= 20
-
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cmath>
-# include <cstddef>
-# include <type_traits>
-#endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/compare>
+#else
+# include <__config>
+
+# if _LIBCPP_STD_VER >= 20
+# include <__compare/common_comparison_category.h>
+# include <__compare/compare_partial_order_fallback.h>
+# include <__compare/compare_strong_order_fallback.h>
+# include <__compare/compare_three_way.h>
+# include <__compare/compare_three_way_result.h>
+# include <__compare/compare_weak_order_fallback.h>
+# include <__compare/is_eq.h>
+# include <__compare/ordering.h>
+# include <__compare/partial_order.h>
+# include <__compare/strong_order.h>
+# include <__compare/synth_three_way.h>
+# include <__compare/three_way_comparable.h>
+# include <__compare/weak_order.h>
+# endif // _LIBCPP_STD_VER >= 20
+
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cmath>
+# include <cstddef>
+# include <type_traits>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_COMPARE
diff --git a/libcxx/include/complex b/libcxx/include/complex
index 2dc6d298e44f..bc73f313c2ce 100644
--- a/libcxx/include/complex
+++ b/libcxx/include/complex
@@ -256,26 +256,29 @@ template<class T> complex<T> tanh (const complex<T>&);
*/
-#include <__config>
-#include <__fwd/complex.h>
-#include <__fwd/tuple.h>
-#include <__tuple/tuple_element.h>
-#include <__tuple/tuple_size.h>
-#include <__type_traits/conditional.h>
-#include <__utility/move.h>
-#include <cmath>
-#include <version>
-
-#if _LIBCPP_HAS_LOCALIZATION
-# include <sstream> // for std::basic_ostringstream
-#endif
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/complex>
+#else
+# include <__config>
+# include <__fwd/complex.h>
+# include <__fwd/tuple.h>
+# include <__tuple/tuple_element.h>
+# include <__tuple/tuple_size.h>
+# include <__type_traits/conditional.h>
+# include <__utility/move.h>
+# include <cmath>
+# include <version>
+
+# if _LIBCPP_HAS_LOCALIZATION
+# include <sstream> // for std::basic_ostringstream
+# endif
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -374,7 +377,7 @@ public:
return *this;
}
-#if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
template <size_t _Ip, class _Xp>
friend _LIBCPP_HIDE_FROM_ABI constexpr _Xp& get(complex<_Xp>&) noexcept;
@@ -386,7 +389,7 @@ public:
template <size_t _Ip, class _Xp>
friend _LIBCPP_HIDE_FROM_ABI constexpr const _Xp&& get(const complex<_Xp>&&) noexcept;
-#endif
+# endif
};
template <>
@@ -404,11 +407,11 @@ using __complex_t =
template <class _Tp>
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR __complex_t<_Tp> __make_complex(_Tp __re, _Tp __im) {
-#if __has_builtin(__builtin_complex)
+# if __has_builtin(__builtin_complex)
return __builtin_complex(__re, __im);
-#else
+# else
return __complex_t<_Tp>{__re, __im};
-#endif
+# endif
}
template <>
@@ -493,7 +496,7 @@ public:
return *this;
}
-#if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
template <size_t _Ip, class _Xp>
friend _LIBCPP_HIDE_FROM_ABI constexpr _Xp& get(complex<_Xp>&) noexcept;
@@ -505,7 +508,7 @@ public:
template <size_t _Ip, class _Xp>
friend _LIBCPP_HIDE_FROM_ABI constexpr const _Xp&& get(const complex<_Xp>&&) noexcept;
-#endif
+# endif
};
template <>
@@ -593,7 +596,7 @@ public:
return *this;
}
-#if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
template <size_t _Ip, class _Xp>
friend _LIBCPP_HIDE_FROM_ABI constexpr _Xp& get(complex<_Xp>&) noexcept;
@@ -605,7 +608,7 @@ public:
template <size_t _Ip, class _Xp>
friend _LIBCPP_HIDE_FROM_ABI constexpr const _Xp&& get(const complex<_Xp>&&) noexcept;
-#endif
+# endif
};
template <>
@@ -694,7 +697,7 @@ public:
return *this;
}
-#if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
template <size_t _Ip, class _Xp>
friend _LIBCPP_HIDE_FROM_ABI constexpr _Xp& get(complex<_Xp>&) noexcept;
@@ -706,7 +709,7 @@ public:
template <size_t _Ip, class _Xp>
friend _LIBCPP_HIDE_FROM_ABI constexpr const _Xp&& get(const complex<_Xp>&&) noexcept;
-#endif
+# endif
};
inline _LIBCPP_CONSTEXPR complex<float>::complex(const complex<double>& __c) : __re_(__c.real()), __im_(__c.imag()) {}
@@ -861,7 +864,7 @@ inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 bool operator==(const
return __x.real() == __y && __x.imag() == 0;
}
-#if _LIBCPP_STD_VER <= 17
+# if _LIBCPP_STD_VER <= 17
template <class _Tp>
inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 bool operator==(const _Tp& __x, const complex<_Tp>& __y) {
@@ -884,7 +887,7 @@ inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 bool operator!=(const
return !(__x == __y);
}
-#endif
+# endif
// 26.3.7 values:
@@ -1322,7 +1325,7 @@ _LIBCPP_HIDE_FROM_ABI complex<_Tp> tan(const complex<_Tp>& __x) {
return complex<_Tp>(__z.imag(), -__z.real());
}
-#if _LIBCPP_HAS_LOCALIZATION
+# if _LIBCPP_HAS_LOCALIZATION
template <class _Tp, class _CharT, class _Traits>
_LIBCPP_HIDE_FROM_ABI basic_istream<_CharT, _Traits>&
operator>>(basic_istream<_CharT, _Traits>& __is, complex<_Tp>& __x) {
@@ -1379,9 +1382,9 @@ operator<<(basic_ostream<_CharT, _Traits>& __os, const complex<_Tp>& __x) {
__s << '(' << __x.real() << ',' << __x.imag() << ')';
return __os << __s.str();
}
-#endif // _LIBCPP_HAS_LOCALIZATION
+# endif // _LIBCPP_HAS_LOCALIZATION
-#if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
// [complex.tuple], tuple interface
@@ -1434,9 +1437,9 @@ _LIBCPP_HIDE_FROM_ABI constexpr const _Xp&& get(const complex<_Xp>&& __z) noexce
}
}
-#endif // _LIBCPP_STD_VER >= 26
+# endif // _LIBCPP_STD_VER >= 26
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
// Literal suffix for complex number literals [complex.literals]
inline namespace literals {
inline namespace complex_literals {
@@ -1463,16 +1466,17 @@ _LIBCPP_HIDE_FROM_ABI inline constexpr complex<float> operator""if(unsigned long
}
} // namespace complex_literals
} // namespace literals
-#endif
+# endif
_LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <iosfwd>
-# include <stdexcept>
-# include <type_traits>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <iosfwd>
+# include <stdexcept>
+# include <type_traits>
+# endif
+#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 89595ae2068a..8a1f92689601 100644
--- a/libcxx/include/complex.h
+++ b/libcxx/include/complex.h
@@ -17,16 +17,20 @@
*/
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#ifdef __cplusplus
-# include <complex>
-#elif __has_include_next(<complex.h>)
-# include_next <complex.h>
-#endif
+#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)
+# pragma GCC system_header
+# endif
+
+# ifdef __cplusplus
+# include <complex>
+# elif __has_include_next(<complex.h>)
+# include_next <complex.h>
+# endif
+#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 6db2caebaf5b..ff3fd153a38d 100644
--- a/libcxx/include/concepts
+++ b/libcxx/include/concepts
@@ -129,42 +129,46 @@ namespace std {
*/
-#include <__config>
-
-#if _LIBCPP_STD_VER >= 20
-# include <__concepts/arithmetic.h>
-# include <__concepts/assignable.h>
-# include <__concepts/boolean_testable.h>
-# include <__concepts/class_or_enum.h>
-# include <__concepts/common_reference_with.h>
-# include <__concepts/common_with.h>
-# include <__concepts/constructible.h>
-# include <__concepts/convertible_to.h>
-# include <__concepts/copyable.h>
-# include <__concepts/derived_from.h>
-# include <__concepts/destructible.h>
-# include <__concepts/different_from.h>
-# include <__concepts/equality_comparable.h>
-# include <__concepts/invocable.h>
-# include <__concepts/movable.h>
-# include <__concepts/predicate.h>
-# include <__concepts/regular.h>
-# include <__concepts/relation.h>
-# include <__concepts/same_as.h>
-# include <__concepts/semiregular.h>
-# include <__concepts/swappable.h>
-# include <__concepts/totally_ordered.h>
-#endif // _LIBCPP_STD_VER >= 20
-
-#include <version>
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstddef>
-# include <type_traits>
-#endif
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/concepts>
+#else
+# include <__config>
+
+# if _LIBCPP_STD_VER >= 20
+# include <__concepts/arithmetic.h>
+# include <__concepts/assignable.h>
+# include <__concepts/boolean_testable.h>
+# include <__concepts/class_or_enum.h>
+# include <__concepts/common_reference_with.h>
+# include <__concepts/common_with.h>
+# include <__concepts/constructible.h>
+# include <__concepts/convertible_to.h>
+# include <__concepts/copyable.h>
+# include <__concepts/derived_from.h>
+# include <__concepts/destructible.h>
+# include <__concepts/different_from.h>
+# include <__concepts/equality_comparable.h>
+# include <__concepts/invocable.h>
+# include <__concepts/movable.h>
+# include <__concepts/predicate.h>
+# include <__concepts/regular.h>
+# include <__concepts/relation.h>
+# include <__concepts/same_as.h>
+# include <__concepts/semiregular.h>
+# include <__concepts/swappable.h>
+# include <__concepts/totally_ordered.h>
+# endif // _LIBCPP_STD_VER >= 20
+
+# include <version>
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstddef>
+# include <type_traits>
+# endif
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+#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 f894407d9321..81699bf6adbf 100644
--- a/libcxx/include/condition_variable
+++ b/libcxx/include/condition_variable
@@ -118,29 +118,32 @@ public:
*/
-#include <__chrono/duration.h>
-#include <__chrono/steady_clock.h>
-#include <__chrono/time_point.h>
-#include <__condition_variable/condition_variable.h>
-#include <__config>
-#include <__memory/shared_ptr.h>
-#include <__mutex/lock_guard.h>
-#include <__mutex/mutex.h>
-#include <__mutex/tag_types.h>
-#include <__mutex/unique_lock.h>
-#include <__stop_token/stop_callback.h>
-#include <__stop_token/stop_token.h>
-#include <__utility/move.h>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
+#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>
+# include <__condition_variable/condition_variable.h>
+# include <__config>
+# include <__memory/shared_ptr.h>
+# include <__mutex/lock_guard.h>
+# include <__mutex/mutex.h>
+# include <__mutex/tag_types.h>
+# include <__mutex/unique_lock.h>
+# include <__stop_token/stop_callback.h>
+# include <__stop_token/stop_token.h>
+# include <__utility/move.h>
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
-#if _LIBCPP_HAS_THREADS
+# if _LIBCPP_HAS_THREADS
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -173,7 +176,7 @@ public:
template <class _Lock, class _Rep, class _Period, class _Predicate>
bool _LIBCPP_HIDE_FROM_ABI wait_for(_Lock& __lock, const chrono::duration<_Rep, _Period>& __d, _Predicate __pred);
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _Lock, class _Predicate>
_LIBCPP_AVAILABILITY_SYNC _LIBCPP_HIDE_FROM_ABI bool wait(_Lock& __lock, stop_token __stoken, _Predicate __pred);
@@ -186,7 +189,7 @@ public:
_LIBCPP_AVAILABILITY_SYNC _LIBCPP_HIDE_FROM_ABI bool
wait_for(_Lock& __lock, stop_token __stoken, const chrono::duration<_Rep, _Period>& __rel_time, _Predicate __pred);
-# endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
};
inline condition_variable_any::condition_variable_any() : __mut_(make_shared<mutex>()) {}
@@ -260,7 +263,7 @@ condition_variable_any::wait_for(_Lock& __lock, const chrono::duration<_Rep, _Pe
return wait_until(__lock, chrono::steady_clock::now() + __d, std::move(__pred));
}
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _Lock, class _Predicate>
bool condition_variable_any::wait(_Lock& __user_lock, stop_token __stoken, _Predicate __pred) {
@@ -341,29 +344,30 @@ bool condition_variable_any::wait_for(
return wait_until(__lock, std::move(__stoken), chrono::steady_clock::now() + __rel_time, std::move(__pred));
}
-# endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_EXPORTED_FROM_ABI void notify_all_at_thread_exit(condition_variable&, unique_lock<mutex>);
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_HAS_THREADS
+# endif // _LIBCPP_HAS_THREADS
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <atomic>
-# include <concepts>
-# include <cstdint>
-# include <cstdlib>
-# include <cstring>
-# include <initializer_list>
-# include <iosfwd>
-# include <new>
-# include <stdexcept>
-# include <system_error>
-# include <type_traits>
-# include <typeinfo>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
+# include <concepts>
+# include <cstdint>
+# include <cstdlib>
+# include <cstring>
+# include <initializer_list>
+# include <iosfwd>
+# include <new>
+# include <stdexcept>
+# include <system_error>
+# include <type_traits>
+# include <typeinfo>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CONDITION_VARIABLE
diff --git a/libcxx/include/coroutine b/libcxx/include/coroutine
index 18601717768c..d745844da8e9 100644
--- a/libcxx/include/coroutine
+++ b/libcxx/include/coroutine
@@ -38,31 +38,35 @@ struct suspend_always;
*/
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/coroutine>
+#else
+# include <__config>
-#if _LIBCPP_STD_VER >= 20
-# include <__coroutine/coroutine_handle.h>
-# include <__coroutine/coroutine_traits.h>
-# include <__coroutine/noop_coroutine_handle.h>
-# include <__coroutine/trivial_awaitables.h>
-#endif // _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
+# include <__coroutine/coroutine_handle.h>
+# include <__coroutine/coroutine_traits.h>
+# include <__coroutine/noop_coroutine_handle.h>
+# include <__coroutine/trivial_awaitables.h>
+# endif // _LIBCPP_STD_VER >= 20
-#include <version>
+# include <version>
// standard-mandated includes
// [coroutine.syn]
-#include <compare>
+# include <compare>
-#ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
-# pragma GCC system_header
-#endif
+# ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+# pragma GCC system_header
+# endif
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstddef>
-# include <iosfwd>
-# include <limits>
-# include <type_traits>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstddef>
+# include <iosfwd>
+# include <limits>
+# include <type_traits>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_COROUTINE
diff --git a/libcxx/include/csetjmp b/libcxx/include/csetjmp
index 7ba90068710a..39ab035a5f38 100644
--- a/libcxx/include/csetjmp
+++ b/libcxx/include/csetjmp
@@ -30,19 +30,22 @@ void longjmp(jmp_buf env, int val);
*/
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/csetjmp>
+#else
+# include <__config>
// <setjmp.h> is not provided by libc++
-#if __has_include(<setjmp.h>)
-# include <setjmp.h>
-# ifdef _LIBCPP_SETJMP_H
-# error "If libc++ starts defining <setjmp.h>, the __has_include check should move to libc++'s <setjmp.h>"
+# if __has_include(<setjmp.h>)
+# include <setjmp.h>
+# ifdef _LIBCPP_SETJMP_H
+# error "If libc++ starts defining <setjmp.h>, the __has_include check should move to libc++'s <setjmp.h>"
+# endif
# endif
-#endif
-#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
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -51,4 +54,6 @@ using ::longjmp _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+
#endif // _LIBCPP_CSETJMP
diff --git a/libcxx/include/csignal b/libcxx/include/csignal
index 804a7f95ae96..a15d17d3169d 100644
--- a/libcxx/include/csignal
+++ b/libcxx/include/csignal
@@ -39,19 +39,22 @@ int raise(int sig);
*/
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/csignal>
+#else
+# include <__config>
// <signal.h> is not provided by libc++
-#if __has_include(<signal.h>)
-# include <signal.h>
-# ifdef _LIBCPP_SIGNAL_H
-# error "If libc++ starts defining <signal.h>, the __has_include check should move to libc++'s <signal.h>"
+# if __has_include(<signal.h>)
+# include <signal.h>
+# ifdef _LIBCPP_SIGNAL_H
+# error "If libc++ starts defining <signal.h>, the __has_include check should move to libc++'s <signal.h>"
+# endif
# endif
-#endif
-#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
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -61,4 +64,6 @@ using ::raise _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+
#endif // _LIBCPP_CSIGNAL
diff --git a/libcxx/include/cstdalign b/libcxx/include/cstdalign
index e6a2a3c71774..6a277e467300 100644
--- a/libcxx/include/cstdalign
+++ b/libcxx/include/cstdalign
@@ -20,36 +20,40 @@ Macros:
*/
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/__config>
+#else
+# include <__config>
// <stdalign.h> is not provided by libc++
-#if __has_include(<stdalign.h>)
-# include <stdalign.h>
-# ifdef _LIBCPP_STDALIGN_H
-# error "If libc++ starts defining <stdalign.h>, the __has_include check should move to libc++'s <stdalign.h>"
+# if __has_include(<stdalign.h>)
+# include <stdalign.h>
+# ifdef _LIBCPP_STDALIGN_H
+# error "If libc++ starts defining <stdalign.h>, the __has_include check should move to libc++'s <stdalign.h>"
+# endif
# endif
-#endif
-#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
-#undef __alignas_is_defined
-#define __alignas_is_defined 1
+# undef __alignas_is_defined
+# define __alignas_is_defined 1
-#undef __alignof_is_defined
-#define __alignof_is_defined 1
+# undef __alignof_is_defined
+# define __alignof_is_defined 1
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
using __standard_header_cstdalign _LIBCPP_DEPRECATED_("removed in C++20.") = void;
using __use_standard_header_cstdalign = __standard_header_cstdalign;
-#elif _LIBCPP_STD_VER >= 17
+# elif _LIBCPP_STD_VER >= 17
using __standard_header_cstdalign _LIBCPP_DEPRECATED = void;
using __use_standard_header_cstdalign = __standard_header_cstdalign;
-#endif
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CSTDALIGN
diff --git a/libcxx/include/cstdarg b/libcxx/include/cstdarg
index 4642eb7b5258..069fe100880a 100644
--- a/libcxx/include/cstdarg
+++ b/libcxx/include/cstdarg
@@ -31,19 +31,22 @@ Types:
*/
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/cstdarg>
+#else
+# include <__config>
// <stdarg.h> is not provided by libc++
-#if __has_include(<stdarg.h>)
-# include <stdarg.h>
-# ifdef _LIBCPP_STDARG_H
-# error "If libc++ starts defining <stdarg.h>, the __has_include check should move to libc++'s <stdarg.h>"
+# if __has_include(<stdarg.h>)
+# include <stdarg.h>
+# ifdef _LIBCPP_STDARG_H
+# error "If libc++ starts defining <stdarg.h>, the __has_include check should move to libc++'s <stdarg.h>"
+# endif
# endif
-#endif
-#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
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -51,4 +54,6 @@ using ::va_list _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+
#endif // _LIBCPP_CSTDARG
diff --git a/libcxx/include/cstdbool b/libcxx/include/cstdbool
index 1d627258e10c..a12954f07398 100644
--- a/libcxx/include/cstdbool
+++ b/libcxx/include/cstdbool
@@ -19,25 +19,29 @@ Macros:
*/
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/cstdbool>
+#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
-#undef __bool_true_false_are_defined
-#define __bool_true_false_are_defined 1
+# undef __bool_true_false_are_defined
+# define __bool_true_false_are_defined 1
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
using __standard_header_cstdbool _LIBCPP_DEPRECATED_("removed in C++20.") = void;
using __use_standard_header_cstdbool = __standard_header_cstdbool;
-#elif _LIBCPP_STD_VER >= 17
+# elif _LIBCPP_STD_VER >= 17
using __standard_header_cstdbool _LIBCPP_DEPRECATED = void;
using __use_standard_header_cstdbool = __standard_header_cstdbool;
-#endif
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CSTDBOOL
diff --git a/libcxx/include/cstddef b/libcxx/include/cstddef
index 2b138d969039..d86d87bbbb9b 100644
--- a/libcxx/include/cstddef
+++ b/libcxx/include/cstddef
@@ -33,27 +33,31 @@ Types:
*/
-#include <__config>
-#include <version>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/cstddef>
+#else
+# include <__config>
+# include <version>
-#include <stddef.h>
+# include <stddef.h>
-#ifndef _LIBCPP_STDDEF_H
+# ifndef _LIBCPP_STDDEF_H
# error <cstddef> tried including <stddef.h> but didn't find libc++'s <stddef.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
any C Standard Library, and you are probably using compiler flags that make that \
not be the case.
-#endif
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#include <__cstddef/byte.h>
-#include <__cstddef/max_align_t.h>
-#include <__cstddef/nullptr_t.h>
-#include <__cstddef/ptrdiff_t.h>
-#include <__cstddef/size_t.h>
+# endif
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+
+# include <__cstddef/byte.h>
+# include <__cstddef/max_align_t.h>
+# include <__cstddef/nullptr_t.h>
+# include <__cstddef/ptrdiff_t.h>
+# include <__cstddef/size_t.h>
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CSTDDEF
diff --git a/libcxx/include/cstdint b/libcxx/include/cstdint
index b3167c33f247..11839eeb071e 100644
--- a/libcxx/include/cstdint
+++ b/libcxx/include/cstdint
@@ -140,15 +140,18 @@ Types:
} // std
*/
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/cstdint>
+#else
+# include <__config>
-#if __has_include(<stdint.h>)
-# include <stdint.h>
-#endif
+# if __has_include(<stdint.h>)
+# include <stdint.h>
+# endif
-#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
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -190,4 +193,6 @@ using ::uintmax_t _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+
#endif // _LIBCPP_CSTDINT
diff --git a/libcxx/include/cstdio b/libcxx/include/cstdio
index a461c24dcc01..df9da1b4c878 100644
--- a/libcxx/include/cstdio
+++ b/libcxx/include/cstdio
@@ -95,22 +95,25 @@ void perror(const char* s);
} // std
*/
-#include <__config>
-#include <__cstddef/size_t.h>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/cstdio>
+#else
+# include <__config>
+# include <__cstddef/size_t.h>
-#include <stdio.h>
+# include <stdio.h>
-#ifndef _LIBCPP_STDIO_H
+# ifndef _LIBCPP_STDIO_H
# error <cstdio> tried including <stdio.h> but didn't find libc++'s <stdio.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
any C Standard Library, and you are probably using compiler flags that make that \
not be the case.
-#endif
+# endif
-#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
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -158,9 +161,9 @@ using ::tmpfile _LIBCPP_USING_IF_EXISTS;
using ::tmpnam _LIBCPP_USING_IF_EXISTS;
using ::getchar _LIBCPP_USING_IF_EXISTS;
-#if _LIBCPP_STD_VER <= 11
+# if _LIBCPP_STD_VER <= 11
using ::gets _LIBCPP_USING_IF_EXISTS;
-#endif
+# endif
using ::scanf _LIBCPP_USING_IF_EXISTS;
using ::vscanf _LIBCPP_USING_IF_EXISTS;
@@ -171,4 +174,6 @@ using ::vprintf _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+
#endif // _LIBCPP_CSTDIO
diff --git a/libcxx/include/cstdlib b/libcxx/include/cstdlib
index be0d9b8d7227..adeee29b93fd 100644
--- a/libcxx/include/cstdlib
+++ b/libcxx/include/cstdlib
@@ -81,22 +81,25 @@ void *aligned_alloc(size_t alignment, size_t size); // C11
*/
-#include <__config>
-#include <__cstddef/size_t.h>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/cstdlib>
+#else
+# include <__config>
+# include <__cstddef/size_t.h>
-#include <stdlib.h>
+# include <stdlib.h>
-#ifndef _LIBCPP_STDLIB_H
+# ifndef _LIBCPP_STDLIB_H
# error <cstdlib> tried including <stdlib.h> but didn't find libc++'s <stdlib.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
any C Standard Library, and you are probably using compiler flags that make that \
not be the case.
-#endif
+# endif
-#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
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -135,20 +138,22 @@ using ::div _LIBCPP_USING_IF_EXISTS;
using ::ldiv _LIBCPP_USING_IF_EXISTS;
using ::lldiv _LIBCPP_USING_IF_EXISTS;
using ::mblen _LIBCPP_USING_IF_EXISTS;
-#if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
using ::mbtowc _LIBCPP_USING_IF_EXISTS;
using ::wctomb _LIBCPP_USING_IF_EXISTS;
using ::mbstowcs _LIBCPP_USING_IF_EXISTS;
using ::wcstombs _LIBCPP_USING_IF_EXISTS;
-#endif
-#if !defined(_LIBCPP_CXX03_LANG)
+# endif
+# if !defined(_LIBCPP_CXX03_LANG)
using ::at_quick_exit _LIBCPP_USING_IF_EXISTS;
using ::quick_exit _LIBCPP_USING_IF_EXISTS;
-#endif
-#if _LIBCPP_STD_VER >= 17
+# endif
+# if _LIBCPP_STD_VER >= 17
using ::aligned_alloc _LIBCPP_USING_IF_EXISTS;
-#endif
+# endif
_LIBCPP_END_NAMESPACE_STD
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+
#endif // _LIBCPP_CSTDLIB
diff --git a/libcxx/include/cstring b/libcxx/include/cstring
index 5bb6e3e10628..4aa14feeec28 100644
--- a/libcxx/include/cstring
+++ b/libcxx/include/cstring
@@ -56,23 +56,26 @@ size_t strlen(const char* s);
*/
-#include <__config>
-#include <__cstddef/size_t.h>
-#include <__type_traits/is_constant_evaluated.h>
+#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>
-#include <string.h>
+# include <string.h>
-#ifndef _LIBCPP_STRING_H
+# ifndef _LIBCPP_STRING_H
# error <cstring> tried including <string.h> but didn't find libc++'s <string.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
any C Standard Library, and you are probably using compiler flags that make that \
not be the case.
-#endif
+# endif
-#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
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -101,4 +104,6 @@ using ::strlen _LIBCPP_USING_IF_EXISTS;
_LIBCPP_END_NAMESPACE_STD
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+
#endif // _LIBCPP_CSTRING
diff --git a/libcxx/include/ctgmath b/libcxx/include/ctgmath
index 7dbe952f021b..237f474f01c2 100644
--- a/libcxx/include/ctgmath
+++ b/libcxx/include/ctgmath
@@ -18,23 +18,28 @@
*/
-#include <cmath>
-#include <complex>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/ctgmath>
+#else
+# include <cmath>
+# include <complex>
-#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
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
using __standard_header_ctgmath _LIBCPP_DEPRECATED_("removed in C++20. Include <cmath> and <complex> instead.") = void;
using __use_standard_header_ctgmath = __standard_header_ctgmath;
-#elif _LIBCPP_STD_VER >= 17
+# elif _LIBCPP_STD_VER >= 17
using __standard_header_ctgmath _LIBCPP_DEPRECATED_("Include <cmath> and <complex> instead.") = void;
using __use_standard_header_ctgmath = __standard_header_ctgmath;
-#endif
+# endif
+
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CTGMATH
diff --git a/libcxx/include/ctime b/libcxx/include/ctime
index d2d2470f2fa6..1e845a8de093 100644
--- a/libcxx/include/ctime
+++ b/libcxx/include/ctime
@@ -45,29 +45,32 @@ int timespec_get( struct timespec *ts, int base); // C++17
*/
-#include <__config>
-#include <__cstddef/size_t.h>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/ctime>
+#else
+# include <__config>
+# include <__cstddef/size_t.h>
// <time.h> is not provided by libc++
-#if __has_include(<time.h>)
-# include <time.h>
-# ifdef _LIBCPP_TIME_H
-# error "If libc++ starts defining <time.h>, the __has_include check should move to libc++'s <time.h>"
+# if __has_include(<time.h>)
+# include <time.h>
+# ifdef _LIBCPP_TIME_H
+# error "If libc++ starts defining <time.h>, the __has_include check should move to libc++'s <time.h>"
+# endif
# endif
-#endif
-#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
_LIBCPP_BEGIN_NAMESPACE_STD
using ::clock_t _LIBCPP_USING_IF_EXISTS;
using ::time_t _LIBCPP_USING_IF_EXISTS;
using ::tm _LIBCPP_USING_IF_EXISTS;
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
using ::timespec _LIBCPP_USING_IF_EXISTS;
-#endif
+# endif
using ::clock _LIBCPP_USING_IF_EXISTS;
using ::difftime _LIBCPP_USING_IF_EXISTS;
using ::mktime _LIBCPP_USING_IF_EXISTS;
@@ -77,10 +80,12 @@ using ::ctime _LIBCPP_USING_IF_EXISTS;
using ::gmtime _LIBCPP_USING_IF_EXISTS;
using ::localtime _LIBCPP_USING_IF_EXISTS;
using ::strftime _LIBCPP_USING_IF_EXISTS;
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
using ::timespec_get _LIBCPP_USING_IF_EXISTS;
-#endif
+# endif
_LIBCPP_END_NAMESPACE_STD
+#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 448e4410c554..066f45018bbf 100644
--- a/libcxx/include/ctype.h
+++ b/libcxx/include/ctype.h
@@ -29,33 +29,37 @@ int tolower(int c);
int toupper(int c);
*/
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#if __has_include_next(<ctype.h>)
-# include_next <ctype.h>
-#endif
-
-#ifdef __cplusplus
-
-# undef isalnum
-# undef isalpha
-# undef isblank
-# undef iscntrl
-# undef isdigit
-# undef isgraph
-# undef islower
-# undef isprint
-# undef ispunct
-# undef isspace
-# undef isupper
-# undef isxdigit
-# undef tolower
-# undef toupper
-
-#endif
+#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)
+# pragma GCC system_header
+# endif
+
+# if __has_include_next(<ctype.h>)
+# include_next <ctype.h>
+# endif
+
+# ifdef __cplusplus
+
+# undef isalnum
+# undef isalpha
+# undef isblank
+# undef iscntrl
+# undef isdigit
+# undef isgraph
+# undef islower
+# undef isprint
+# undef ispunct
+# undef isspace
+# undef isupper
+# undef isxdigit
+# undef tolower
+# undef toupper
+
+# endif
+#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 1d156eb7aaaf..38505eb336f8 100644
--- a/libcxx/include/cuchar
+++ b/libcxx/include/cuchar
@@ -36,40 +36,45 @@ size_t c32rtomb(char* s, char32_t c32, mbstate_t* ps);
*/
-#include <__config>
-#include <__cstddef/size_t.h>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/cuchar>
+#else
+# include <__config>
+# include <__cstddef/size_t.h>
-#include <uchar.h>
+# include <uchar.h>
-#ifndef _LIBCPP_UCHAR_H
+# ifndef _LIBCPP_UCHAR_H
# error <cuchar> tried including <uchar.h> but didn't find libc++'s <uchar.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
any C Standard Library, and you are probably using compiler flags that make that \
not be the case.
-#endif
+# endif
-#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
_LIBCPP_BEGIN_NAMESPACE_STD
-#if !defined(_LIBCPP_CXX03_LANG)
+# if !defined(_LIBCPP_CXX03_LANG)
using ::mbstate_t _LIBCPP_USING_IF_EXISTS;
-# if _LIBCPP_HAS_C8RTOMB_MBRTOC8
+# if _LIBCPP_HAS_C8RTOMB_MBRTOC8
using ::mbrtoc8 _LIBCPP_USING_IF_EXISTS;
using ::c8rtomb _LIBCPP_USING_IF_EXISTS;
-# endif
+# endif
using ::mbrtoc16 _LIBCPP_USING_IF_EXISTS;
using ::c16rtomb _LIBCPP_USING_IF_EXISTS;
using ::mbrtoc32 _LIBCPP_USING_IF_EXISTS;
using ::c32rtomb _LIBCPP_USING_IF_EXISTS;
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_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 f5a26664c1c3..4a4b052831a9 100644
--- a/libcxx/include/cwchar
+++ b/libcxx/include/cwchar
@@ -102,28 +102,31 @@ size_t wcsrtombs(char* restrict dst, const wchar_t** restrict src, size_t len,
*/
-#include <__config>
-#include <__cstddef/size_t.h>
-#include <__type_traits/copy_cv.h>
-#include <__type_traits/is_constant_evaluated.h>
-#include <__type_traits/is_equality_comparable.h>
-#include <__type_traits/is_same.h>
-#include <__type_traits/remove_cv.h>
-#include <cwctype>
+#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>
+# include <__type_traits/is_constant_evaluated.h>
+# include <__type_traits/is_equality_comparable.h>
+# include <__type_traits/is_same.h>
+# include <__type_traits/remove_cv.h>
+# include <cwctype>
-#include <wchar.h>
+# include <wchar.h>
-#ifndef _LIBCPP_WCHAR_H
+# ifndef _LIBCPP_WCHAR_H
# error <cwchar> tried including <wchar.h> but didn't find libc++'s <wchar.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
any C Standard Library, and you are probably using compiler flags that make that \
not be the case.
-#endif
+# endif
-#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
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -194,9 +197,9 @@ using ::vwprintf _LIBCPP_USING_IF_EXISTS;
using ::wprintf _LIBCPP_USING_IF_EXISTS;
inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 size_t __constexpr_wcslen(const wchar_t* __str) {
-#if __has_builtin(__builtin_wcslen)
+# if __has_builtin(__builtin_wcslen)
return __builtin_wcslen(__str);
-#else
+# else
if (!__libcpp_is_constant_evaluated())
return std::wcslen(__str);
@@ -204,14 +207,14 @@ inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 size_t __constexpr_wc
for (; *__str != L'\0'; ++__str)
++__len;
return __len;
-#endif
+# endif
}
inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 int
__constexpr_wmemcmp(const wchar_t* __lhs, const wchar_t* __rhs, size_t __count) {
-#if __has_builtin(__builtin_wmemcmp)
+# if __has_builtin(__builtin_wmemcmp)
return __builtin_wmemcmp(__lhs, __rhs, __count);
-#else
+# else
if (!__libcpp_is_constant_evaluated())
return std::wmemcmp(__lhs, __rhs, __count);
@@ -222,7 +225,7 @@ __constexpr_wmemcmp(const wchar_t* __lhs, const wchar_t* __rhs, size_t __count)
return 1;
}
return 0;
-#endif
+# endif
}
template <class _Tp, class _Up>
@@ -231,18 +234,18 @@ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 _Tp* __constexpr_wmemchr(_Tp
__libcpp_is_trivially_equality_comparable<_Tp, _Tp>::value,
"Calling wmemchr on non-trivially equality comparable types is unsafe.");
-#if __has_builtin(__builtin_wmemchr)
+# if __has_builtin(__builtin_wmemchr)
if (!__libcpp_is_constant_evaluated()) {
wchar_t __value_buffer = 0;
__builtin_memcpy(&__value_buffer, &__value, sizeof(wchar_t));
return reinterpret_cast<_Tp*>(
__builtin_wmemchr(reinterpret_cast<__copy_cv_t<_Tp, wchar_t>*>(__str), __value_buffer, __count));
}
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
else if constexpr (is_same_v<remove_cv_t<_Tp>, wchar_t>)
return __builtin_wmemchr(__str, __value, __count);
-# endif
-#endif // __has_builtin(__builtin_wmemchr)
+# endif
+# endif // __has_builtin(__builtin_wmemchr)
for (; __count; --__count) {
if (*__str == __value)
@@ -254,8 +257,9 @@ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 _Tp* __constexpr_wmemchr(_Tp
_LIBCPP_END_NAMESPACE_STD
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstddef>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstddef>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_CWCHAR
diff --git a/libcxx/include/cwctype b/libcxx/include/cwctype
index 04abfabef579..b7f9cbb835e3 100644
--- a/libcxx/include/cwctype
+++ b/libcxx/include/cwctype
@@ -49,26 +49,29 @@ wctrans_t wctrans(const char* property);
*/
-#include <__config>
-#include <cctype>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/cwctype>
+#else
+# include <__config>
+# include <cctype>
-#include <wctype.h>
+# include <wctype.h>
-#ifndef _LIBCPP_WCTYPE_H
+# ifndef _LIBCPP_WCTYPE_H
# error <cwctype> tried including <wctype.h> but didn't find libc++'s <wctype.h> header. \
This usually means that your header search paths are not configured properly. \
The header search paths should contain the C++ Standard Library headers before \
any C Standard Library, and you are probably using compiler flags that make that \
not be the case.
-#endif
+# endif
-#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
_LIBCPP_BEGIN_NAMESPACE_STD
-#if defined(_LIBCPP_INCLUDED_C_LIBRARY_WCTYPE_H)
+# if defined(_LIBCPP_INCLUDED_C_LIBRARY_WCTYPE_H)
using ::wint_t _LIBCPP_USING_IF_EXISTS;
using ::wctrans_t _LIBCPP_USING_IF_EXISTS;
using ::wctype_t _LIBCPP_USING_IF_EXISTS;
@@ -90,8 +93,10 @@ using ::towlower _LIBCPP_USING_IF_EXISTS;
using ::towupper _LIBCPP_USING_IF_EXISTS;
using ::towctrans _LIBCPP_USING_IF_EXISTS;
using ::wctrans _LIBCPP_USING_IF_EXISTS;
-#endif // _LIBCPP_INCLUDED_C_LIBRARY_WCTYPE_H
+# endif // _LIBCPP_INCLUDED_C_LIBRARY_WCTYPE_H
_LIBCPP_END_NAMESPACE_STD
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+
#endif // _LIBCPP_CWCTYPE
diff --git a/libcxx/include/deque b/libcxx/include/deque
index ad6675034897..883332f1ebdc 100644
--- a/libcxx/include/deque
+++ b/libcxx/include/deque
@@ -177,87 +177,90 @@ template <class T, class Allocator, class Predicate>
*/
-#include <__algorithm/copy.h>
-#include <__algorithm/copy_backward.h>
-#include <__algorithm/copy_n.h>
-#include <__algorithm/equal.h>
-#include <__algorithm/fill_n.h>
-#include <__algorithm/lexicographical_compare.h>
-#include <__algorithm/lexicographical_compare_three_way.h>
-#include <__algorithm/max.h>
-#include <__algorithm/min.h>
-#include <__algorithm/move.h>
-#include <__algorithm/move_backward.h>
-#include <__algorithm/remove.h>
-#include <__algorithm/remove_if.h>
-#include <__algorithm/unwrap_iter.h>
-#include <__assert>
-#include <__config>
-#include <__debug_utils/sanitizers.h>
-#include <__format/enable_insertable.h>
-#include <__fwd/deque.h>
-#include <__iterator/distance.h>
-#include <__iterator/iterator_traits.h>
-#include <__iterator/move_iterator.h>
-#include <__iterator/next.h>
-#include <__iterator/prev.h>
-#include <__iterator/reverse_iterator.h>
-#include <__iterator/segmented_iterator.h>
-#include <__memory/addressof.h>
-#include <__memory/allocator.h>
-#include <__memory/allocator_destructor.h>
-#include <__memory/allocator_traits.h>
-#include <__memory/compressed_pair.h>
-#include <__memory/pointer_traits.h>
-#include <__memory/swap_allocator.h>
-#include <__memory/temp_value.h>
-#include <__memory/unique_ptr.h>
-#include <__memory_resource/polymorphic_allocator.h>
-#include <__ranges/access.h>
-#include <__ranges/concepts.h>
-#include <__ranges/container_compatible_range.h>
-#include <__ranges/from_range.h>
-#include <__ranges/size.h>
-#include <__split_buffer>
-#include <__type_traits/conditional.h>
-#include <__type_traits/container_traits.h>
-#include <__type_traits/disjunction.h>
-#include <__type_traits/enable_if.h>
-#include <__type_traits/is_allocator.h>
-#include <__type_traits/is_convertible.h>
-#include <__type_traits/is_nothrow_assignable.h>
-#include <__type_traits/is_nothrow_constructible.h>
-#include <__type_traits/is_same.h>
-#include <__type_traits/is_swappable.h>
-#include <__type_traits/is_trivially_relocatable.h>
-#include <__type_traits/type_identity.h>
-#include <__utility/forward.h>
-#include <__utility/move.h>
-#include <__utility/pair.h>
-#include <__utility/swap.h>
-#include <limits>
-#include <stdexcept>
-#include <version>
+#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>
+# include <__algorithm/equal.h>
+# include <__algorithm/fill_n.h>
+# include <__algorithm/lexicographical_compare.h>
+# include <__algorithm/lexicographical_compare_three_way.h>
+# include <__algorithm/max.h>
+# include <__algorithm/min.h>
+# include <__algorithm/move.h>
+# include <__algorithm/move_backward.h>
+# include <__algorithm/remove.h>
+# include <__algorithm/remove_if.h>
+# include <__algorithm/unwrap_iter.h>
+# include <__assert>
+# include <__config>
+# include <__debug_utils/sanitizers.h>
+# include <__format/enable_insertable.h>
+# include <__fwd/deque.h>
+# include <__iterator/distance.h>
+# include <__iterator/iterator_traits.h>
+# include <__iterator/move_iterator.h>
+# include <__iterator/next.h>
+# include <__iterator/prev.h>
+# include <__iterator/reverse_iterator.h>
+# include <__iterator/segmented_iterator.h>
+# include <__memory/addressof.h>
+# include <__memory/allocator.h>
+# include <__memory/allocator_destructor.h>
+# include <__memory/allocator_traits.h>
+# include <__memory/compressed_pair.h>
+# include <__memory/pointer_traits.h>
+# include <__memory/swap_allocator.h>
+# include <__memory/temp_value.h>
+# include <__memory/unique_ptr.h>
+# include <__memory_resource/polymorphic_allocator.h>
+# include <__ranges/access.h>
+# include <__ranges/concepts.h>
+# include <__ranges/container_compatible_range.h>
+# include <__ranges/from_range.h>
+# include <__ranges/size.h>
+# include <__split_buffer>
+# include <__type_traits/conditional.h>
+# include <__type_traits/container_traits.h>
+# include <__type_traits/disjunction.h>
+# include <__type_traits/enable_if.h>
+# include <__type_traits/is_allocator.h>
+# include <__type_traits/is_convertible.h>
+# include <__type_traits/is_nothrow_assignable.h>
+# include <__type_traits/is_nothrow_constructible.h>
+# include <__type_traits/is_same.h>
+# include <__type_traits/is_swappable.h>
+# include <__type_traits/is_trivially_relocatable.h>
+# include <__type_traits/type_identity.h>
+# include <__utility/forward.h>
+# include <__utility/move.h>
+# include <__utility/pair.h>
+# include <__utility/swap.h>
+# include <limits>
+# include <stdexcept>
+# include <version>
// standard-mandated includes
// [iterator.range]
-#include <__iterator/access.h>
-#include <__iterator/data.h>
-#include <__iterator/empty.h>
-#include <__iterator/reverse_access.h>
-#include <__iterator/size.h>
+# include <__iterator/access.h>
+# include <__iterator/data.h>
+# include <__iterator/empty.h>
+# include <__iterator/reverse_access.h>
+# include <__iterator/size.h>
// [deque.syn]
-#include <compare>
-#include <initializer_list>
+# include <compare>
+# include <initializer_list>
-#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
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -272,13 +275,13 @@ template <class _ValueType,
class _MapPointer,
class _DiffType,
_DiffType _BS =
-#ifdef _LIBCPP_ABI_INCOMPLETE_TYPES_IN_DEQUE
+# ifdef _LIBCPP_ABI_INCOMPLETE_TYPES_IN_DEQUE
// Keep template parameter to avoid changing all template declarations thoughout
// this file.
0
-#else
+# else
__deque_block_size<_ValueType, _DiffType>::value
-#endif
+# endif
>
class _LIBCPP_TEMPLATE_VIS __deque_iterator {
typedef _MapPointer __map_iterator;
@@ -299,10 +302,10 @@ public:
typedef _Reference reference;
_LIBCPP_HIDE_FROM_ABI __deque_iterator() _NOEXCEPT
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
: __m_iter_(nullptr),
__ptr_(nullptr)
-#endif
+# endif
{
}
@@ -391,7 +394,7 @@ public:
return __x.__ptr_ == __y.__ptr_;
}
-#if _LIBCPP_STD_VER <= 17
+# if _LIBCPP_STD_VER <= 17
_LIBCPP_HIDE_FROM_ABI friend bool operator!=(const __deque_iterator& __x, const __deque_iterator& __y) {
return !(__x == __y);
}
@@ -411,7 +414,7 @@ public:
return !(__x < __y);
}
-#else
+# else
_LIBCPP_HIDE_FROM_ABI friend strong_ordering operator<=>(const __deque_iterator& __x, const __deque_iterator& __y) {
if (__x.__m_iter_ < __y.__m_iter_)
@@ -433,7 +436,7 @@ public:
return strong_ordering::greater;
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
private:
_LIBCPP_HIDE_FROM_ABI explicit __deque_iterator(__map_iterator __m, pointer __p) _NOEXCEPT
@@ -621,9 +624,9 @@ public:
}
explicit _LIBCPP_HIDE_FROM_ABI deque(size_type __n);
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
explicit _LIBCPP_HIDE_FROM_ABI deque(size_type __n, const _Allocator& __a);
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI deque(size_type __n, const value_type& __v);
template <__enable_if_t<__is_allocator<_Allocator>::value, int> = 0>
@@ -639,7 +642,7 @@ public:
template <class _InputIter, __enable_if_t<__has_input_iterator_category<_InputIter>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI deque(_InputIter __f, _InputIter __l, const allocator_type& __a);
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<_Tp> _Range>
_LIBCPP_HIDE_FROM_ABI deque(from_range_t, _Range&& __range, const allocator_type& __a = allocator_type())
: __map_(__pointer_allocator(__a)), __start_(0), __size_(0), __alloc_(__a) {
@@ -652,14 +655,14 @@ public:
}
}
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI deque(const deque& __c);
_LIBCPP_HIDE_FROM_ABI deque(const deque& __c, const __type_identity_t<allocator_type>& __a);
_LIBCPP_HIDE_FROM_ABI deque& operator=(const deque& __c);
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI deque(initializer_list<value_type> __il);
_LIBCPP_HIDE_FROM_ABI deque(initializer_list<value_type> __il, const allocator_type& __a);
@@ -675,7 +678,7 @@ public:
is_nothrow_move_assignable<allocator_type>::value);
_LIBCPP_HIDE_FROM_ABI void assign(initializer_list<value_type> __il) { assign(__il.begin(), __il.end()); }
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _InputIter,
__enable_if_t<__has_input_iterator_category<_InputIter>::value &&
@@ -685,7 +688,7 @@ public:
template <class _RAIter, __enable_if_t<__has_random_access_iterator_category<_RAIter>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI void assign(_RAIter __f, _RAIter __l);
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<_Tp> _Range>
_LIBCPP_HIDE_FROM_ABI void assign_range(_Range&& __range) {
if constexpr (ranges::random_access_range<_Range>) {
@@ -700,7 +703,7 @@ public:
__assign_with_sentinel(ranges::begin(__range), ranges::end(__range));
}
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI void assign(size_type __n, const value_type& __v);
@@ -769,25 +772,25 @@ public:
// 23.2.2.3 modifiers:
_LIBCPP_HIDE_FROM_ABI void push_front(const value_type& __v);
_LIBCPP_HIDE_FROM_ABI void push_back(const value_type& __v);
-#ifndef _LIBCPP_CXX03_LANG
-# if _LIBCPP_STD_VER >= 17
+# ifndef _LIBCPP_CXX03_LANG
+# if _LIBCPP_STD_VER >= 17
template <class... _Args>
_LIBCPP_HIDE_FROM_ABI reference emplace_front(_Args&&... __args);
template <class... _Args>
_LIBCPP_HIDE_FROM_ABI reference emplace_back(_Args&&... __args);
-# else
+# else
template <class... _Args>
_LIBCPP_HIDE_FROM_ABI void emplace_front(_Args&&... __args);
template <class... _Args>
_LIBCPP_HIDE_FROM_ABI void emplace_back(_Args&&... __args);
-# endif
+# endif
template <class... _Args>
_LIBCPP_HIDE_FROM_ABI iterator emplace(const_iterator __p, _Args&&... __args);
_LIBCPP_HIDE_FROM_ABI void push_front(value_type&& __v);
_LIBCPP_HIDE_FROM_ABI void push_back(value_type&& __v);
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<_Tp> _Range>
_LIBCPP_HIDE_FROM_ABI void prepend_range(_Range&& __range) {
insert_range(begin(), std::forward<_Range>(__range));
@@ -797,14 +800,14 @@ public:
_LIBCPP_HIDE_FROM_ABI void append_range(_Range&& __range) {
insert_range(end(), std::forward<_Range>(__range));
}
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, value_type&& __v);
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, initializer_list<value_type> __il) {
return insert(__p, __il.begin(), __il.end());
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, const value_type& __v);
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, size_type __n, const value_type& __v);
template <class _InputIter, __enable_if_t<__has_exactly_input_iterator_category<_InputIter>::value, int> = 0>
@@ -815,7 +818,7 @@ public:
template <class _BiIter, __enable_if_t<__has_bidirectional_iterator_category<_BiIter>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, _BiIter __f, _BiIter __l);
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<_Tp> _Range>
_LIBCPP_HIDE_FROM_ABI iterator insert_range(const_iterator __position, _Range&& __range) {
if constexpr (ranges::bidirectional_range<_Range>) {
@@ -830,7 +833,7 @@ public:
return __insert_with_sentinel(__position, ranges::begin(__range), ranges::end(__range));
}
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI void pop_front();
_LIBCPP_HIDE_FROM_ABI void pop_back();
@@ -838,11 +841,11 @@ public:
_LIBCPP_HIDE_FROM_ABI iterator erase(const_iterator __f, const_iterator __l);
_LIBCPP_HIDE_FROM_ABI void swap(deque& __c)
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
_NOEXCEPT;
-#else
+# else
_NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value || __is_nothrow_swappable_v<allocator_type>);
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI void clear() _NOEXCEPT;
_LIBCPP_HIDE_FROM_ABI bool __invariants() const {
@@ -920,7 +923,7 @@ private:
(void)__end;
(void)__annotation_type;
(void)__place;
-#if _LIBCPP_HAS_ASAN
+# if _LIBCPP_HAS_ASAN
// __beg - index of the first item to annotate
// __end - index behind the last item to annotate (so last item + 1)
// __annotation_type - __asan_unposion or __asan_poison
@@ -1013,23 +1016,23 @@ private:
std::__annotate_double_ended_contiguous_container<_Allocator>(
__mem_beg, __mem_end, __old_beg, __old_end, __new_beg, __new_end);
}
-#endif // _LIBCPP_HAS_ASAN
+# endif // _LIBCPP_HAS_ASAN
}
_LIBCPP_HIDE_FROM_ABI void __annotate_new(size_type __current_size) const _NOEXCEPT {
(void)__current_size;
-#if _LIBCPP_HAS_ASAN
+# if _LIBCPP_HAS_ASAN
if (__current_size == 0)
__annotate_from_to(0, __map_.size() * __block_size, __asan_poison, __asan_back_moved);
else {
__annotate_from_to(0, __start_, __asan_poison, __asan_front_moved);
__annotate_from_to(__start_ + __current_size, __map_.size() * __block_size, __asan_poison, __asan_back_moved);
}
-#endif // _LIBCPP_HAS_ASAN
+# endif // _LIBCPP_HAS_ASAN
}
_LIBCPP_HIDE_FROM_ABI void __annotate_delete() const _NOEXCEPT {
-#if _LIBCPP_HAS_ASAN
+# if _LIBCPP_HAS_ASAN
if (empty()) {
for (size_t __i = 0; __i < __map_.size(); ++__i) {
__annotate_whole_block(__i, __asan_unposion);
@@ -1038,37 +1041,37 @@ private:
__annotate_from_to(0, __start_, __asan_unposion, __asan_front_moved);
__annotate_from_to(__start_ + size(), __map_.size() * __block_size, __asan_unposion, __asan_back_moved);
}
-#endif // _LIBCPP_HAS_ASAN
+# endif // _LIBCPP_HAS_ASAN
}
_LIBCPP_HIDE_FROM_ABI void __annotate_increase_front(size_type __n) const _NOEXCEPT {
(void)__n;
-#if _LIBCPP_HAS_ASAN
+# if _LIBCPP_HAS_ASAN
__annotate_from_to(__start_ - __n, __start_, __asan_unposion, __asan_front_moved);
-#endif
+# endif
}
_LIBCPP_HIDE_FROM_ABI void __annotate_increase_back(size_type __n) const _NOEXCEPT {
(void)__n;
-#if _LIBCPP_HAS_ASAN
+# if _LIBCPP_HAS_ASAN
__annotate_from_to(__start_ + size(), __start_ + size() + __n, __asan_unposion, __asan_back_moved);
-#endif
+# endif
}
_LIBCPP_HIDE_FROM_ABI void __annotate_shrink_front(size_type __old_size, size_type __old_start) const _NOEXCEPT {
(void)__old_size;
(void)__old_start;
-#if _LIBCPP_HAS_ASAN
+# if _LIBCPP_HAS_ASAN
__annotate_from_to(__old_start, __old_start + (__old_size - size()), __asan_poison, __asan_front_moved);
-#endif
+# endif
}
_LIBCPP_HIDE_FROM_ABI void __annotate_shrink_back(size_type __old_size, size_type __old_start) const _NOEXCEPT {
(void)__old_size;
(void)__old_start;
-#if _LIBCPP_HAS_ASAN
+# if _LIBCPP_HAS_ASAN
__annotate_from_to(__old_start + size(), __old_start + __old_size, __asan_poison, __asan_back_moved);
-#endif
+# endif
}
_LIBCPP_HIDE_FROM_ABI void __annotate_poison_block(const void* __beginning, const void* __end) const _NOEXCEPT {
@@ -1079,7 +1082,7 @@ private:
__annotate_whole_block(size_t __block_index, __asan_annotation_type __annotation_type) const _NOEXCEPT {
(void)__block_index;
(void)__annotation_type;
-#if _LIBCPP_HAS_ASAN
+# if _LIBCPP_HAS_ASAN
__map_const_iterator __block_it = __map_.begin() + __block_index;
const void* __block_start = std::__to_address(*__block_it);
const void* __block_end = std::__to_address(*__block_it + __block_size);
@@ -1090,9 +1093,9 @@ private:
std::__annotate_double_ended_contiguous_container<_Allocator>(
__block_start, __block_end, __block_start, __block_start, __block_start, __block_end);
}
-#endif
+# endif
}
-#if _LIBCPP_HAS_ASAN
+# if _LIBCPP_HAS_ASAN
public:
_LIBCPP_HIDE_FROM_ABI bool __verify_asan_annotations() const _NOEXCEPT {
@@ -1154,7 +1157,7 @@ public:
}
private:
-#endif // _LIBCPP_HAS_ASAN
+# endif // _LIBCPP_HAS_ASAN
_LIBCPP_HIDE_FROM_ABI bool __maybe_remove_front_spare(bool __keep_one = true) {
if (__front_spare_blocks() >= 2 || (!__keep_one && __front_spare_blocks())) {
__annotate_whole_block(0, __asan_unposion);
@@ -1244,7 +1247,7 @@ template <class _Tp, class _Alloc>
_LIBCPP_CONSTEXPR const typename allocator_traits<_Alloc>::difference_type deque<_Tp, _Alloc>::__block_size =
__deque_block_size<value_type, difference_type>::value;
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _InputIterator,
class _Alloc = allocator<__iter_value_type<_InputIterator>>,
class = enable_if_t<__has_input_iterator_category<_InputIterator>::value>,
@@ -1256,14 +1259,14 @@ template <class _InputIterator,
class = enable_if_t<__has_input_iterator_category<_InputIterator>::value>,
class = enable_if_t<__is_allocator<_Alloc>::value> >
deque(_InputIterator, _InputIterator, _Alloc) -> deque<__iter_value_type<_InputIterator>, _Alloc>;
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <ranges::input_range _Range,
class _Alloc = allocator<ranges::range_value_t<_Range>>,
class = enable_if_t<__is_allocator<_Alloc>::value> >
deque(from_range_t, _Range&&, _Alloc = _Alloc()) -> deque<ranges::range_value_t<_Range>, _Alloc>;
-#endif
+# endif
template <class _Tp, class _Allocator>
deque<_Tp, _Allocator>::deque(size_type __n) : __start_(0), __size_(0) {
@@ -1272,7 +1275,7 @@ deque<_Tp, _Allocator>::deque(size_type __n) : __start_(0), __size_(0) {
__append(__n);
}
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <class _Tp, class _Allocator>
deque<_Tp, _Allocator>::deque(size_type __n, const _Allocator& __a)
: __map_(__pointer_allocator(__a)), __start_(0), __size_(0), __alloc_(__a) {
@@ -1280,7 +1283,7 @@ deque<_Tp, _Allocator>::deque(size_type __n, const _Allocator& __a)
if (__n > 0)
__append(__n);
}
-#endif
+# endif
template <class _Tp, class _Allocator>
deque<_Tp, _Allocator>::deque(size_type __n, const value_type& __v) : __start_(0), __size_(0) {
@@ -1330,7 +1333,7 @@ deque<_Tp, _Allocator>& deque<_Tp, _Allocator>::operator=(const deque& __c) {
return *this;
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Tp, class _Allocator>
deque<_Tp, _Allocator>::deque(initializer_list<value_type> __il) : __start_(0), __size_(0) {
@@ -1398,7 +1401,7 @@ void deque<_Tp, _Allocator>::__move_assign(deque& __c,
__move_assign(__c);
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Tp, class _Allocator>
template <class _InputIter,
@@ -1586,7 +1589,7 @@ void deque<_Tp, _Allocator>::push_front(const value_type& __v) {
++__size();
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Tp, class _Allocator>
void deque<_Tp, _Allocator>::push_back(value_type&& __v) {
allocator_type& __a = __alloc();
@@ -1600,11 +1603,11 @@ void deque<_Tp, _Allocator>::push_back(value_type&& __v) {
template <class _Tp, class _Allocator>
template <class... _Args>
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
typename deque<_Tp, _Allocator>::reference
-# else
+# else
void
-# endif
+# endif
deque<_Tp, _Allocator>::emplace_back(_Args&&... __args) {
allocator_type& __a = __alloc();
if (__back_spare() == 0)
@@ -1613,9 +1616,9 @@ deque<_Tp, _Allocator>::emplace_back(_Args&&... __args) {
__annotate_increase_back(1);
__alloc_traits::construct(__a, std::addressof(*end()), std::forward<_Args>(__args)...);
++__size();
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
return *--end();
-# endif
+# endif
}
template <class _Tp, class _Allocator>
@@ -1632,11 +1635,11 @@ void deque<_Tp, _Allocator>::push_front(value_type&& __v) {
template <class _Tp, class _Allocator>
template <class... _Args>
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
typename deque<_Tp, _Allocator>::reference
-# else
+# else
void
-# endif
+# endif
deque<_Tp, _Allocator>::emplace_front(_Args&&... __args) {
allocator_type& __a = __alloc();
if (__front_spare() == 0)
@@ -1646,9 +1649,9 @@ deque<_Tp, _Allocator>::emplace_front(_Args&&... __args) {
__alloc_traits::construct(__a, std::addressof(*--begin()), std::forward<_Args>(__args)...);
--__start_;
++__size();
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
return *begin();
-# endif
+# endif
}
template <class _Tp, class _Allocator>
@@ -1746,7 +1749,7 @@ typename deque<_Tp, _Allocator>::iterator deque<_Tp, _Allocator>::emplace(const_
return begin() + __pos;
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Tp, class _Allocator>
typename deque<_Tp, _Allocator>::iterator deque<_Tp, _Allocator>::insert(const_iterator __p, const value_type& __v) {
@@ -1969,11 +1972,11 @@ template <class _Tp, class _Allocator>
template <class _InputIterator, class _Sentinel>
_LIBCPP_HIDE_FROM_ABI void deque<_Tp, _Allocator>::__append_with_sentinel(_InputIterator __f, _Sentinel __l) {
for (; __f != __l; ++__f)
-#ifdef _LIBCPP_CXX03_LANG
+# ifdef _LIBCPP_CXX03_LANG
push_back(*__f);
-#else
+# else
emplace_back(*__f);
-#endif
+# endif
}
template <class _Tp, class _Allocator>
@@ -2125,22 +2128,22 @@ void deque<_Tp, _Allocator>::__add_front_capacity(size_type __n) {
size_type __ds = (__nb + __back_capacity) * __block_size - __map_.empty();
__split_buffer<pointer, __pointer_allocator&> __buf(
std::max<size_type>(2 * __map_.capacity(), __nb + __map_.size()), 0, __map_.__alloc_);
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
for (; __nb > 0; --__nb) {
__buf.emplace_back(__alloc_traits::allocate(__a, __block_size));
// ASan: this is empty container, we have to poison whole block
__annotate_poison_block(std::__to_address(__buf.back()), std::__to_address(__buf.back() + __block_size));
}
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__annotate_delete();
for (__map_pointer __i = __buf.begin(); __i != __buf.end(); ++__i)
__alloc_traits::deallocate(__a, *__i, __block_size);
throw;
}
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
for (; __back_capacity > 0; --__back_capacity) {
__buf.emplace_back(__map_.back());
__map_.pop_back();
@@ -2250,22 +2253,22 @@ void deque<_Tp, _Allocator>::__add_back_capacity(size_type __n) {
std::max<size_type>(2 * __map_.capacity(), __nb + __map_.size()),
__map_.size() - __front_capacity,
__map_.__alloc_);
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
for (; __nb > 0; --__nb) {
__buf.emplace_back(__alloc_traits::allocate(__a, __block_size));
// ASan: this is an empty container, we have to poison the whole block
__annotate_poison_block(std::__to_address(__buf.back()), std::__to_address(__buf.back() + __block_size));
}
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__annotate_delete();
for (__map_pointer __i = __buf.begin(); __i != __buf.end(); ++__i)
__alloc_traits::deallocate(__a, *__i, __block_size);
throw;
}
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
for (; __front_capacity > 0; --__front_capacity) {
__buf.emplace_back(__map_.front());
__map_.pop_front();
@@ -2431,7 +2434,7 @@ typename deque<_Tp, _Allocator>::iterator deque<_Tp, _Allocator>::erase(const_it
difference_type __pos = __f - __b;
iterator __p = __b + __pos;
allocator_type& __a = __alloc();
- if (static_cast<size_t>(__pos) <= (size() - 1) / 2) { // erase from front
+ if (static_cast<size_type>(__pos) <= (size() - 1) / 2) { // erase from front
std::move_backward(__b, __p, std::next(__p));
__alloc_traits::destroy(__a, std::addressof(*__b));
--__size();
@@ -2459,7 +2462,7 @@ typename deque<_Tp, _Allocator>::iterator deque<_Tp, _Allocator>::erase(const_it
iterator __p = __b + __pos;
if (__n > 0) {
allocator_type& __a = __alloc();
- if (static_cast<size_t>(__pos) <= (size() - __n) / 2) { // erase from front
+ if (static_cast<size_type>(__pos) <= (size() - __n) / 2) { // erase from front
iterator __i = std::move_backward(__b, __p, __p + __n);
for (; __b != __i; ++__b)
__alloc_traits::destroy(__a, std::addressof(*__b));
@@ -2502,11 +2505,11 @@ void deque<_Tp, _Allocator>::__erase_to_end(const_iterator __f) {
template <class _Tp, class _Allocator>
inline void deque<_Tp, _Allocator>::swap(deque& __c)
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
_NOEXCEPT
-#else
+# else
_NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value || __is_nothrow_swappable_v<allocator_type>)
-#endif
+# endif
{
__map_.swap(__c.__map_);
std::swap(__start_, __c.__start_);
@@ -2542,7 +2545,7 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator==(const deque<_Tp, _Allocator>& __x,
return __sz == __y.size() && std::equal(__x.begin(), __x.end(), __y.begin());
}
-#if _LIBCPP_STD_VER <= 17
+# if _LIBCPP_STD_VER <= 17
template <class _Tp, class _Allocator>
inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const deque<_Tp, _Allocator>& __x, const deque<_Tp, _Allocator>& __y) {
@@ -2569,7 +2572,7 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator<=(const deque<_Tp, _Allocator>& __x,
return !(__y < __x);
}
-#else // _LIBCPP_STD_VER <= 17
+# else // _LIBCPP_STD_VER <= 17
template <class _Tp, class _Allocator>
_LIBCPP_HIDE_FROM_ABI __synth_three_way_result<_Tp>
@@ -2577,7 +2580,7 @@ operator<=>(const deque<_Tp, _Allocator>& __x, const deque<_Tp, _Allocator>& __y
return std::lexicographical_compare_three_way(__x.begin(), __x.end(), __y.begin(), __y.end(), std::__synth_three_way);
}
-#endif // _LIBCPP_STD_VER <= 17
+# endif // _LIBCPP_STD_VER <= 17
template <class _Tp, class _Allocator>
inline _LIBCPP_HIDE_FROM_ABI void swap(deque<_Tp, _Allocator>& __x, deque<_Tp, _Allocator>& __y)
@@ -2585,7 +2588,7 @@ inline _LIBCPP_HIDE_FROM_ABI void swap(deque<_Tp, _Allocator>& __x, deque<_Tp, _
__x.swap(__y);
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _Tp, class _Allocator, class _Up>
inline _LIBCPP_HIDE_FROM_ABI typename deque<_Tp, _Allocator>::size_type
erase(deque<_Tp, _Allocator>& __c, const _Up& __v) {
@@ -2604,12 +2607,12 @@ erase_if(deque<_Tp, _Allocator>& __c, _Predicate __pred) {
template <>
inline constexpr bool __format::__enable_insertable<std::deque<char>> = true;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
template <>
inline constexpr bool __format::__enable_insertable<std::deque<wchar_t>> = true;
-# endif
+# endif
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
template <class _Tp, class _Allocator>
struct __container_traits<deque<_Tp, _Allocator> > {
@@ -2624,27 +2627,28 @@ struct __container_traits<deque<_Tp, _Allocator> > {
_LIBCPP_END_NAMESPACE_STD
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
_LIBCPP_BEGIN_NAMESPACE_STD
namespace pmr {
template <class _ValueT>
using deque _LIBCPP_AVAILABILITY_PMR = std::deque<_ValueT, polymorphic_allocator<_ValueT>>;
} // namespace pmr
_LIBCPP_END_NAMESPACE_STD
-#endif
+# endif
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <algorithm>
-# include <atomic>
-# include <concepts>
-# include <cstdlib>
-# include <functional>
-# include <iosfwd>
-# include <iterator>
-# include <type_traits>
-# include <typeinfo>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <algorithm>
+# include <atomic>
+# include <concepts>
+# include <cstdlib>
+# include <functional>
+# include <iosfwd>
+# include <iterator>
+# include <type_traits>
+# include <typeinfo>
+# endif
+#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 e657ad84ff44..692f00f022c5 100644
--- a/libcxx/include/errno.h
+++ b/libcxx/include/errno.h
@@ -22,378 +22,382 @@ Macros:
*/
-#include <__config>
+#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)
-# pragma GCC system_header
-#endif
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
-#if __has_include_next(<errno.h>)
-# include_next <errno.h>
-#endif
+# if __has_include_next(<errno.h>)
+# include_next <errno.h>
+# endif
-#ifdef __cplusplus
+# ifdef __cplusplus
-# if !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE)
+# if !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE)
-# ifdef ELAST
+# ifdef ELAST
static const int __elast1 = ELAST + 1;
static const int __elast2 = ELAST + 2;
-# else
+# else
static const int __elast1 = 104;
static const int __elast2 = 105;
-# endif
+# endif
-# ifdef ENOTRECOVERABLE
+# ifdef ENOTRECOVERABLE
-# define EOWNERDEAD __elast1
+# define EOWNERDEAD __elast1
-# ifdef ELAST
-# undef ELAST
-# define ELAST EOWNERDEAD
-# endif
+# ifdef ELAST
+# undef ELAST
+# define ELAST EOWNERDEAD
+# endif
-# elif defined(EOWNERDEAD)
+# elif defined(EOWNERDEAD)
-# define ENOTRECOVERABLE __elast1
-# ifdef ELAST
-# undef ELAST
-# define ELAST ENOTRECOVERABLE
-# endif
+# define ENOTRECOVERABLE __elast1
+# ifdef ELAST
+# undef ELAST
+# define ELAST ENOTRECOVERABLE
+# endif
-# else // defined(EOWNERDEAD)
+# else // defined(EOWNERDEAD)
-# define EOWNERDEAD __elast1
-# define ENOTRECOVERABLE __elast2
-# ifdef ELAST
-# undef ELAST
-# define ELAST ENOTRECOVERABLE
-# endif
+# define EOWNERDEAD __elast1
+# define ENOTRECOVERABLE __elast2
+# ifdef ELAST
+# undef ELAST
+# define ELAST ENOTRECOVERABLE
+# endif
-# endif // defined(EOWNERDEAD)
+# endif // defined(EOWNERDEAD)
-# endif // !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE)
+# endif // !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE)
// supply errno values likely to be missing, particularly on Windows
-# ifndef EAFNOSUPPORT
-# define EAFNOSUPPORT 9901
-# endif
+# ifndef EAFNOSUPPORT
+# define EAFNOSUPPORT 9901
+# endif
-# ifndef EADDRINUSE
-# define EADDRINUSE 9902
-# endif
+# ifndef EADDRINUSE
+# define EADDRINUSE 9902
+# endif
-# ifndef EADDRNOTAVAIL
-# define EADDRNOTAVAIL 9903
-# endif
+# ifndef EADDRNOTAVAIL
+# define EADDRNOTAVAIL 9903
+# endif
-# ifndef EISCONN
-# define EISCONN 9904
-# endif
+# ifndef EISCONN
+# define EISCONN 9904
+# endif
-# ifndef EBADMSG
-# define EBADMSG 9905
-# endif
+# ifndef EBADMSG
+# define EBADMSG 9905
+# endif
-# ifndef ECONNABORTED
-# define ECONNABORTED 9906
-# endif
+# ifndef ECONNABORTED
+# define ECONNABORTED 9906
+# endif
-# ifndef EALREADY
-# define EALREADY 9907
-# endif
+# ifndef EALREADY
+# define EALREADY 9907
+# endif
-# ifndef ECONNREFUSED
-# define ECONNREFUSED 9908
-# endif
+# ifndef ECONNREFUSED
+# define ECONNREFUSED 9908
+# endif
-# ifndef ECONNRESET
-# define ECONNRESET 9909
-# endif
+# ifndef ECONNRESET
+# define ECONNRESET 9909
+# endif
-# ifndef EDESTADDRREQ
-# define EDESTADDRREQ 9910
-# endif
+# ifndef EDESTADDRREQ
+# define EDESTADDRREQ 9910
+# endif
-# ifndef EHOSTUNREACH
-# define EHOSTUNREACH 9911
-# endif
+# ifndef EHOSTUNREACH
+# define EHOSTUNREACH 9911
+# endif
-# ifndef EIDRM
-# define EIDRM 9912
-# endif
+# ifndef EIDRM
+# define EIDRM 9912
+# endif
-# ifndef EMSGSIZE
-# define EMSGSIZE 9913
-# endif
+# ifndef EMSGSIZE
+# define EMSGSIZE 9913
+# endif
-# ifndef ENETDOWN
-# define ENETDOWN 9914
-# endif
+# ifndef ENETDOWN
+# define ENETDOWN 9914
+# endif
-# ifndef ENETRESET
-# define ENETRESET 9915
-# endif
+# ifndef ENETRESET
+# define ENETRESET 9915
+# endif
-# ifndef ENETUNREACH
-# define ENETUNREACH 9916
-# endif
+# ifndef ENETUNREACH
+# define ENETUNREACH 9916
+# endif
-# ifndef ENOBUFS
-# define ENOBUFS 9917
-# endif
+# ifndef ENOBUFS
+# define ENOBUFS 9917
+# endif
-# ifndef ENOLINK
-# define ENOLINK 9918
-# endif
+# ifndef ENOLINK
+# define ENOLINK 9918
+# endif
-# ifndef ENODATA
-# define ENODATA 9919
-# endif
+# ifndef ENODATA
+# define ENODATA 9919
+# endif
-# ifndef ENOMSG
-# define ENOMSG 9920
-# endif
+# ifndef ENOMSG
+# define ENOMSG 9920
+# endif
-# ifndef ENOPROTOOPT
-# define ENOPROTOOPT 9921
-# endif
+# ifndef ENOPROTOOPT
+# define ENOPROTOOPT 9921
+# endif
-# ifndef ENOSR
-# define ENOSR 9922
-# endif
+# ifndef ENOSR
+# define ENOSR 9922
+# endif
-# ifndef ENOTSOCK
-# define ENOTSOCK 9923
-# endif
+# ifndef ENOTSOCK
+# define ENOTSOCK 9923
+# endif
-# ifndef ENOSTR
-# define ENOSTR 9924
-# endif
+# ifndef ENOSTR
+# define ENOSTR 9924
+# endif
-# ifndef ENOTCONN
-# define ENOTCONN 9925
-# endif
+# ifndef ENOTCONN
+# define ENOTCONN 9925
+# endif
-# ifndef ENOTSUP
-# define ENOTSUP 9926
-# endif
+# ifndef ENOTSUP
+# define ENOTSUP 9926
+# endif
-# ifndef ECANCELED
-# define ECANCELED 9927
-# endif
+# ifndef ECANCELED
+# define ECANCELED 9927
+# endif
-# ifndef EINPROGRESS
-# define EINPROGRESS 9928
-# endif
+# ifndef EINPROGRESS
+# define EINPROGRESS 9928
+# endif
-# ifndef EOPNOTSUPP
-# define EOPNOTSUPP 9929
-# endif
+# ifndef EOPNOTSUPP
+# define EOPNOTSUPP 9929
+# endif
-# ifndef EWOULDBLOCK
-# define EWOULDBLOCK 9930
-# endif
+# ifndef EWOULDBLOCK
+# define EWOULDBLOCK 9930
+# endif
-# ifndef EOWNERDEAD
-# define EOWNERDEAD 9931
-# endif
+# ifndef EOWNERDEAD
+# define EOWNERDEAD 9931
+# endif
-# ifndef EPROTO
-# define EPROTO 9932
-# endif
+# ifndef EPROTO
+# define EPROTO 9932
+# endif
-# ifndef EPROTONOSUPPORT
-# define EPROTONOSUPPORT 9933
-# endif
+# ifndef EPROTONOSUPPORT
+# define EPROTONOSUPPORT 9933
+# endif
-# ifndef ENOTRECOVERABLE
-# define ENOTRECOVERABLE 9934
-# endif
+# ifndef ENOTRECOVERABLE
+# define ENOTRECOVERABLE 9934
+# endif
-# ifndef ETIME
-# define ETIME 9935
-# endif
+# ifndef ETIME
+# define ETIME 9935
+# endif
-# ifndef ETXTBSY
-# define ETXTBSY 9936
-# endif
+# ifndef ETXTBSY
+# define ETXTBSY 9936
+# endif
-# ifndef ETIMEDOUT
-# define ETIMEDOUT 9938
-# endif
+# ifndef ETIMEDOUT
+# define ETIMEDOUT 9938
+# endif
-# ifndef ELOOP
-# define ELOOP 9939
-# endif
+# ifndef ELOOP
+# define ELOOP 9939
+# endif
-# ifndef EOVERFLOW
-# define EOVERFLOW 9940
-# endif
+# ifndef EOVERFLOW
+# define EOVERFLOW 9940
+# endif
-# ifndef EPROTOTYPE
-# define EPROTOTYPE 9941
-# endif
+# ifndef EPROTOTYPE
+# define EPROTOTYPE 9941
+# endif
-# ifndef ENOSYS
-# define ENOSYS 9942
-# endif
+# ifndef ENOSYS
+# define ENOSYS 9942
+# endif
-# ifndef EINVAL
-# define EINVAL 9943
-# endif
+# ifndef EINVAL
+# define EINVAL 9943
+# endif
-# ifndef ERANGE
-# define ERANGE 9944
-# endif
+# ifndef ERANGE
+# define ERANGE 9944
+# endif
-# ifndef EILSEQ
-# define EILSEQ 9945
-# endif
+# ifndef EILSEQ
+# define EILSEQ 9945
+# endif
// Windows Mobile doesn't appear to define these:
-# ifndef E2BIG
-# define E2BIG 9946
-# endif
+# ifndef E2BIG
+# define E2BIG 9946
+# endif
-# ifndef EDOM
-# define EDOM 9947
-# endif
+# ifndef EDOM
+# define EDOM 9947
+# endif
-# ifndef EFAULT
-# define EFAULT 9948
-# endif
+# ifndef EFAULT
+# define EFAULT 9948
+# endif
-# ifndef EBADF
-# define EBADF 9949
-# endif
+# ifndef EBADF
+# define EBADF 9949
+# endif
-# ifndef EPIPE
-# define EPIPE 9950
-# endif
+# ifndef EPIPE
+# define EPIPE 9950
+# endif
-# ifndef EXDEV
-# define EXDEV 9951
-# endif
+# ifndef EXDEV
+# define EXDEV 9951
+# endif
-# ifndef EBUSY
-# define EBUSY 9952
-# endif
+# ifndef EBUSY
+# define EBUSY 9952
+# endif
-# ifndef ENOTEMPTY
-# define ENOTEMPTY 9953
-# endif
+# ifndef ENOTEMPTY
+# define ENOTEMPTY 9953
+# endif
-# ifndef ENOEXEC
-# define ENOEXEC 9954
-# endif
+# ifndef ENOEXEC
+# define ENOEXEC 9954
+# endif
-# ifndef EEXIST
-# define EEXIST 9955
-# endif
+# ifndef EEXIST
+# define EEXIST 9955
+# endif
-# ifndef EFBIG
-# define EFBIG 9956
-# endif
+# ifndef EFBIG
+# define EFBIG 9956
+# endif
-# ifndef ENAMETOOLONG
-# define ENAMETOOLONG 9957
-# endif
+# ifndef ENAMETOOLONG
+# define ENAMETOOLONG 9957
+# endif
-# ifndef ENOTTY
-# define ENOTTY 9958
-# endif
+# ifndef ENOTTY
+# define ENOTTY 9958
+# endif
-# ifndef EINTR
-# define EINTR 9959
-# endif
+# ifndef EINTR
+# define EINTR 9959
+# endif
-# ifndef ESPIPE
-# define ESPIPE 9960
-# endif
+# ifndef ESPIPE
+# define ESPIPE 9960
+# endif
-# ifndef EIO
-# define EIO 9961
-# endif
+# ifndef EIO
+# define EIO 9961
+# endif
-# ifndef EISDIR
-# define EISDIR 9962
-# endif
+# ifndef EISDIR
+# define EISDIR 9962
+# endif
-# ifndef ECHILD
-# define ECHILD 9963
-# endif
+# ifndef ECHILD
+# define ECHILD 9963
+# endif
-# ifndef ENOLCK
-# define ENOLCK 9964
-# endif
+# ifndef ENOLCK
+# define ENOLCK 9964
+# endif
-# ifndef ENOSPC
-# define ENOSPC 9965
-# endif
+# ifndef ENOSPC
+# define ENOSPC 9965
+# endif
-# ifndef ENXIO
-# define ENXIO 9966
-# endif
+# ifndef ENXIO
+# define ENXIO 9966
+# endif
-# ifndef ENODEV
-# define ENODEV 9967
-# endif
+# ifndef ENODEV
+# define ENODEV 9967
+# endif
-# ifndef ENOENT
-# define ENOENT 9968
-# endif
+# ifndef ENOENT
+# define ENOENT 9968
+# endif
-# ifndef ESRCH
-# define ESRCH 9969
-# endif
+# ifndef ESRCH
+# define ESRCH 9969
+# endif
-# ifndef ENOTDIR
-# define ENOTDIR 9970
-# endif
+# ifndef ENOTDIR
+# define ENOTDIR 9970
+# endif
-# ifndef ENOMEM
-# define ENOMEM 9971
-# endif
+# ifndef ENOMEM
+# define ENOMEM 9971
+# endif
-# ifndef EPERM
-# define EPERM 9972
-# endif
+# ifndef EPERM
+# define EPERM 9972
+# endif
-# ifndef EACCES
-# define EACCES 9973
-# endif
+# ifndef EACCES
+# define EACCES 9973
+# endif
-# ifndef EROFS
-# define EROFS 9974
-# endif
+# ifndef EROFS
+# define EROFS 9974
+# endif
-# ifndef EDEADLK
-# define EDEADLK 9975
-# endif
+# ifndef EDEADLK
+# define EDEADLK 9975
+# endif
-# ifndef EAGAIN
-# define EAGAIN 9976
-# endif
+# ifndef EAGAIN
+# define EAGAIN 9976
+# endif
-# ifndef ENFILE
-# define ENFILE 9977
-# endif
+# ifndef ENFILE
+# define ENFILE 9977
+# endif
-# ifndef EMFILE
-# define EMFILE 9978
-# endif
+# ifndef EMFILE
+# define EMFILE 9978
+# endif
-# ifndef EMLINK
-# define EMLINK 9979
-# endif
+# ifndef EMLINK
+# define EMLINK 9979
+# endif
-#endif // __cplusplus
+# endif // __cplusplus
+#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 88eaaf06bf4a..74229cd16c00 100644
--- a/libcxx/include/exception
+++ b/libcxx/include/exception
@@ -76,22 +76,27 @@ template <class E> void rethrow_if_nested(const E& e);
*/
-#include <__config>
-#include <__exception/exception.h>
-#include <__exception/exception_ptr.h>
-#include <__exception/nested_exception.h>
-#include <__exception/operations.h>
-#include <__exception/terminate.h>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstddef>
-# include <cstdlib>
-# include <type_traits>
-#endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/exception>
+#else
+# include <__config>
+# include <__exception/exception.h>
+# include <__exception/exception_ptr.h>
+# include <__exception/nested_exception.h>
+# include <__exception/operations.h>
+# include <__exception/terminate.h>
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstddef>
+# include <cstdlib>
+# include <new>
+# include <type_traits>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_EXCEPTION
diff --git a/libcxx/include/execution b/libcxx/include/execution
index 94d434b2e460..7c695997cd04 100644
--- a/libcxx/include/execution
+++ b/libcxx/include/execution
@@ -32,17 +32,20 @@ namespace std {
}
*/
-#include <__config>
-#include <__type_traits/is_execution_policy.h>
-#include <__type_traits/is_same.h>
-#include <__type_traits/remove_cvref.h>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
+#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>
+# include <__type_traits/remove_cvref.h>
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
-#if !defined(_LIBCPP_HAS_NO_INCOMPLETE_PSTL) && _LIBCPP_STD_VER >= 17
+# if !defined(_LIBCPP_HAS_NO_INCOMPLETE_PSTL) && _LIBCPP_STD_VER >= 17
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -79,7 +82,7 @@ struct __unsequenced_policy {
constexpr __unsequenced_policy __unseq{__disable_user_instantiations_tag{}};
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
struct unsequenced_policy {
_LIBCPP_HIDE_FROM_ABI constexpr explicit unsequenced_policy(__disable_user_instantiations_tag) {}
@@ -89,7 +92,7 @@ struct unsequenced_policy {
inline constexpr unsequenced_policy unseq{__disable_user_instantiations_tag{}};
-# endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
} // namespace execution
@@ -117,14 +120,14 @@ inline constexpr bool __is_unsequenced_execution_policy_impl<execution::__unsequ
template <>
inline constexpr bool __is_unsequenced_execution_policy_impl<execution::parallel_unsequenced_policy> = true;
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <>
inline constexpr bool is_execution_policy_v<execution::unsequenced_policy> = true;
template <>
inline constexpr bool __is_unsequenced_execution_policy_impl<execution::unsequenced_policy> = true;
-# endif
+# endif
template <class _Tp>
struct is_execution_policy : bool_constant<is_execution_policy_v<_Tp>> {};
@@ -140,10 +143,11 @@ _LIBCPP_HIDE_FROM_ABI auto __remove_parallel_policy(const _ExecutionPolicy&) {
_LIBCPP_END_NAMESPACE_STD
-#endif // !defined(_LIBCPP_HAS_NO_INCOMPLETE_PSTL) && _LIBCPP_STD_VER >= 17
+# endif // !defined(_LIBCPP_HAS_NO_INCOMPLETE_PSTL) && _LIBCPP_STD_VER >= 17
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstddef>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstddef>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_EXECUTION
diff --git a/libcxx/include/expected b/libcxx/include/expected
index 3c7ef336432a..38038d328f17 100644
--- a/libcxx/include/expected
+++ b/libcxx/include/expected
@@ -38,19 +38,23 @@ namespace std {
*/
-#include <__config>
-
-#if _LIBCPP_STD_VER >= 23
-# include <__expected/bad_expected_access.h>
-# include <__expected/expected.h>
-# include <__expected/unexpect.h>
-# include <__expected/unexpected.h>
-#endif
-
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/expected>
+#else
+# include <__config>
+
+# if _LIBCPP_STD_VER >= 23
+# include <__expected/bad_expected_access.h>
+# include <__expected/expected.h>
+# include <__expected/unexpect.h>
+# include <__expected/unexpected.h>
+# endif
+
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+#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 2488bcfc155a..8448654e8d94 100644
--- a/libcxx/include/experimental/iterator
+++ b/libcxx/include/experimental/iterator
@@ -52,23 +52,26 @@ namespace std {
*/
-#include <__config>
-#include <__memory/addressof.h>
-#include <__ostream/basic_ostream.h>
-#include <__string/char_traits.h>
-#include <__type_traits/decay.h>
-#include <__utility/forward.h>
-#include <__utility/move.h>
-#include <iterator>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
+#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>
+# include <__string/char_traits.h>
+# include <__type_traits/decay.h>
+# include <__utility/forward.h>
+# include <__utility/move.h>
+# include <iterator>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
_LIBCPP_BEGIN_NAMESPACE_LFTS
@@ -117,14 +120,15 @@ make_ostream_joiner(basic_ostream<_CharT, _Traits>& __os, _Delim&& __d) {
_LIBCPP_END_NAMESPACE_LFTS
-#endif // _LIBCPP_STD_VER >= 14
+# endif // _LIBCPP_STD_VER >= 14
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstddef>
-# include <iosfwd>
-# include <type_traits>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstddef>
+# include <iosfwd>
+# include <type_traits>
+# endif
+#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 48e42a0a88a6..1daa1cc4f3ed 100644
--- a/libcxx/include/experimental/memory
+++ b/libcxx/include/experimental/memory
@@ -49,27 +49,30 @@ public:
}
*/
-#include <__config>
-#include <__cstddef/nullptr_t.h>
-#include <__cstddef/size_t.h>
-#include <__functional/hash.h>
-#include <__functional/operations.h>
-#include <__type_traits/add_lvalue_reference.h>
-#include <__type_traits/add_pointer.h>
-#include <__type_traits/common_type.h>
-#include <__type_traits/enable_if.h>
-#include <__type_traits/is_convertible.h>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#ifdef _LIBCPP_ENABLE_EXPERIMENTAL
+#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>
+# include <__functional/hash.h>
+# include <__functional/operations.h>
+# include <__type_traits/add_lvalue_reference.h>
+# include <__type_traits/add_pointer.h>
+# include <__type_traits/common_type.h>
+# include <__type_traits/enable_if.h>
+# include <__type_traits/is_convertible.h>
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+
+# ifdef _LIBCPP_ENABLE_EXPERIMENTAL
_LIBCPP_BEGIN_NAMESPACE_LFTS_V2
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _Wp>
class observer_ptr {
@@ -172,7 +175,7 @@ _LIBCPP_HIDE_FROM_ABI bool operator>=(observer_ptr<_W1> __a, observer_ptr<_W2> _
return !(__a < __b);
}
-# endif // _LIBCPP_STD_VER >= 17
+# endif // _LIBCPP_STD_VER >= 17
_LIBCPP_END_NAMESPACE_LFTS_V2
@@ -180,22 +183,23 @@ _LIBCPP_BEGIN_NAMESPACE_STD
// hash
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _Tp>
struct hash<experimental::observer_ptr<_Tp>> {
_LIBCPP_HIDE_FROM_ABI size_t operator()(const experimental::observer_ptr<_Tp>& __ptr) const noexcept {
return hash<_Tp*>()(__ptr.get());
}
};
-# endif // _LIBCPP_STD_VER >= 17
+# endif // _LIBCPP_STD_VER >= 17
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_ENABLE_EXPERIMENTAL
+# endif // _LIBCPP_ENABLE_EXPERIMENTAL
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstddef>
-# include <limits>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstddef>
+# include <limits>
+# endif
+#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 8466d4e9c7ef..8af3be366ad5 100644
--- a/libcxx/include/experimental/propagate_const
+++ b/libcxx/include/experimental/propagate_const
@@ -107,39 +107,42 @@
*/
-#include <__config>
-#include <__cstddef/nullptr_t.h>
-#include <__cstddef/size_t.h>
-#include <__functional/operations.h>
-#include <__fwd/functional.h>
-#include <__type_traits/conditional.h>
-#include <__type_traits/decay.h>
-#include <__type_traits/enable_if.h>
-#include <__type_traits/is_array.h>
-#include <__type_traits/is_constructible.h>
-#include <__type_traits/is_convertible.h>
-#include <__type_traits/is_function.h>
-#include <__type_traits/is_pointer.h>
-#include <__type_traits/is_reference.h>
-#include <__type_traits/is_same.h>
-#include <__type_traits/is_swappable.h>
-#include <__type_traits/remove_cv.h>
-#include <__type_traits/remove_pointer.h>
-#include <__type_traits/remove_reference.h>
-#include <__utility/declval.h>
-#include <__utility/forward.h>
-#include <__utility/move.h>
-#include <__utility/swap.h>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
+#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>
+# include <__functional/operations.h>
+# include <__fwd/functional.h>
+# include <__type_traits/conditional.h>
+# include <__type_traits/decay.h>
+# include <__type_traits/enable_if.h>
+# include <__type_traits/is_array.h>
+# include <__type_traits/is_constructible.h>
+# include <__type_traits/is_convertible.h>
+# include <__type_traits/is_function.h>
+# include <__type_traits/is_pointer.h>
+# include <__type_traits/is_reference.h>
+# include <__type_traits/is_same.h>
+# include <__type_traits/is_swappable.h>
+# include <__type_traits/remove_cv.h>
+# include <__type_traits/remove_pointer.h>
+# include <__type_traits/remove_reference.h>
+# include <__utility/declval.h>
+# include <__utility/forward.h>
+# include <__utility/move.h>
+# include <__utility/swap.h>
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
_LIBCPP_BEGIN_NAMESPACE_LFTS_V2
@@ -481,13 +484,14 @@ struct greater_equal<experimental::propagate_const<_Tp>> {
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_STD_VER >= 14
+# endif // _LIBCPP_STD_VER >= 14
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstddef>
-# include <type_traits>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstddef>
+# include <type_traits>
+# endif
+#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 1a868513d160..224cc75ba0eb 100644
--- a/libcxx/include/experimental/simd
+++ b/libcxx/include/experimental/simd
@@ -75,18 +75,22 @@ inline namespace parallelism_v2 {
# pragma GCC system_header
#endif
-#include <__config>
-#include <experimental/__simd/aligned_tag.h>
-#include <experimental/__simd/declaration.h>
-#include <experimental/__simd/reference.h>
-#include <experimental/__simd/scalar.h>
-#include <experimental/__simd/simd.h>
-#include <experimental/__simd/simd_mask.h>
-#include <experimental/__simd/traits.h>
-#include <experimental/__simd/vec_ext.h>
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstddef>
-#endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/experimental/simd>
+#else
+# include <__config>
+# include <experimental/__simd/aligned_tag.h>
+# include <experimental/__simd/declaration.h>
+# include <experimental/__simd/reference.h>
+# include <experimental/__simd/scalar.h>
+# include <experimental/__simd/simd.h>
+# include <experimental/__simd/simd_mask.h>
+# include <experimental/__simd/traits.h>
+# include <experimental/__simd/vec_ext.h>
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstddef>
+# endif
+#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 6980fc3c51e4..0353526bc8f6 100644
--- a/libcxx/include/experimental/type_traits
+++ b/libcxx/include/experimental/type_traits
@@ -68,16 +68,19 @@ inline namespace fundamentals_v1 {
*/
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/experimental/type_traits>
+#else
+# include <__config>
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
-# include <initializer_list>
-# include <type_traits>
+# include <initializer_list>
+# include <type_traits>
-# 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
_LIBCPP_BEGIN_NAMESPACE_LFTS
@@ -148,10 +151,11 @@ constexpr bool is_detected_convertible_v = is_detected_convertible<_To, _Op, _Ar
_LIBCPP_END_NAMESPACE_LFTS
-# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstddef>
-# endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstddef>
+# endif
-#endif /* _LIBCPP_STD_VER >= 14 */
+# endif /* _LIBCPP_STD_VER >= 14 */
+#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 00151b967e49..0c9b2b0c789c 100644
--- a/libcxx/include/experimental/utility
+++ b/libcxx/include/experimental/utility
@@ -30,12 +30,15 @@ inline namespace fundamentals_v1 {
*/
-#include <__config>
-#include <utility>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/experimental/utility>
+#else
+# include <__config>
+# include <utility>
-#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
_LIBCPP_BEGIN_NAMESPACE_LFTS
@@ -43,8 +46,9 @@ struct _LIBCPP_TEMPLATE_VIS erased_type {};
_LIBCPP_END_NAMESPACE_LFTS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstddef>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstddef>
+# endif
+#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 7b5b31c40817..c0336620cf88 100644
--- a/libcxx/include/ext/hash_map
+++ b/libcxx/include/ext/hash_map
@@ -201,23 +201,26 @@ template <class Key, class T, class Hash, class Pred, class Alloc>
*/
-#include <__config>
-#include <__hash_table>
-#include <algorithm>
-#include <ext/__hash>
-#include <functional>
-
-#if defined(__DEPRECATED) && __DEPRECATED
-# if defined(_LIBCPP_WARNING)
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/ext/hash_map>
+#else
+# include <__config>
+# include <__hash_table>
+# include <algorithm>
+# include <ext/__hash>
+# include <functional>
+
+# if defined(__DEPRECATED) && __DEPRECATED
+# if defined(_LIBCPP_WARNING)
_LIBCPP_WARNING("Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map>")
-# else
-# warning Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map>
+# else
+# warning Use of the header <ext/hash_map> is deprecated. Migrate to <unordered_map>
+# endif
# endif
-#endif
-#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
namespace __gnu_cxx {
@@ -312,17 +315,17 @@ public:
_LIBCPP_HIDE_FROM_ABI explicit __hash_map_node_destructor(allocator_type& __na)
: __na_(__na), __first_constructed(false), __second_constructed(false) {}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI __hash_map_node_destructor(std::__hash_node_destructor<allocator_type>&& __x)
: __na_(__x.__na_), __first_constructed(__x.__value_constructed), __second_constructed(__x.__value_constructed) {
__x.__value_constructed = false;
}
-#else // _LIBCPP_CXX03_LANG
+# else // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI __hash_map_node_destructor(const std::__hash_node_destructor<allocator_type>& __x)
: __na_(__x.__na_), __first_constructed(__x.__value_constructed), __second_constructed(__x.__value_constructed) {
const_cast<bool&>(__x.__value_constructed) = false;
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI void operator()(pointer __p) {
if (__second_constructed)
@@ -863,10 +866,11 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const hash_multimap<_Key, _Tp, _Has
} // namespace __gnu_cxx
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <concepts>
-# include <iterator>
-# include <type_traits>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
+# include <iterator>
+# include <type_traits>
+# endif
+#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 1ab259b59979..2f86649d6e98 100644
--- a/libcxx/include/ext/hash_set
+++ b/libcxx/include/ext/hash_set
@@ -192,23 +192,26 @@ template <class Value, class Hash, class Pred, class Alloc>
*/
-#include <__config>
-#include <__hash_table>
-#include <algorithm>
-#include <ext/__hash>
-#include <functional>
-
-#if defined(__DEPRECATED) && __DEPRECATED
-# if defined(_LIBCPP_WARNING)
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/ext/hash_set>
+#else
+# include <__config>
+# include <__hash_table>
+# include <algorithm>
+# include <ext/__hash>
+# include <functional>
+
+# if defined(__DEPRECATED) && __DEPRECATED
+# if defined(_LIBCPP_WARNING)
_LIBCPP_WARNING("Use of the header <ext/hash_set> is deprecated. Migrate to <unordered_set>")
-# else
-# warning Use of the header <ext/hash_set> is deprecated. Migrate to <unordered_set>
+# else
+# warning Use of the header <ext/hash_set> is deprecated. Migrate to <unordered_set>
+# endif
# endif
-#endif
-#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
namespace __gnu_cxx {
@@ -575,10 +578,11 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const hash_multiset<_Value, _Hash,
} // namespace __gnu_cxx
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <concepts>
-# include <iterator>
-# include <type_traits>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
+# include <iterator>
+# include <type_traits>
+# endif
+#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 5647f2b33955..157c24faa104 100644
--- a/libcxx/include/fenv.h
+++ b/libcxx/include/fenv.h
@@ -49,66 +49,70 @@ int feupdateenv(const fenv_t* envp);
*/
-#include <__config>
+#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)
-# pragma GCC system_header
-#endif
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
-#if __has_include_next(<fenv.h>)
-# include_next <fenv.h>
-#endif
+# if __has_include_next(<fenv.h>)
+# include_next <fenv.h>
+# endif
-#ifdef __cplusplus
+# ifdef __cplusplus
extern "C++" {
-# ifdef feclearexcept
-# undef feclearexcept
-# endif
+# ifdef feclearexcept
+# undef feclearexcept
+# endif
-# ifdef fegetexceptflag
-# undef fegetexceptflag
-# endif
+# ifdef fegetexceptflag
+# undef fegetexceptflag
+# endif
-# ifdef feraiseexcept
-# undef feraiseexcept
-# endif
+# ifdef feraiseexcept
+# undef feraiseexcept
+# endif
-# ifdef fesetexceptflag
-# undef fesetexceptflag
-# endif
+# ifdef fesetexceptflag
+# undef fesetexceptflag
+# endif
-# ifdef fetestexcept
-# undef fetestexcept
-# endif
+# ifdef fetestexcept
+# undef fetestexcept
+# endif
-# ifdef fegetround
-# undef fegetround
-# endif
+# ifdef fegetround
+# undef fegetround
+# endif
-# ifdef fesetround
-# undef fesetround
-# endif
+# ifdef fesetround
+# undef fesetround
+# endif
-# ifdef fegetenv
-# undef fegetenv
-# endif
+# ifdef fegetenv
+# undef fegetenv
+# endif
-# ifdef feholdexcept
-# undef feholdexcept
-# endif
+# ifdef feholdexcept
+# undef feholdexcept
+# endif
-# ifdef fesetenv
-# undef fesetenv
-# endif
+# ifdef fesetenv
+# undef fesetenv
+# endif
-# ifdef feupdateenv
-# undef feupdateenv
-# endif
+# ifdef feupdateenv
+# undef feupdateenv
+# endif
} // extern "C++"
-#endif // defined(__cplusplus)
+# endif // defined(__cplusplus)
+#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 6ea04df0a089..f9eb0ea1e24d 100644
--- a/libcxx/include/filesystem
+++ b/libcxx/include/filesystem
@@ -533,45 +533,49 @@ inline constexpr bool std::ranges::enable_view<std::filesystem::recursive_direct
*/
-#include <__config>
-
-#if _LIBCPP_STD_VER >= 17
-# include <__filesystem/copy_options.h>
-# include <__filesystem/directory_entry.h>
-# include <__filesystem/directory_iterator.h>
-# include <__filesystem/directory_options.h>
-# include <__filesystem/file_status.h>
-# include <__filesystem/file_time_type.h>
-# include <__filesystem/file_type.h>
-# include <__filesystem/filesystem_error.h>
-# include <__filesystem/operations.h>
-# include <__filesystem/path.h>
-# include <__filesystem/path_iterator.h>
-# include <__filesystem/perm_options.h>
-# include <__filesystem/perms.h>
-# include <__filesystem/recursive_directory_iterator.h>
-# include <__filesystem/space_info.h>
-# include <__filesystem/u8path.h>
-#endif
-
-#include <version>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/filesystem>
+#else
+# include <__config>
+
+# if _LIBCPP_STD_VER >= 17
+# include <__filesystem/copy_options.h>
+# include <__filesystem/directory_entry.h>
+# include <__filesystem/directory_iterator.h>
+# include <__filesystem/directory_options.h>
+# include <__filesystem/file_status.h>
+# include <__filesystem/file_time_type.h>
+# include <__filesystem/file_type.h>
+# include <__filesystem/filesystem_error.h>
+# include <__filesystem/operations.h>
+# include <__filesystem/path.h>
+# include <__filesystem/path_iterator.h>
+# include <__filesystem/perm_options.h>
+# include <__filesystem/perms.h>
+# include <__filesystem/recursive_directory_iterator.h>
+# include <__filesystem/space_info.h>
+# include <__filesystem/u8path.h>
+# endif
+
+# include <version>
// standard-mandated includes
// [fs.filesystem.syn]
-#include <compare>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <concepts>
-# include <cstdlib>
-# include <cstring>
-# include <iosfwd>
-# include <new>
-# include <system_error>
-#endif
+# include <compare>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
+# include <cstdlib>
+# include <cstring>
+# include <iosfwd>
+# include <new>
+# include <system_error>
+# endif
+#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 15d79dd1ddca..dbe5d8ee8f8c 100644
--- a/libcxx/include/flat_map
+++ b/libcxx/include/flat_map
@@ -37,18 +37,26 @@ namespace std {
erase_if(flat_map<Key, T, Compare, KeyContainer, MappedContainer>& c, Predicate pred);
*/
-#include <__assert> // all public C++ headers provide the assertion handler
-#include <__config>
-#include <__flat_map/flat_map.h>
-#include <__flat_map/sorted_unique.h>
-#include <version>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/__config>
+#else
+# include <__config>
+
+# if _LIBCPP_STD_VER >= 23
+# include <__flat_map/flat_map.h>
+# include <__flat_map/sorted_unique.h>
+# endif
+
+// for feature-test macros
+# include <version>
// standard required includes
-#include <compare>
-#include <initializer_list>
+# include <compare>
+# include <initializer_list>
-#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
+#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 d572866c1358..a6e79db91248 100644
--- a/libcxx/include/float.h
+++ b/libcxx/include/float.h
@@ -70,26 +70,30 @@ Macros:
*/
-#include <__config>
+#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)
-# pragma GCC system_header
-#endif
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
-#if __has_include_next(<float.h>)
-# include_next <float.h>
-#endif
+# if __has_include_next(<float.h>)
+# include_next <float.h>
+# endif
-#ifdef __cplusplus
+# ifdef __cplusplus
-# ifndef FLT_EVAL_METHOD
-# define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
-# endif
+# ifndef FLT_EVAL_METHOD
+# define FLT_EVAL_METHOD __FLT_EVAL_METHOD__
+# endif
-# ifndef DECIMAL_DIG
-# define DECIMAL_DIG __DECIMAL_DIG__
-# endif
+# ifndef DECIMAL_DIG
+# define DECIMAL_DIG __DECIMAL_DIG__
+# endif
-#endif // __cplusplus
+# endif // __cplusplus
+#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 82a2e3228683..ecf8f7ce1eed 100644
--- a/libcxx/include/format
+++ b/libcxx/include/format
@@ -191,70 +191,74 @@ namespace std {
*/
-#include <__config>
-
-#if _LIBCPP_STD_VER >= 20
-# include <__format/buffer.h>
-# include <__format/concepts.h>
-# include <__format/container_adaptor.h>
-# include <__format/enable_insertable.h>
-# include <__format/escaped_output_table.h>
-# include <__format/extended_grapheme_cluster_table.h>
-# include <__format/format_arg.h>
-# include <__format/format_arg_store.h>
-# include <__format/format_args.h>
-# include <__format/format_context.h>
-# include <__format/format_error.h>
-# include <__format/format_functions.h>
-# include <__format/format_parse_context.h>
-# include <__format/format_string.h>
-# include <__format/format_to_n_result.h>
-# include <__format/formatter.h>
-# include <__format/formatter_bool.h>
-# include <__format/formatter_char.h>
-# include <__format/formatter_floating_point.h>
-# include <__format/formatter_integer.h>
-# include <__format/formatter_pointer.h>
-# include <__format/formatter_string.h>
-# include <__format/formatter_tuple.h>
-# include <__format/parser_std_format_spec.h>
-# include <__format/range_default_formatter.h>
-# include <__format/range_formatter.h>
-# include <__format/unicode.h>
-# include <__fwd/format.h>
-#endif
-
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <array>
-# include <cctype>
-# include <cerrno>
-# include <clocale>
-# include <cmath>
-# include <cstddef>
-# include <cstdint>
-# include <cstdlib>
-# include <cstring>
-# include <initializer_list>
-# include <limits>
-# include <locale>
-# include <new>
-# include <optional>
-# include <queue>
-# include <stack>
-# include <stdexcept>
-# include <string>
-# include <string_view>
-# include <tuple>
-
-# if _LIBCPP_HAS_WIDE_CHARACTERS
-# include <cwchar>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/format>
+#else
+# include <__config>
+
+# if _LIBCPP_STD_VER >= 20
+# include <__format/buffer.h>
+# include <__format/concepts.h>
+# include <__format/container_adaptor.h>
+# include <__format/enable_insertable.h>
+# include <__format/escaped_output_table.h>
+# include <__format/extended_grapheme_cluster_table.h>
+# include <__format/format_arg.h>
+# include <__format/format_arg_store.h>
+# include <__format/format_args.h>
+# include <__format/format_context.h>
+# include <__format/format_error.h>
+# include <__format/format_functions.h>
+# include <__format/format_parse_context.h>
+# include <__format/format_string.h>
+# include <__format/format_to_n_result.h>
+# include <__format/formatter.h>
+# include <__format/formatter_bool.h>
+# include <__format/formatter_char.h>
+# include <__format/formatter_floating_point.h>
+# include <__format/formatter_integer.h>
+# include <__format/formatter_pointer.h>
+# include <__format/formatter_string.h>
+# include <__format/formatter_tuple.h>
+# include <__format/parser_std_format_spec.h>
+# include <__format/range_default_formatter.h>
+# include <__format/range_formatter.h>
+# include <__format/unicode.h>
+# include <__fwd/format.h>
# endif
-#endif
+
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <array>
+# include <cctype>
+# include <cerrno>
+# include <clocale>
+# include <cmath>
+# include <cstddef>
+# include <cstdint>
+# include <cstdlib>
+# include <cstring>
+# include <initializer_list>
+# include <limits>
+# include <locale>
+# include <new>
+# include <optional>
+# include <queue>
+# include <stack>
+# include <stdexcept>
+# include <string>
+# include <string_view>
+# include <tuple>
+
+# if _LIBCPP_HAS_WIDE_CHARACTERS
+# include <cwchar>
+# endif
+# endif
+#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 57730870ddf4..c1ab155d5a13 100644
--- a/libcxx/include/forward_list
+++ b/libcxx/include/forward_list
@@ -195,66 +195,69 @@ template <class T, class Allocator, class Predicate>
*/
-#include <__algorithm/comp.h>
-#include <__algorithm/lexicographical_compare.h>
-#include <__algorithm/lexicographical_compare_three_way.h>
-#include <__algorithm/min.h>
-#include <__config>
-#include <__cstddef/nullptr_t.h>
-#include <__iterator/distance.h>
-#include <__iterator/iterator_traits.h>
-#include <__iterator/move_iterator.h>
-#include <__iterator/next.h>
-#include <__memory/addressof.h>
-#include <__memory/allocation_guard.h>
-#include <__memory/allocator.h>
-#include <__memory/allocator_traits.h>
-#include <__memory/compressed_pair.h>
-#include <__memory/construct_at.h>
-#include <__memory/pointer_traits.h>
-#include <__memory/swap_allocator.h>
-#include <__memory_resource/polymorphic_allocator.h>
-#include <__ranges/access.h>
-#include <__ranges/concepts.h>
-#include <__ranges/container_compatible_range.h>
-#include <__ranges/from_range.h>
-#include <__type_traits/conditional.h>
-#include <__type_traits/container_traits.h>
-#include <__type_traits/enable_if.h>
-#include <__type_traits/is_allocator.h>
-#include <__type_traits/is_const.h>
-#include <__type_traits/is_nothrow_assignable.h>
-#include <__type_traits/is_nothrow_constructible.h>
-#include <__type_traits/is_pointer.h>
-#include <__type_traits/is_same.h>
-#include <__type_traits/is_swappable.h>
-#include <__type_traits/type_identity.h>
-#include <__utility/forward.h>
-#include <__utility/move.h>
-#include <__utility/swap.h>
-#include <limits>
-#include <new> // __launder
-#include <version>
+#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>
+# include <__algorithm/min.h>
+# include <__config>
+# include <__cstddef/nullptr_t.h>
+# include <__iterator/distance.h>
+# include <__iterator/iterator_traits.h>
+# include <__iterator/move_iterator.h>
+# include <__iterator/next.h>
+# include <__memory/addressof.h>
+# include <__memory/allocation_guard.h>
+# include <__memory/allocator.h>
+# include <__memory/allocator_traits.h>
+# include <__memory/compressed_pair.h>
+# include <__memory/construct_at.h>
+# include <__memory/pointer_traits.h>
+# include <__memory/swap_allocator.h>
+# include <__memory_resource/polymorphic_allocator.h>
+# include <__new/launder.h>
+# include <__ranges/access.h>
+# include <__ranges/concepts.h>
+# include <__ranges/container_compatible_range.h>
+# include <__ranges/from_range.h>
+# include <__type_traits/conditional.h>
+# include <__type_traits/container_traits.h>
+# include <__type_traits/enable_if.h>
+# include <__type_traits/is_allocator.h>
+# include <__type_traits/is_const.h>
+# include <__type_traits/is_nothrow_assignable.h>
+# include <__type_traits/is_nothrow_constructible.h>
+# include <__type_traits/is_pointer.h>
+# include <__type_traits/is_same.h>
+# include <__type_traits/is_swappable.h>
+# include <__type_traits/type_identity.h>
+# include <__utility/forward.h>
+# include <__utility/move.h>
+# include <__utility/swap.h>
+# include <limits>
+# include <version>
// standard-mandated includes
// [iterator.range]
-#include <__iterator/access.h>
-#include <__iterator/data.h>
-#include <__iterator/empty.h>
-#include <__iterator/reverse_access.h>
-#include <__iterator/size.h>
+# include <__iterator/access.h>
+# include <__iterator/data.h>
+# include <__iterator/empty.h>
+# include <__iterator/reverse_access.h>
+# include <__iterator/size.h>
// [forward.list.syn]
-#include <compare>
-#include <initializer_list>
+# include <compare>
+# include <initializer_list>
-#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
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -281,7 +284,7 @@ struct __forward_node_traits {
typedef __rebind_pointer_t<_NodePtr, void> __void_pointer;
// TODO(LLVM 22): Remove this check
-#ifndef _LIBCPP_ABI_FORWARD_LIST_REMOVE_NODE_POINTER_UB
+# ifndef _LIBCPP_ABI_FORWARD_LIST_REMOVE_NODE_POINTER_UB
static_assert(sizeof(__begin_node_pointer) == sizeof(__node_pointer) && _LIBCPP_ALIGNOF(__begin_node_pointer) ==
_LIBCPP_ALIGNOF(__node_pointer),
"It looks like you are using std::forward_list with a fancy pointer type that thas a different "
@@ -289,7 +292,7 @@ struct __forward_node_traits {
"pointer (both of which are implementation details of the standard library). This means that your ABI "
"is being broken between LLVM 19 and LLVM 20. If you don't care about your ABI being broken, define "
"the _LIBCPP_ABI_FORWARD_LIST_REMOVE_NODE_POINTER_UB macro to silence this diagnostic.");
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI static __begin_node_pointer __as_iter_node(__begin_node_pointer __p) { return __p; }
_LIBCPP_HIDE_FROM_ABI static __begin_node_pointer __as_iter_node(__node_pointer __p) {
@@ -323,7 +326,7 @@ struct __forward_list_node : public __begin_node_of<_Tp, _VoidPtr> {
// We allow starting the lifetime of nodes without initializing the value held by the node,
// since that is handled by the list itself in order to be allocator-aware.
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
private:
union {
@@ -332,14 +335,14 @@ private:
public:
_LIBCPP_HIDE_FROM_ABI _Tp& __get_value() { return __value_; }
-#else
+# else
private:
_ALIGNAS_TYPE(_Tp) char __buffer_[sizeof(_Tp)];
public:
_LIBCPP_HIDE_FROM_ABI _Tp& __get_value() { return *std::__launder(reinterpret_cast<_Tp*>(&__buffer_)); }
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI explicit __forward_list_node(_NodePtr __next) : _Base(__next) {}
_LIBCPP_HIDE_FROM_ABI ~__forward_list_node() {}
@@ -514,11 +517,11 @@ protected:
: __before_begin_(__begin_node()), __alloc_(__a) {}
public:
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI
__forward_list_base(__forward_list_base&& __x) noexcept(is_nothrow_move_constructible<__node_allocator>::value);
_LIBCPP_HIDE_FROM_ABI __forward_list_base(__forward_list_base&& __x, const allocator_type& __a);
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
__forward_list_base(const __forward_list_base&) = delete;
__forward_list_base& operator=(const __forward_list_base&) = delete;
@@ -562,11 +565,11 @@ protected:
public:
_LIBCPP_HIDE_FROM_ABI void swap(__forward_list_base& __x)
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
_NOEXCEPT;
-#else
+# else
_NOEXCEPT_(!__node_traits::propagate_on_container_swap::value || __is_nothrow_swappable_v<__node_allocator>);
-#endif
+# endif
protected:
_LIBCPP_HIDE_FROM_ABI void clear() _NOEXCEPT;
@@ -586,7 +589,7 @@ private:
}
};
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Tp, class _Alloc>
inline __forward_list_base<_Tp, _Alloc>::__forward_list_base(__forward_list_base&& __x) noexcept(
@@ -604,7 +607,7 @@ inline __forward_list_base<_Tp, _Alloc>::__forward_list_base(__forward_list_base
}
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Tp, class _Alloc>
__forward_list_base<_Tp, _Alloc>::~__forward_list_base() {
@@ -613,11 +616,11 @@ __forward_list_base<_Tp, _Alloc>::~__forward_list_base() {
template <class _Tp, class _Alloc>
inline void __forward_list_base<_Tp, _Alloc>::swap(__forward_list_base& __x)
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
_NOEXCEPT
-#else
+# else
_NOEXCEPT_(!__node_traits::propagate_on_container_swap::value || __is_nothrow_swappable_v<__node_allocator>)
-#endif
+# endif
{
std::__swap_allocator(__alloc_, __x.__alloc_);
using std::swap;
@@ -664,19 +667,19 @@ public:
typedef typename __base::iterator iterator;
typedef typename __base::const_iterator const_iterator;
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
typedef size_type __remove_return_type;
-#else
+# else
typedef void __remove_return_type;
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI forward_list() _NOEXCEPT_(is_nothrow_default_constructible<__node_allocator>::value) {
} // = default;
_LIBCPP_HIDE_FROM_ABI explicit forward_list(const allocator_type& __a);
_LIBCPP_HIDE_FROM_ABI explicit forward_list(size_type __n);
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
_LIBCPP_HIDE_FROM_ABI explicit forward_list(size_type __n, const allocator_type& __a);
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI forward_list(size_type __n, const value_type& __v);
template <__enable_if_t<__is_allocator<_Alloc>::value, int> = 0>
@@ -690,20 +693,20 @@ public:
template <class _InputIterator, __enable_if_t<__has_input_iterator_category<_InputIterator>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI forward_list(_InputIterator __f, _InputIterator __l, const allocator_type& __a);
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<_Tp> _Range>
_LIBCPP_HIDE_FROM_ABI forward_list(from_range_t, _Range&& __range, const allocator_type& __a = allocator_type())
: __base(__a) {
prepend_range(std::forward<_Range>(__range));
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI forward_list(const forward_list& __x);
_LIBCPP_HIDE_FROM_ABI forward_list(const forward_list& __x, const __type_identity_t<allocator_type>& __a);
_LIBCPP_HIDE_FROM_ABI forward_list& operator=(const forward_list& __x);
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI forward_list(forward_list&& __x) noexcept(is_nothrow_move_constructible<__base>::value)
: __base(std::move(__x)) {}
_LIBCPP_HIDE_FROM_ABI forward_list(forward_list&& __x, const __type_identity_t<allocator_type>& __a);
@@ -718,19 +721,19 @@ public:
_LIBCPP_HIDE_FROM_ABI forward_list& operator=(initializer_list<value_type> __il);
_LIBCPP_HIDE_FROM_ABI void assign(initializer_list<value_type> __il);
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
// ~forward_list() = default;
template <class _InputIterator, __enable_if_t<__has_input_iterator_category<_InputIterator>::value, int> = 0>
void _LIBCPP_HIDE_FROM_ABI assign(_InputIterator __f, _InputIterator __l);
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<_Tp> _Range>
_LIBCPP_HIDE_FROM_ABI void assign_range(_Range&& __range) {
__assign_with_sentinel(ranges::begin(__range), ranges::end(__range));
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI void assign(size_type __n, const value_type& __v);
@@ -766,28 +769,28 @@ public:
_LIBCPP_HIDE_FROM_ABI reference front() { return __base::__before_begin()->__next_->__get_value(); }
_LIBCPP_HIDE_FROM_ABI const_reference front() const { return __base::__before_begin()->__next_->__get_value(); }
-#ifndef _LIBCPP_CXX03_LANG
-# if _LIBCPP_STD_VER >= 17
+# ifndef _LIBCPP_CXX03_LANG
+# if _LIBCPP_STD_VER >= 17
template <class... _Args>
_LIBCPP_HIDE_FROM_ABI reference emplace_front(_Args&&... __args);
-# else
+# else
template <class... _Args>
_LIBCPP_HIDE_FROM_ABI void emplace_front(_Args&&... __args);
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI void push_front(value_type&& __v);
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI void push_front(const value_type& __v);
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<_Tp> _Range>
_LIBCPP_HIDE_FROM_ABI void prepend_range(_Range&& __range) {
insert_range_after(cbefore_begin(), std::forward<_Range>(__range));
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI void pop_front();
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class... _Args>
_LIBCPP_HIDE_FROM_ABI iterator emplace_after(const_iterator __p, _Args&&... __args);
@@ -795,18 +798,18 @@ public:
_LIBCPP_HIDE_FROM_ABI iterator insert_after(const_iterator __p, initializer_list<value_type> __il) {
return insert_after(__p, __il.begin(), __il.end());
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI iterator insert_after(const_iterator __p, const value_type& __v);
_LIBCPP_HIDE_FROM_ABI iterator insert_after(const_iterator __p, size_type __n, const value_type& __v);
template <class _InputIterator, __enable_if_t<__has_input_iterator_category<_InputIterator>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI iterator insert_after(const_iterator __p, _InputIterator __f, _InputIterator __l);
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<_Tp> _Range>
_LIBCPP_HIDE_FROM_ABI iterator insert_range_after(const_iterator __position, _Range&& __range) {
return __insert_after_with_sentinel(__position, ranges::begin(__range), ranges::end(__range));
}
-#endif
+# endif
template <class _InputIterator, class _Sentinel>
_LIBCPP_HIDE_FROM_ABI iterator __insert_after_with_sentinel(const_iterator __p, _InputIterator __f, _Sentinel __l);
@@ -815,11 +818,11 @@ public:
_LIBCPP_HIDE_FROM_ABI iterator erase_after(const_iterator __f, const_iterator __l);
_LIBCPP_HIDE_FROM_ABI void swap(forward_list& __x)
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
_NOEXCEPT
-#else
+# else
_NOEXCEPT_(!__node_traits::propagate_on_container_swap::value || __is_nothrow_swappable_v<__node_allocator>)
-#endif
+# endif
{
__base::swap(__x);
}
@@ -842,13 +845,13 @@ public:
_LIBCPP_HIDE_FROM_ABI __remove_return_type unique() { return unique(__equal_to()); }
template <class _BinaryPredicate>
_LIBCPP_HIDE_FROM_ABI __remove_return_type unique(_BinaryPredicate __binary_pred);
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI void merge(forward_list&& __x) { merge(__x, __less<>()); }
template <class _Compare>
_LIBCPP_HIDE_FROM_ABI void merge(forward_list&& __x, _Compare __comp) {
merge(__x, std::move(__comp));
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI void merge(forward_list& __x) { merge(__x, __less<>()); }
template <class _Compare>
_LIBCPP_HIDE_FROM_ABI void merge(forward_list& __x, _Compare __comp);
@@ -858,11 +861,11 @@ public:
_LIBCPP_HIDE_FROM_ABI void reverse() _NOEXCEPT;
private:
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI void __move_assign(forward_list& __x, true_type)
_NOEXCEPT_(is_nothrow_move_assignable<allocator_type>::value);
_LIBCPP_HIDE_FROM_ABI void __move_assign(forward_list& __x, false_type);
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Iter, class _Sent>
_LIBCPP_HIDE_FROM_ABI void __assign_with_sentinel(_Iter __f, _Sent __l);
@@ -875,7 +878,7 @@ private:
static _LIBCPP_HIDDEN __node_pointer __sort(__node_pointer __f, difference_type __sz, _Compare& __comp);
};
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _InputIterator,
class _Alloc = allocator<__iter_value_type<_InputIterator>>,
class = enable_if_t<__has_input_iterator_category<_InputIterator>::value>,
@@ -887,14 +890,14 @@ template <class _InputIterator,
class = enable_if_t<__has_input_iterator_category<_InputIterator>::value>,
class = enable_if_t<__is_allocator<_Alloc>::value> >
forward_list(_InputIterator, _InputIterator, _Alloc) -> forward_list<__iter_value_type<_InputIterator>, _Alloc>;
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <ranges::input_range _Range,
class _Alloc = allocator<ranges::range_value_t<_Range>>,
class = enable_if_t<__is_allocator<_Alloc>::value> >
forward_list(from_range_t, _Range&&, _Alloc = _Alloc()) -> forward_list<ranges::range_value_t<_Range>, _Alloc>;
-#endif
+# endif
template <class _Tp, class _Alloc>
inline forward_list<_Tp, _Alloc>::forward_list(const allocator_type& __a) : __base(__a) {}
@@ -908,7 +911,7 @@ forward_list<_Tp, _Alloc>::forward_list(size_type __n) {
}
}
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <class _Tp, class _Alloc>
forward_list<_Tp, _Alloc>::forward_list(size_type __n, const allocator_type& __base_alloc) : __base(__base_alloc) {
if (__n > 0) {
@@ -917,7 +920,7 @@ forward_list<_Tp, _Alloc>::forward_list(size_type __n, const allocator_type& __b
}
}
}
-#endif
+# endif
template <class _Tp, class _Alloc>
forward_list<_Tp, _Alloc>::forward_list(size_type __n, const value_type& __v) {
@@ -958,7 +961,7 @@ forward_list<_Tp, _Alloc>& forward_list<_Tp, _Alloc>::operator=(const forward_li
return *this;
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Tp, class _Alloc>
forward_list<_Tp, _Alloc>::forward_list(forward_list&& __x, const __type_identity_t<allocator_type>& __a)
: __base(std::move(__x), __a) {
@@ -1010,7 +1013,7 @@ inline forward_list<_Tp, _Alloc>& forward_list<_Tp, _Alloc>::operator=(initializ
return *this;
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Tp, class _Alloc>
template <class _InputIterator, __enable_if_t<__has_input_iterator_category<_InputIterator>::value, int> >
@@ -1045,7 +1048,7 @@ void forward_list<_Tp, _Alloc>::assign(size_type __n, const value_type& __v) {
erase_after(__i, __e);
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Tp, class _Alloc>
inline void forward_list<_Tp, _Alloc>::assign(initializer_list<value_type> __il) {
@@ -1054,17 +1057,17 @@ inline void forward_list<_Tp, _Alloc>::assign(initializer_list<value_type> __il)
template <class _Tp, class _Alloc>
template <class... _Args>
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
typename forward_list<_Tp, _Alloc>::reference
-# else
+# else
void
-# endif
+# endif
forward_list<_Tp, _Alloc>::emplace_front(_Args&&... __args) {
__base::__before_begin()->__next_ =
this->__create_node(/* next = */ __base::__before_begin()->__next_, std::forward<_Args>(__args)...);
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
return __base::__before_begin()->__next_->__get_value();
-# endif
+# endif
}
template <class _Tp, class _Alloc>
@@ -1073,7 +1076,7 @@ void forward_list<_Tp, _Alloc>::push_front(value_type&& __v) {
this->__create_node(/* next = */ __base::__before_begin()->__next_, std::move(__v));
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Tp, class _Alloc>
void forward_list<_Tp, _Alloc>::push_front(const value_type& __v) {
@@ -1087,7 +1090,7 @@ void forward_list<_Tp, _Alloc>::pop_front() {
this->__delete_node(__p);
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Tp, class _Alloc>
template <class... _Args>
@@ -1106,7 +1109,7 @@ forward_list<_Tp, _Alloc>::insert_after(const_iterator __p, value_type&& __v) {
return iterator(__r->__next_);
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Tp, class _Alloc>
typename forward_list<_Tp, _Alloc>::iterator
@@ -1123,13 +1126,13 @@ forward_list<_Tp, _Alloc>::insert_after(const_iterator __p, size_type __n, const
if (__n > 0) {
__node_pointer __first = this->__create_node(/* next = */ nullptr, __v);
__node_pointer __last = __first;
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
for (--__n; __n != 0; --__n, __last = __last->__next_) {
__last->__next_ = this->__create_node(/* next = */ nullptr, __v);
}
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
while (__first != nullptr) {
__node_pointer __next = __first->__next_;
@@ -1138,7 +1141,7 @@ forward_list<_Tp, _Alloc>::insert_after(const_iterator __p, size_type __n, const
}
throw;
}
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
__last->__next_ = __r->__next_;
__r->__next_ = __first;
__r = static_cast<__begin_node_pointer>(__last);
@@ -1163,13 +1166,13 @@ forward_list<_Tp, _Alloc>::__insert_after_with_sentinel(const_iterator __p, _Inp
__node_pointer __first = this->__create_node(/* next = */ nullptr, *__f);
__node_pointer __last = __first;
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
for (++__f; __f != __l; ++__f, ((void)(__last = __last->__next_))) {
__last->__next_ = this->__create_node(/* next = */ nullptr, *__f);
}
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
while (__first != nullptr) {
__node_pointer __next = __first->__next_;
@@ -1178,7 +1181,7 @@ forward_list<_Tp, _Alloc>::__insert_after_with_sentinel(const_iterator __p, _Inp
}
throw;
}
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
__last->__next_ = __r->__next_;
__r->__next_ = __first;
@@ -1484,7 +1487,7 @@ _LIBCPP_HIDE_FROM_ABI bool operator==(const forward_list<_Tp, _Alloc>& __x, cons
return (__ix == __ex) == (__iy == __ey);
}
-#if _LIBCPP_STD_VER <= 17
+# if _LIBCPP_STD_VER <= 17
template <class _Tp, class _Alloc>
inline _LIBCPP_HIDE_FROM_ABI bool
@@ -1516,7 +1519,7 @@ operator<=(const forward_list<_Tp, _Alloc>& __x, const forward_list<_Tp, _Alloc>
return !(__y < __x);
}
-#else // #if _LIBCPP_STD_VER <= 17
+# else // #if _LIBCPP_STD_VER <= 17
template <class _Tp, class _Allocator>
_LIBCPP_HIDE_FROM_ABI __synth_three_way_result<_Tp>
@@ -1524,7 +1527,7 @@ operator<=>(const forward_list<_Tp, _Allocator>& __x, const forward_list<_Tp, _A
return std::lexicographical_compare_three_way(__x.begin(), __x.end(), __y.begin(), __y.end(), std::__synth_three_way);
}
-#endif // #if _LIBCPP_STD_VER <= 17
+# endif // #if _LIBCPP_STD_VER <= 17
template <class _Tp, class _Alloc>
inline _LIBCPP_HIDE_FROM_ABI void swap(forward_list<_Tp, _Alloc>& __x, forward_list<_Tp, _Alloc>& __y)
@@ -1532,7 +1535,7 @@ inline _LIBCPP_HIDE_FROM_ABI void swap(forward_list<_Tp, _Alloc>& __x, forward_l
__x.swap(__y);
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _Tp, class _Allocator, class _Predicate>
inline _LIBCPP_HIDE_FROM_ABI typename forward_list<_Tp, _Allocator>::size_type
erase_if(forward_list<_Tp, _Allocator>& __c, _Predicate __pred) {
@@ -1544,7 +1547,7 @@ inline _LIBCPP_HIDE_FROM_ABI typename forward_list<_Tp, _Allocator>::size_type
erase(forward_list<_Tp, _Allocator>& __c, const _Up& __v) {
return std::erase_if(__c, [&](auto& __elem) { return __elem == __v; });
}
-#endif
+# endif
template <class _Tp, class _Allocator>
struct __container_traits<forward_list<_Tp, _Allocator> > {
@@ -1559,30 +1562,31 @@ struct __container_traits<forward_list<_Tp, _Allocator> > {
_LIBCPP_END_NAMESPACE_STD
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
_LIBCPP_BEGIN_NAMESPACE_STD
namespace pmr {
template <class _ValueT>
using forward_list _LIBCPP_AVAILABILITY_PMR = std::forward_list<_ValueT, polymorphic_allocator<_ValueT>>;
} // namespace pmr
_LIBCPP_END_NAMESPACE_STD
-#endif
+# endif
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <algorithm>
-# include <atomic>
-# include <concepts>
-# include <cstdint>
-# include <cstdlib>
-# include <cstring>
-# include <functional>
-# include <iosfwd>
-# include <iterator>
-# include <stdexcept>
-# include <type_traits>
-# include <typeinfo>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <algorithm>
+# include <atomic>
+# include <concepts>
+# include <cstdint>
+# include <cstdlib>
+# include <cstring>
+# include <functional>
+# include <iosfwd>
+# include <iterator>
+# include <stdexcept>
+# include <type_traits>
+# include <typeinfo>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_FORWARD_LIST
diff --git a/libcxx/include/fstream b/libcxx/include/fstream
index e188bfc9042a..f0e9425e0a53 100644
--- a/libcxx/include/fstream
+++ b/libcxx/include/fstream
@@ -186,46 +186,49 @@ typedef basic_fstream<wchar_t> wfstream;
*/
-#include <__algorithm/max.h>
-#include <__assert>
-#include <__config>
-#include <__filesystem/path.h>
-#include <__fwd/fstream.h>
-#include <__locale>
-#include <__memory/addressof.h>
-#include <__memory/unique_ptr.h>
-#include <__ostream/basic_ostream.h>
-#include <__type_traits/enable_if.h>
-#include <__type_traits/is_same.h>
-#include <__utility/move.h>
-#include <__utility/swap.h>
-#include <__utility/unreachable.h>
-#include <cstdio>
-#include <istream>
-#include <streambuf>
-#include <typeinfo>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/fstream>
+#else
+# include <__algorithm/max.h>
+# include <__assert>
+# include <__config>
+# include <__filesystem/path.h>
+# include <__fwd/fstream.h>
+# include <__locale>
+# include <__memory/addressof.h>
+# include <__memory/unique_ptr.h>
+# include <__ostream/basic_ostream.h>
+# include <__type_traits/enable_if.h>
+# include <__type_traits/is_same.h>
+# include <__utility/move.h>
+# include <__utility/swap.h>
+# include <__utility/unreachable.h>
+# include <cstdio>
+# include <istream>
+# include <streambuf>
+# include <typeinfo>
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
-#if !defined(_LIBCPP_MSVCRT) && !defined(_NEWLIB_VERSION)
-# define _LIBCPP_HAS_OFF_T_FUNCTIONS 1
-#else
-# define _LIBCPP_HAS_OFF_T_FUNCTIONS 0
-#endif
+# if !defined(_LIBCPP_MSVCRT) && !defined(_NEWLIB_VERSION)
+# define _LIBCPP_HAS_OFF_T_FUNCTIONS 1
+# else
+# define _LIBCPP_HAS_OFF_T_FUNCTIONS 0
+# endif
-#if _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION
+# if _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION
_LIBCPP_BEGIN_NAMESPACE_STD
-# if _LIBCPP_STD_VER >= 26 && defined(_LIBCPP_WIN32API)
+# if _LIBCPP_STD_VER >= 26 && defined(_LIBCPP_WIN32API)
_LIBCPP_EXPORTED_FROM_ABI void* __filebuf_windows_native_handle(FILE* __file) noexcept;
-# endif
+# endif
template <class _CharT, class _Traits>
class _LIBCPP_TEMPLATE_VIS basic_filebuf : public basic_streambuf<_CharT, _Traits> {
@@ -236,15 +239,15 @@ public:
typedef typename traits_type::pos_type pos_type;
typedef typename traits_type::off_type off_type;
typedef typename traits_type::state_type state_type;
-# if _LIBCPP_STD_VER >= 26
-# if defined(_LIBCPP_WIN32API)
+# if _LIBCPP_STD_VER >= 26
+# if defined(_LIBCPP_WIN32API)
using native_handle_type = void*; // HANDLE
-# elif __has_include(<unistd.h>)
+# elif __has_include(<unistd.h>)
using native_handle_type = int; // POSIX file descriptor
-# else
-# error "Provide a native file handle!"
+# else
+# error "Provide a native file handle!"
+# endif
# endif
-# endif
// 27.9.1.2 Constructors/destructor:
basic_filebuf();
@@ -258,36 +261,36 @@ public:
// 27.9.1.4 Members:
_LIBCPP_HIDE_FROM_ABI bool is_open() const;
basic_filebuf* open(const char* __s, ios_base::openmode __mode);
-# if _LIBCPP_HAS_OPEN_WITH_WCHAR
+# if _LIBCPP_HAS_OPEN_WITH_WCHAR
basic_filebuf* open(const wchar_t* __s, ios_base::openmode __mode);
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI basic_filebuf* open(const string& __s, ios_base::openmode __mode);
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
_LIBCPP_AVAILABILITY_FILESYSTEM_LIBRARY _LIBCPP_HIDE_FROM_ABI basic_filebuf*
open(const filesystem::path& __p, ios_base::openmode __mode) {
return open(__p.c_str(), __mode);
}
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI basic_filebuf* __open(int __fd, ios_base::openmode __mode);
basic_filebuf* close();
-# if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
_LIBCPP_HIDE_FROM_ABI native_handle_type native_handle() const noexcept {
_LIBCPP_ASSERT_UNCATEGORIZED(this->is_open(), "File must be opened");
-# if defined(_LIBCPP_WIN32API)
+# if defined(_LIBCPP_WIN32API)
return std::__filebuf_windows_native_handle(__file_);
-# elif __has_include(<unistd.h>)
+# elif __has_include(<unistd.h>)
return fileno(__file_);
-# else
-# error "Provide a way to determine the file native handle!"
-# endif
+# else
+# error "Provide a way to determine the file native handle!"
+# endif
}
-# endif // _LIBCPP_STD_VER >= 26
+# endif // _LIBCPP_STD_VER >= 26
_LIBCPP_HIDE_FROM_ABI inline static const char* __make_mdstring(ios_base::openmode __mode) _NOEXCEPT;
-# if _LIBCPP_HAS_OPEN_WITH_WCHAR
+# if _LIBCPP_HAS_OPEN_WITH_WCHAR
_LIBCPP_HIDE_FROM_ABI inline static const wchar_t* __make_mdwstring(ios_base::openmode __mode) _NOEXCEPT;
-# endif
+# endif
protected:
// 27.9.1.5 Overridden virtual functions:
@@ -489,14 +492,14 @@ inline basic_filebuf<_CharT, _Traits>& basic_filebuf<_CharT, _Traits>::operator=
template <class _CharT, class _Traits>
basic_filebuf<_CharT, _Traits>::~basic_filebuf() {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
close();
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
if (__owns_eb_)
delete[] __extbuf_;
if (__owns_ib_)
@@ -616,7 +619,7 @@ const char* basic_filebuf<_CharT, _Traits>::__make_mdstring(ios_base::openmode _
case ios_base::in | ios_base::out | ios_base::app | ios_base::binary:
case ios_base::in | ios_base::app | ios_base::binary:
return "a+b" _LIBCPP_FOPEN_CLOEXEC_MODE;
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
case ios_base::out | ios_base::noreplace:
case ios_base::out | ios_base::trunc | ios_base::noreplace:
return "wx" _LIBCPP_FOPEN_CLOEXEC_MODE;
@@ -627,14 +630,14 @@ const char* basic_filebuf<_CharT, _Traits>::__make_mdstring(ios_base::openmode _
return "wbx" _LIBCPP_FOPEN_CLOEXEC_MODE;
case ios_base::in | ios_base::out | ios_base::trunc | ios_base::binary | ios_base::noreplace:
return "w+bx" _LIBCPP_FOPEN_CLOEXEC_MODE;
-# endif // _LIBCPP_STD_VER >= 23
+# endif // _LIBCPP_STD_VER >= 23
default:
return nullptr;
}
__libcpp_unreachable();
}
-# if _LIBCPP_HAS_OPEN_WITH_WCHAR
+# if _LIBCPP_HAS_OPEN_WITH_WCHAR
template <class _CharT, class _Traits>
const wchar_t* basic_filebuf<_CharT, _Traits>::__make_mdwstring(ios_base::openmode __mode) _NOEXCEPT {
switch (__mode & ~ios_base::ate) {
@@ -668,7 +671,7 @@ const wchar_t* basic_filebuf<_CharT, _Traits>::__make_mdwstring(ios_base::openmo
case ios_base::in | ios_base::out | ios_base::app | ios_base::binary:
case ios_base::in | ios_base::app | ios_base::binary:
return L"a+b";
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
case ios_base::out | ios_base::noreplace:
case ios_base::out | ios_base::trunc | ios_base::noreplace:
return L"wx";
@@ -679,13 +682,13 @@ const wchar_t* basic_filebuf<_CharT, _Traits>::__make_mdwstring(ios_base::openmo
return L"wbx";
case ios_base::in | ios_base::out | ios_base::trunc | ios_base::binary | ios_base::noreplace:
return L"w+bx";
-# endif // _LIBCPP_STD_VER >= 23
+# endif // _LIBCPP_STD_VER >= 23
default:
return nullptr;
}
__libcpp_unreachable();
}
-# endif
+# endif
template <class _CharT, class _Traits>
basic_filebuf<_CharT, _Traits>* basic_filebuf<_CharT, _Traits>::open(const char* __s, ios_base::openmode __mode) {
@@ -709,7 +712,7 @@ inline basic_filebuf<_CharT, _Traits>* basic_filebuf<_CharT, _Traits>::__open(in
return __do_open(fdopen(__fd, __mdstr), __mode);
}
-# if _LIBCPP_HAS_OPEN_WITH_WCHAR
+# if _LIBCPP_HAS_OPEN_WITH_WCHAR
// This is basically the same as the char* overload except that it uses _wfopen
// and long mode strings.
template <class _CharT, class _Traits>
@@ -722,7 +725,7 @@ basic_filebuf<_CharT, _Traits>* basic_filebuf<_CharT, _Traits>::open(const wchar
return __do_open(_wfopen(__s, __mdstr), __mode);
}
-# endif
+# endif
template <class _CharT, class _Traits>
inline basic_filebuf<_CharT, _Traits>*
@@ -933,15 +936,15 @@ basic_filebuf<_CharT, _Traits>::seekoff(off_type __off, ios_base::seekdir __way,
default:
return pos_type(off_type(-1));
}
-# if !_LIBCPP_HAS_OFF_T_FUNCTIONS
+# if !_LIBCPP_HAS_OFF_T_FUNCTIONS
if (fseek(__file_, __width > 0 ? __width * __off : 0, __whence))
return pos_type(off_type(-1));
pos_type __r = ftell(__file_);
-# else
+# else
if (::fseeko(__file_, __width > 0 ? __width * __off : 0, __whence))
return pos_type(off_type(-1));
pos_type __r = ftello(__file_);
-# endif
+# endif
__r.state(__st_);
return __r;
}
@@ -951,13 +954,13 @@ typename basic_filebuf<_CharT, _Traits>::pos_type
basic_filebuf<_CharT, _Traits>::seekpos(pos_type __sp, ios_base::openmode) {
if (__file_ == nullptr || sync())
return pos_type(off_type(-1));
-# if !_LIBCPP_HAS_OFF_T_FUNCTIONS
+# if !_LIBCPP_HAS_OFF_T_FUNCTIONS
if (fseek(__file_, __sp, SEEK_SET))
return pos_type(off_type(-1));
-# else
+# else
if (::fseeko(__file_, __sp, SEEK_SET))
return pos_type(off_type(-1));
-# endif
+# endif
__st_ = __sp.state();
return __sp;
}
@@ -1004,13 +1007,13 @@ int basic_filebuf<_CharT, _Traits>::sync() {
}
}
}
-# if !_LIBCPP_HAS_OFF_T_FUNCTIONS
+# if !_LIBCPP_HAS_OFF_T_FUNCTIONS
if (fseek(__file_, -__c, SEEK_CUR))
return -1;
-# else
+# else
if (::fseeko(__file_, -__c, SEEK_CUR))
return -1;
-# endif
+# endif
if (__update_st)
__st_ = __state;
__extbufnext_ = __extbufend_ = __extbuf_;
@@ -1096,42 +1099,42 @@ public:
typedef typename traits_type::int_type int_type;
typedef typename traits_type::pos_type pos_type;
typedef typename traits_type::off_type off_type;
-# if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
using native_handle_type = typename basic_filebuf<_CharT, _Traits>::native_handle_type;
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI basic_ifstream();
_LIBCPP_HIDE_FROM_ABI explicit basic_ifstream(const char* __s, ios_base::openmode __mode = ios_base::in);
-# if _LIBCPP_HAS_OPEN_WITH_WCHAR
+# if _LIBCPP_HAS_OPEN_WITH_WCHAR
_LIBCPP_HIDE_FROM_ABI explicit basic_ifstream(const wchar_t* __s, ios_base::openmode __mode = ios_base::in);
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI explicit basic_ifstream(const string& __s, ios_base::openmode __mode = ios_base::in);
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _Tp, class = enable_if_t<is_same_v<_Tp, filesystem::path>>>
_LIBCPP_AVAILABILITY_FILESYSTEM_LIBRARY
_LIBCPP_HIDE_FROM_ABI explicit basic_ifstream(const _Tp& __p, ios_base::openmode __mode = ios_base::in)
: basic_ifstream(__p.c_str(), __mode) {}
-# endif // _LIBCPP_STD_VER >= 17
+# endif // _LIBCPP_STD_VER >= 17
_LIBCPP_HIDE_FROM_ABI basic_ifstream(basic_ifstream&& __rhs);
_LIBCPP_HIDE_FROM_ABI basic_ifstream& operator=(basic_ifstream&& __rhs);
_LIBCPP_HIDE_FROM_ABI void swap(basic_ifstream& __rhs);
_LIBCPP_HIDE_FROM_ABI basic_filebuf<char_type, traits_type>* rdbuf() const;
-# if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
_LIBCPP_HIDE_FROM_ABI native_handle_type native_handle() const noexcept { return rdbuf()->native_handle(); }
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI bool is_open() const;
void open(const char* __s, ios_base::openmode __mode = ios_base::in);
-# if _LIBCPP_HAS_OPEN_WITH_WCHAR
+# if _LIBCPP_HAS_OPEN_WITH_WCHAR
void open(const wchar_t* __s, ios_base::openmode __mode = ios_base::in);
-# endif
+# endif
void open(const string& __s, ios_base::openmode __mode = ios_base::in);
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
_LIBCPP_AVAILABILITY_FILESYSTEM_LIBRARY _LIBCPP_HIDE_FROM_ABI void
open(const filesystem::path& __p, ios_base::openmode __mode = ios_base::in) {
return open(__p.c_str(), __mode);
}
-# endif // _LIBCPP_STD_VER >= 17
+# endif // _LIBCPP_STD_VER >= 17
_LIBCPP_HIDE_FROM_ABI void __open(int __fd, ios_base::openmode __mode);
_LIBCPP_HIDE_FROM_ABI void close();
@@ -1151,14 +1154,14 @@ inline basic_ifstream<_CharT, _Traits>::basic_ifstream(const char* __s, ios_base
this->setstate(ios_base::failbit);
}
-# if _LIBCPP_HAS_OPEN_WITH_WCHAR
+# if _LIBCPP_HAS_OPEN_WITH_WCHAR
template <class _CharT, class _Traits>
inline basic_ifstream<_CharT, _Traits>::basic_ifstream(const wchar_t* __s, ios_base::openmode __mode)
: basic_istream<char_type, traits_type>(std::addressof(__sb_)) {
if (__sb_.open(__s, __mode | ios_base::in) == nullptr)
this->setstate(ios_base::failbit);
}
-# endif
+# endif
// extension
template <class _CharT, class _Traits>
@@ -1210,7 +1213,7 @@ void basic_ifstream<_CharT, _Traits>::open(const char* __s, ios_base::openmode _
this->setstate(ios_base::failbit);
}
-# if _LIBCPP_HAS_OPEN_WITH_WCHAR
+# if _LIBCPP_HAS_OPEN_WITH_WCHAR
template <class _CharT, class _Traits>
void basic_ifstream<_CharT, _Traits>::open(const wchar_t* __s, ios_base::openmode __mode) {
if (__sb_.open(__s, __mode | ios_base::in))
@@ -1218,7 +1221,7 @@ void basic_ifstream<_CharT, _Traits>::open(const wchar_t* __s, ios_base::openmod
else
this->setstate(ios_base::failbit);
}
-# endif
+# endif
template <class _CharT, class _Traits>
void basic_ifstream<_CharT, _Traits>::open(const string& __s, ios_base::openmode __mode) {
@@ -1252,45 +1255,45 @@ public:
typedef typename traits_type::int_type int_type;
typedef typename traits_type::pos_type pos_type;
typedef typename traits_type::off_type off_type;
-# if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
using native_handle_type = typename basic_filebuf<_CharT, _Traits>::native_handle_type;
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI basic_ofstream();
_LIBCPP_HIDE_FROM_ABI explicit basic_ofstream(const char* __s, ios_base::openmode __mode = ios_base::out);
-# if _LIBCPP_HAS_OPEN_WITH_WCHAR
+# if _LIBCPP_HAS_OPEN_WITH_WCHAR
_LIBCPP_HIDE_FROM_ABI explicit basic_ofstream(const wchar_t* __s, ios_base::openmode __mode = ios_base::out);
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI explicit basic_ofstream(const string& __s, ios_base::openmode __mode = ios_base::out);
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _Tp, class = enable_if_t<is_same_v<_Tp, filesystem::path>>>
_LIBCPP_AVAILABILITY_FILESYSTEM_LIBRARY
_LIBCPP_HIDE_FROM_ABI explicit basic_ofstream(const _Tp& __p, ios_base::openmode __mode = ios_base::out)
: basic_ofstream(__p.c_str(), __mode) {}
-# endif // _LIBCPP_STD_VER >= 17
+# endif // _LIBCPP_STD_VER >= 17
_LIBCPP_HIDE_FROM_ABI basic_ofstream(basic_ofstream&& __rhs);
_LIBCPP_HIDE_FROM_ABI basic_ofstream& operator=(basic_ofstream&& __rhs);
_LIBCPP_HIDE_FROM_ABI void swap(basic_ofstream& __rhs);
_LIBCPP_HIDE_FROM_ABI basic_filebuf<char_type, traits_type>* rdbuf() const;
-# if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
_LIBCPP_HIDE_FROM_ABI native_handle_type native_handle() const noexcept { return rdbuf()->native_handle(); }
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI bool is_open() const;
void open(const char* __s, ios_base::openmode __mode = ios_base::out);
-# if _LIBCPP_HAS_OPEN_WITH_WCHAR
+# if _LIBCPP_HAS_OPEN_WITH_WCHAR
void open(const wchar_t* __s, ios_base::openmode __mode = ios_base::out);
-# endif
+# endif
void open(const string& __s, ios_base::openmode __mode = ios_base::out);
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
_LIBCPP_AVAILABILITY_FILESYSTEM_LIBRARY _LIBCPP_HIDE_FROM_ABI void
open(const filesystem::path& __p, ios_base::openmode __mode = ios_base::out) {
return open(__p.c_str(), __mode);
}
-# endif // _LIBCPP_STD_VER >= 17
+# endif // _LIBCPP_STD_VER >= 17
_LIBCPP_HIDE_FROM_ABI void __open(int __fd, ios_base::openmode __mode);
_LIBCPP_HIDE_FROM_ABI void close();
@@ -1310,14 +1313,14 @@ inline basic_ofstream<_CharT, _Traits>::basic_ofstream(const char* __s, ios_base
this->setstate(ios_base::failbit);
}
-# if _LIBCPP_HAS_OPEN_WITH_WCHAR
+# if _LIBCPP_HAS_OPEN_WITH_WCHAR
template <class _CharT, class _Traits>
inline basic_ofstream<_CharT, _Traits>::basic_ofstream(const wchar_t* __s, ios_base::openmode __mode)
: basic_ostream<char_type, traits_type>(std::addressof(__sb_)) {
if (__sb_.open(__s, __mode | ios_base::out) == nullptr)
this->setstate(ios_base::failbit);
}
-# endif
+# endif
// extension
template <class _CharT, class _Traits>
@@ -1369,7 +1372,7 @@ void basic_ofstream<_CharT, _Traits>::open(const char* __s, ios_base::openmode _
this->setstate(ios_base::failbit);
}
-# if _LIBCPP_HAS_OPEN_WITH_WCHAR
+# if _LIBCPP_HAS_OPEN_WITH_WCHAR
template <class _CharT, class _Traits>
void basic_ofstream<_CharT, _Traits>::open(const wchar_t* __s, ios_base::openmode __mode) {
if (__sb_.open(__s, __mode | ios_base::out))
@@ -1377,7 +1380,7 @@ void basic_ofstream<_CharT, _Traits>::open(const wchar_t* __s, ios_base::openmod
else
this->setstate(ios_base::failbit);
}
-# endif
+# endif
template <class _CharT, class _Traits>
void basic_ofstream<_CharT, _Traits>::open(const string& __s, ios_base::openmode __mode) {
@@ -1411,26 +1414,26 @@ public:
typedef typename traits_type::int_type int_type;
typedef typename traits_type::pos_type pos_type;
typedef typename traits_type::off_type off_type;
-# if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
using native_handle_type = typename basic_filebuf<_CharT, _Traits>::native_handle_type;
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI basic_fstream();
_LIBCPP_HIDE_FROM_ABI explicit basic_fstream(const char* __s,
ios_base::openmode __mode = ios_base::in | ios_base::out);
-# if _LIBCPP_HAS_OPEN_WITH_WCHAR
+# if _LIBCPP_HAS_OPEN_WITH_WCHAR
_LIBCPP_HIDE_FROM_ABI explicit basic_fstream(const wchar_t* __s,
ios_base::openmode __mode = ios_base::in | ios_base::out);
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI explicit basic_fstream(const string& __s,
ios_base::openmode __mode = ios_base::in | ios_base::out);
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _Tp, class = enable_if_t<is_same_v<_Tp, filesystem::path>>>
_LIBCPP_AVAILABILITY_FILESYSTEM_LIBRARY _LIBCPP_HIDE_FROM_ABI explicit basic_fstream(
const _Tp& __p, ios_base::openmode __mode = ios_base::in | ios_base::out)
: basic_fstream(__p.c_str(), __mode) {}
-# endif // _LIBCPP_STD_VER >= 17
+# endif // _LIBCPP_STD_VER >= 17
_LIBCPP_HIDE_FROM_ABI basic_fstream(basic_fstream&& __rhs);
@@ -1439,22 +1442,22 @@ public:
_LIBCPP_HIDE_FROM_ABI void swap(basic_fstream& __rhs);
_LIBCPP_HIDE_FROM_ABI basic_filebuf<char_type, traits_type>* rdbuf() const;
-# if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
_LIBCPP_HIDE_FROM_ABI native_handle_type native_handle() const noexcept { return rdbuf()->native_handle(); }
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI bool is_open() const;
_LIBCPP_HIDE_FROM_ABI void open(const char* __s, ios_base::openmode __mode = ios_base::in | ios_base::out);
-# if _LIBCPP_HAS_OPEN_WITH_WCHAR
+# if _LIBCPP_HAS_OPEN_WITH_WCHAR
void open(const wchar_t* __s, ios_base::openmode __mode = ios_base::in | ios_base::out);
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI void open(const string& __s, ios_base::openmode __mode = ios_base::in | ios_base::out);
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
_LIBCPP_AVAILABILITY_FILESYSTEM_LIBRARY _LIBCPP_HIDE_FROM_ABI void
open(const filesystem::path& __p, ios_base::openmode __mode = ios_base::in | ios_base::out) {
return open(__p.c_str(), __mode);
}
-# endif // _LIBCPP_STD_VER >= 17
+# endif // _LIBCPP_STD_VER >= 17
_LIBCPP_HIDE_FROM_ABI void close();
@@ -1473,14 +1476,14 @@ inline basic_fstream<_CharT, _Traits>::basic_fstream(const char* __s, ios_base::
this->setstate(ios_base::failbit);
}
-# if _LIBCPP_HAS_OPEN_WITH_WCHAR
+# if _LIBCPP_HAS_OPEN_WITH_WCHAR
template <class _CharT, class _Traits>
inline basic_fstream<_CharT, _Traits>::basic_fstream(const wchar_t* __s, ios_base::openmode __mode)
: basic_iostream<char_type, traits_type>(std::addressof(__sb_)) {
if (__sb_.open(__s, __mode) == nullptr)
this->setstate(ios_base::failbit);
}
-# endif
+# endif
template <class _CharT, class _Traits>
inline basic_fstream<_CharT, _Traits>::basic_fstream(const string& __s, ios_base::openmode __mode)
@@ -1532,7 +1535,7 @@ void basic_fstream<_CharT, _Traits>::open(const char* __s, ios_base::openmode __
this->setstate(ios_base::failbit);
}
-# if _LIBCPP_HAS_OPEN_WITH_WCHAR
+# if _LIBCPP_HAS_OPEN_WITH_WCHAR
template <class _CharT, class _Traits>
void basic_fstream<_CharT, _Traits>::open(const wchar_t* __s, ios_base::openmode __mode) {
if (__sb_.open(__s, __mode))
@@ -1540,7 +1543,7 @@ void basic_fstream<_CharT, _Traits>::open(const wchar_t* __s, ios_base::openmode
else
this->setstate(ios_base::failbit);
}
-# endif
+# endif
template <class _CharT, class _Traits>
void basic_fstream<_CharT, _Traits>::open(const string& __s, ios_base::openmode __mode) {
@@ -1556,32 +1559,33 @@ inline void basic_fstream<_CharT, _Traits>::close() {
this->setstate(ios_base::failbit);
}
-# if _LIBCPP_AVAILABILITY_HAS_ADDITIONAL_IOSTREAM_EXPLICIT_INSTANTIATIONS_1
+# if _LIBCPP_AVAILABILITY_HAS_ADDITIONAL_IOSTREAM_EXPLICIT_INSTANTIATIONS_1
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_ifstream<char>;
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_ofstream<char>;
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_filebuf<char>;
-# endif
+# endif
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION
+# endif // _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <atomic>
-# include <concepts>
-# include <cstdlib>
-# include <iosfwd>
-# include <limits>
-# include <mutex>
-# include <new>
-# include <stdexcept>
-# include <type_traits>
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 23
-# include <filesystem>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
+# include <concepts>
+# include <cstdlib>
+# include <iosfwd>
+# include <limits>
+# include <mutex>
+# include <new>
+# include <stdexcept>
+# include <type_traits>
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 23
+# include <filesystem>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_FSTREAM
diff --git a/libcxx/include/functional b/libcxx/include/functional
index 55b50eea84b7..4bb163fd1f33 100644
--- a/libcxx/include/functional
+++ b/libcxx/include/functional
@@ -527,72 +527,76 @@ POLICY: For non-variadic implementations, the number of arguments is limited
*/
-#include <__config>
-
-#include <__functional/binary_function.h>
-#include <__functional/binary_negate.h>
-#include <__functional/bind.h>
-#include <__functional/binder1st.h>
-#include <__functional/binder2nd.h>
-#include <__functional/hash.h>
-#include <__functional/mem_fn.h> // TODO: deprecate
-#include <__functional/mem_fun_ref.h>
-#include <__functional/operations.h>
-#include <__functional/pointer_to_binary_function.h>
-#include <__functional/pointer_to_unary_function.h>
-#include <__functional/reference_wrapper.h>
-#include <__functional/unary_function.h>
-#include <__functional/unary_negate.h>
-
-#ifndef _LIBCPP_CXX03_LANG
-# include <__functional/function.h>
-#endif
-
-#if _LIBCPP_STD_VER >= 17
-# include <__functional/boyer_moore_searcher.h>
-# include <__functional/default_searcher.h>
-# include <__functional/invoke.h>
-# include <__functional/not_fn.h>
-#endif
-
-#if _LIBCPP_STD_VER >= 20
-# include <__functional/bind_back.h>
-# include <__functional/bind_front.h>
-# include <__functional/identity.h>
-# include <__functional/ranges_operations.h>
-# include <__type_traits/unwrap_ref.h>
-#endif
-
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && defined(_LIBCPP_CXX03_LANG)
-# include <limits>
-# include <new>
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 14
-# include <array>
-# include <initializer_list>
-# include <unordered_map>
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <atomic>
-# include <concepts>
-# include <cstdlib>
-# include <exception>
-# include <iosfwd>
-# include <memory>
-# include <stdexcept>
-# include <tuple>
-# include <type_traits>
-# include <typeinfo>
-# include <utility>
-# include <vector>
-#endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/functional>
+#else
+# include <__config>
+
+# include <__functional/binary_function.h>
+# include <__functional/binary_negate.h>
+# include <__functional/bind.h>
+# include <__functional/binder1st.h>
+# include <__functional/binder2nd.h>
+# include <__functional/hash.h>
+# include <__functional/mem_fn.h> // TODO: deprecate
+# include <__functional/mem_fun_ref.h>
+# include <__functional/operations.h>
+# include <__functional/pointer_to_binary_function.h>
+# include <__functional/pointer_to_unary_function.h>
+# include <__functional/reference_wrapper.h>
+# include <__functional/unary_function.h>
+# include <__functional/unary_negate.h>
+
+# ifndef _LIBCPP_CXX03_LANG
+# include <__functional/function.h>
+# endif
+
+# if _LIBCPP_STD_VER >= 17
+# include <__functional/boyer_moore_searcher.h>
+# include <__functional/default_searcher.h>
+# include <__functional/invoke.h>
+# include <__functional/not_fn.h>
+# endif
+
+# if _LIBCPP_STD_VER >= 20
+# include <__functional/bind_back.h>
+# include <__functional/bind_front.h>
+# include <__functional/identity.h>
+# include <__functional/ranges_operations.h>
+# include <__type_traits/unwrap_ref.h>
+# endif
+
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && defined(_LIBCPP_CXX03_LANG)
+# include <limits>
+# include <new>
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 14
+# include <array>
+# include <initializer_list>
+# include <unordered_map>
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
+# include <concepts>
+# include <cstdlib>
+# include <exception>
+# include <iosfwd>
+# include <memory>
+# include <stdexcept>
+# include <tuple>
+# include <type_traits>
+# include <typeinfo>
+# include <utility>
+# include <vector>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_FUNCTIONAL
diff --git a/libcxx/include/future b/libcxx/include/future
index 5b2e9eed88e3..95a51fa425e4 100644
--- a/libcxx/include/future
+++ b/libcxx/include/future
@@ -362,59 +362,62 @@ template <class R, class Alloc> struct uses_allocator<packaged_task<R>, Alloc>;
*/
-#include <__config>
-
-#if _LIBCPP_HAS_THREADS
-
-# include <__assert>
-# include <__chrono/duration.h>
-# include <__chrono/steady_clock.h>
-# include <__chrono/time_point.h>
-# include <__condition_variable/condition_variable.h>
-# include <__exception/exception_ptr.h>
-# include <__memory/addressof.h>
-# include <__memory/allocator.h>
-# include <__memory/allocator_arg_t.h>
-# include <__memory/allocator_destructor.h>
-# include <__memory/allocator_traits.h>
-# include <__memory/compressed_pair.h>
-# include <__memory/pointer_traits.h>
-# include <__memory/shared_count.h>
-# include <__memory/unique_ptr.h>
-# include <__memory/uses_allocator.h>
-# include <__mutex/lock_guard.h>
-# include <__mutex/mutex.h>
-# include <__mutex/unique_lock.h>
-# include <__system_error/error_category.h>
-# include <__system_error/error_code.h>
-# include <__system_error/error_condition.h>
-# include <__thread/thread.h>
-# include <__type_traits/add_lvalue_reference.h>
-# include <__type_traits/aligned_storage.h>
-# include <__type_traits/conditional.h>
-# include <__type_traits/decay.h>
-# include <__type_traits/enable_if.h>
-# include <__type_traits/invoke.h>
-# include <__type_traits/is_same.h>
-# include <__type_traits/remove_cvref.h>
-# include <__type_traits/remove_reference.h>
-# include <__type_traits/strip_signature.h>
-# include <__type_traits/underlying_type.h>
-# include <__utility/auto_cast.h>
-# include <__utility/forward.h>
-# include <__utility/move.h>
-# include <__utility/swap.h>
-# include <new>
-# include <stdexcept>
-# include <tuple>
-# include <version>
-
-# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-# endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/future>
+#else
+# include <__config>
+
+# if _LIBCPP_HAS_THREADS
+
+# include <__assert>
+# include <__chrono/duration.h>
+# include <__chrono/steady_clock.h>
+# include <__chrono/time_point.h>
+# include <__condition_variable/condition_variable.h>
+# include <__cstddef/nullptr_t.h>
+# include <__exception/exception_ptr.h>
+# include <__memory/addressof.h>
+# include <__memory/allocator.h>
+# include <__memory/allocator_arg_t.h>
+# include <__memory/allocator_destructor.h>
+# include <__memory/allocator_traits.h>
+# include <__memory/compressed_pair.h>
+# include <__memory/pointer_traits.h>
+# include <__memory/shared_count.h>
+# include <__memory/unique_ptr.h>
+# include <__memory/uses_allocator.h>
+# include <__mutex/lock_guard.h>
+# include <__mutex/mutex.h>
+# include <__mutex/unique_lock.h>
+# include <__system_error/error_category.h>
+# include <__system_error/error_code.h>
+# include <__system_error/error_condition.h>
+# include <__thread/thread.h>
+# include <__type_traits/add_lvalue_reference.h>
+# include <__type_traits/aligned_storage.h>
+# include <__type_traits/conditional.h>
+# include <__type_traits/decay.h>
+# include <__type_traits/enable_if.h>
+# include <__type_traits/invoke.h>
+# include <__type_traits/is_same.h>
+# include <__type_traits/remove_cvref.h>
+# include <__type_traits/remove_reference.h>
+# include <__type_traits/strip_signature.h>
+# include <__type_traits/underlying_type.h>
+# include <__utility/auto_cast.h>
+# include <__utility/forward.h>
+# include <__utility/move.h>
+# include <__utility/swap.h>
+# include <stdexcept>
+# include <tuple>
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
_LIBCPP_PUSH_MACROS
-# include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -426,16 +429,16 @@ _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(future_errc)
template <>
struct _LIBCPP_TEMPLATE_VIS is_error_code_enum<future_errc> : public true_type {};
-# ifdef _LIBCPP_CXX03_LANG
+# ifdef _LIBCPP_CXX03_LANG
template <>
struct _LIBCPP_TEMPLATE_VIS is_error_code_enum<future_errc::__lx> : public true_type {};
-# endif
+# endif
// enum class launch
_LIBCPP_DECLARE_STRONG_ENUM(launch){async = 1, deferred = 2, any = async | deferred};
_LIBCPP_DECLARE_STRONG_ENUM_EPILOG(launch)
-# ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
typedef underlying_type<launch>::type __launch_underlying_type;
@@ -470,7 +473,7 @@ inline _LIBCPP_HIDE_FROM_ABI launch& operator^=(launch& __x, launch __y) {
return __x;
}
-# endif // !_LIBCPP_CXX03_LANG
+# endif // !_LIBCPP_CXX03_LANG
// enum class future_status
_LIBCPP_DECLARE_STRONG_ENUM(future_status){ready, timeout, deferred};
@@ -497,9 +500,9 @@ class _LIBCPP_EXPORTED_FROM_ABI future_error : public logic_error {
friend class promise;
public:
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
_LIBCPP_HIDE_FROM_ABI explicit future_error(future_errc __ec) : future_error(std::make_error_code(__ec)) {}
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI const error_code& code() const _NOEXCEPT { return __ec_; }
@@ -509,12 +512,12 @@ public:
// Declared above std::future_error
void __throw_future_error(future_errc __ev) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
throw future_error(make_error_code(__ev));
-# else
+# else
(void)__ev;
_LIBCPP_VERBOSE_ABORT("future_error was thrown in -fno-exceptions mode");
-# endif
+# endif
}
class _LIBCPP_EXPORTED_FROM_ABI __assoc_sub_state : public __shared_count {
@@ -788,15 +791,15 @@ inline __deferred_assoc_state<_Rp, _Fp>::__deferred_assoc_state(_Fp&& __f) : __f
template <class _Rp, class _Fp>
void __deferred_assoc_state<_Rp, _Fp>::__execute() {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
this->set_value(__func_());
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
this->set_exception(current_exception());
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
}
template <class _Fp>
@@ -818,16 +821,16 @@ inline __deferred_assoc_state<void, _Fp>::__deferred_assoc_state(_Fp&& __f) : __
template <class _Fp>
void __deferred_assoc_state<void, _Fp>::__execute() {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
__func_();
this->set_value();
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
this->set_exception(current_exception());
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
}
template <class _Rp, class _Fp>
@@ -849,15 +852,15 @@ inline __async_assoc_state<_Rp, _Fp>::__async_assoc_state(_Fp&& __f) : __func_(s
template <class _Rp, class _Fp>
void __async_assoc_state<_Rp, _Fp>::__execute() {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
this->set_value(__func_());
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
this->set_exception(current_exception());
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
}
template <class _Rp, class _Fp>
@@ -885,16 +888,16 @@ inline __async_assoc_state<void, _Fp>::__async_assoc_state(_Fp&& __f) : __func_(
template <class _Fp>
void __async_assoc_state<void, _Fp>::__execute() {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
__func_();
this->set_value();
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
this->set_exception(current_exception());
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
}
template <class _Fp>
@@ -1622,11 +1625,11 @@ public:
template <class _Fp, __enable_if_t<!is_same<__remove_cvref_t<_Fp>, packaged_task>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI explicit packaged_task(_Fp&& __f) : __f_(std::forward<_Fp>(__f)) {}
-# if _LIBCPP_STD_VER <= 14
+# if _LIBCPP_STD_VER <= 14
template <class _Fp, class _Allocator, __enable_if_t<!is_same<__remove_cvref_t<_Fp>, packaged_task>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI packaged_task(allocator_arg_t, const _Allocator& __a, _Fp&& __f)
: __f_(allocator_arg_t(), __a, std::forward<_Fp>(__f)), __p_(allocator_arg_t(), __a) {}
-# endif
+# endif
// ~packaged_task() = default;
// no copy
@@ -1665,15 +1668,15 @@ void packaged_task<_Rp(_ArgTypes...)>::operator()(_ArgTypes... __args) {
__throw_future_error(future_errc::no_state);
if (__p_.__state_->__has_value())
__throw_future_error(future_errc::promise_already_satisfied);
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
__p_.set_value(__f_(std::forward<_ArgTypes>(__args)...));
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__p_.set_exception(current_exception());
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
}
template <class _Rp, class... _ArgTypes>
@@ -1682,15 +1685,15 @@ void packaged_task<_Rp(_ArgTypes...)>::make_ready_at_thread_exit(_ArgTypes... __
__throw_future_error(future_errc::no_state);
if (__p_.__state_->__has_value())
__throw_future_error(future_errc::promise_already_satisfied);
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
__p_.set_value_at_thread_exit(__f_(std::forward<_ArgTypes>(__args)...));
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__p_.set_exception_at_thread_exit(current_exception());
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
}
template <class _Rp, class... _ArgTypes>
@@ -1714,11 +1717,11 @@ public:
_LIBCPP_HIDE_FROM_ABI packaged_task() _NOEXCEPT : __p_(nullptr) {}
template <class _Fp, __enable_if_t<!is_same<__remove_cvref_t<_Fp>, packaged_task>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI explicit packaged_task(_Fp&& __f) : __f_(std::forward<_Fp>(__f)) {}
-# if _LIBCPP_STD_VER <= 14
+# if _LIBCPP_STD_VER <= 14
template <class _Fp, class _Allocator, __enable_if_t<!is_same<__remove_cvref_t<_Fp>, packaged_task>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI packaged_task(allocator_arg_t, const _Allocator& __a, _Fp&& __f)
: __f_(allocator_arg_t(), __a, std::forward<_Fp>(__f)), __p_(allocator_arg_t(), __a) {}
-# endif
+# endif
// ~packaged_task() = default;
// no copy
@@ -1751,7 +1754,7 @@ public:
_LIBCPP_HIDE_FROM_ABI void reset();
};
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _Rp, class... _Args>
packaged_task(_Rp (*)(_Args...)) -> packaged_task<_Rp(_Args...)>;
@@ -1759,7 +1762,7 @@ packaged_task(_Rp (*)(_Args...)) -> packaged_task<_Rp(_Args...)>;
template <class _Fp, class _Stripped = typename __strip_signature<decltype(&_Fp::operator())>::type>
packaged_task(_Fp) -> packaged_task<_Stripped>;
-# endif
+# endif
template <class... _ArgTypes>
void packaged_task<void(_ArgTypes...)>::operator()(_ArgTypes... __args) {
@@ -1767,16 +1770,16 @@ void packaged_task<void(_ArgTypes...)>::operator()(_ArgTypes... __args) {
__throw_future_error(future_errc::no_state);
if (__p_.__state_->__has_value())
__throw_future_error(future_errc::promise_already_satisfied);
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
__f_(std::forward<_ArgTypes>(__args)...);
__p_.set_value();
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__p_.set_exception(current_exception());
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
}
template <class... _ArgTypes>
@@ -1785,16 +1788,16 @@ void packaged_task<void(_ArgTypes...)>::make_ready_at_thread_exit(_ArgTypes... _
__throw_future_error(future_errc::no_state);
if (__p_.__state_->__has_value())
__throw_future_error(future_errc::promise_already_satisfied);
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
__f_(std::forward<_ArgTypes>(__args)...);
__p_.set_value_at_thread_exit();
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__p_.set_exception_at_thread_exit(current_exception());
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
}
template <class... _ArgTypes>
@@ -1810,10 +1813,10 @@ swap(packaged_task<_Rp(_ArgTypes...)>& __x, packaged_task<_Rp(_ArgTypes...)>& __
__x.swap(__y);
}
-# if _LIBCPP_STD_VER <= 14
+# if _LIBCPP_STD_VER <= 14
template <class _Callable, class _Alloc>
struct _LIBCPP_TEMPLATE_VIS uses_allocator<packaged_task<_Callable>, _Alloc> : public true_type {};
-# endif
+# endif
template <class _Rp, class _Fp>
_LIBCPP_HIDE_FROM_ABI future<_Rp> __make_deferred_assoc_state(_Fp&& __f) {
@@ -1830,7 +1833,7 @@ _LIBCPP_HIDE_FROM_ABI future<_Rp> __make_async_assoc_state(_Fp&& __f) {
return future<_Rp>(__h.get());
}
-# ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Fp, class... _Args>
class _LIBCPP_HIDDEN __async_func {
@@ -1866,18 +1869,18 @@ async(launch __policy, _Fp&& __f, _Args&&... __args) {
typedef __async_func<__decay_t<_Fp>, __decay_t<_Args>...> _BF;
typedef typename _BF::_Rp _Rp;
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif
+# endif
if (__does_policy_contain(__policy, launch::async))
return std::__make_async_assoc_state<_Rp>(
_BF(_LIBCPP_AUTO_CAST(std::forward<_Fp>(__f)), _LIBCPP_AUTO_CAST(std::forward<_Args>(__args))...));
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
if (__policy == launch::async)
throw;
}
-# endif
+# endif
if (__does_policy_contain(__policy, launch::deferred))
return std::__make_deferred_assoc_state<_Rp>(
@@ -1891,7 +1894,7 @@ async(_Fp&& __f, _Args&&... __args) {
return std::async(launch::any, std::forward<_Fp>(__f), std::forward<_Args>(__args)...);
}
-# endif // C++03
+# endif // C++03
// shared_future
@@ -2068,19 +2071,20 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP_HAS_THREADS
+# endif // _LIBCPP_HAS_THREADS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 17
-# include <chrono>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 17
+# include <chrono>
+# endif
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <atomic>
-# include <cstdlib>
-# include <exception>
-# include <iosfwd>
-# include <system_error>
-# include <thread>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
+# include <cstdlib>
+# include <exception>
+# include <iosfwd>
+# include <system_error>
+# include <thread>
+# endif
+#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 8b9325069c12..07c51f32fee7 100644
--- a/libcxx/include/initializer_list
+++ b/libcxx/include/initializer_list
@@ -42,18 +42,21 @@ template<class E> const E* end(initializer_list<E> il) noexcept; // constexpr in
*/
-#include <__config>
-#include <__cstddef/size_t.h>
-#include <version>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/initializer_list>
+#else
+# include <__config>
+# include <__cstddef/size_t.h>
+# include <version>
-#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
namespace std // purposefully not versioned
{
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Ep>
class _LIBCPP_TEMPLATE_VIS initializer_list {
@@ -92,12 +95,13 @@ inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 const _Ep* end(initia
return __il.end();
}
-#endif // !defined(_LIBCPP_CXX03_LANG)
+# endif // !defined(_LIBCPP_CXX03_LANG)
} // namespace std
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstddef>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstddef>
+# endif
+#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 8664412bd52f..1869284550e9 100644
--- a/libcxx/include/inttypes.h
+++ b/libcxx/include/inttypes.h
@@ -235,30 +235,34 @@ uintmax_t wcstoumax(const wchar_t* restrict nptr, wchar_t** restrict endptr, int
*/
-#include <__config>
+#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)
-# pragma GCC system_header
-#endif
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
/* C99 stdlib (e.g. glibc < 2.18) does not provide format macros needed
for C++11 unless __STDC_FORMAT_MACROS is defined
*/
-#if defined(__cplusplus) && !defined(__STDC_FORMAT_MACROS)
-# define __STDC_FORMAT_MACROS
-#endif
+# if defined(__cplusplus) && !defined(__STDC_FORMAT_MACROS)
+# define __STDC_FORMAT_MACROS
+# endif
-#if __has_include_next(<inttypes.h>)
-# include_next <inttypes.h>
-#endif
+# if __has_include_next(<inttypes.h>)
+# include_next <inttypes.h>
+# endif
-#ifdef __cplusplus
+# ifdef __cplusplus
-# include <stdint.h>
+# include <stdint.h>
-# undef imaxabs
-# undef imaxdiv
+# undef imaxabs
+# undef imaxdiv
-#endif // __cplusplus
+# endif // __cplusplus
+#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 6118f8fb5b41..a97b4a94d232 100644
--- a/libcxx/include/iomanip
+++ b/libcxx/include/iomanip
@@ -42,19 +42,22 @@ template <class charT, class traits, class Allocator>
*/
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/iomanip>
+#else
+# include <__config>
-#if _LIBCPP_HAS_LOCALIZATION
+# if _LIBCPP_HAS_LOCALIZATION
-# include <__ostream/put_character_sequence.h>
-# include <ios>
-# include <iosfwd>
-# include <locale>
-# include <version>
+# include <__ostream/put_character_sequence.h>
+# include <ios>
+# include <iosfwd>
+# include <locale>
+# include <version>
-# 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
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -237,9 +240,9 @@ public:
template <class _CharT, class _Traits, class _MoneyT>
_LIBCPP_HIDE_FROM_ABI basic_istream<_CharT, _Traits>&
operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t7<_MoneyT>& __x) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
typename basic_istream<_CharT, _Traits>::sentry __s(__is);
if (__s) {
typedef istreambuf_iterator<_CharT, _Traits> _Ip;
@@ -249,11 +252,11 @@ operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t7<_MoneyT>& __x) {
__mf.get(_Ip(__is), _Ip(), __x.__intl_, __is, __err, __x.__mon_);
__is.setstate(__err);
}
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__is.__set_badbit_and_consider_rethrow();
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
return __is;
}
@@ -286,9 +289,9 @@ public:
template <class _CharT, class _Traits, class _MoneyT>
_LIBCPP_HIDE_FROM_ABI basic_ostream<_CharT, _Traits>&
operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t8<_MoneyT>& __x) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
typename basic_ostream<_CharT, _Traits>::sentry __s(__os);
if (__s) {
typedef ostreambuf_iterator<_CharT, _Traits> _Op;
@@ -297,11 +300,11 @@ operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t8<_MoneyT>& __x) {
if (__mf.put(_Op(__os), __x.__intl_, __os, __os.fill(), __x.__mon_).failed())
__os.setstate(ios_base::badbit);
}
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__os.__set_badbit_and_consider_rethrow();
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
return __os;
}
@@ -334,9 +337,9 @@ public:
template <class _CharT, class _Traits>
_LIBCPP_HIDE_FROM_ABI basic_istream<_CharT, _Traits>&
operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t9<_CharT>& __x) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
typename basic_istream<_CharT, _Traits>::sentry __s(__is);
if (__s) {
typedef istreambuf_iterator<_CharT, _Traits> _Ip;
@@ -346,11 +349,11 @@ operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t9<_CharT>& __x) {
__tf.get(_Ip(__is), _Ip(), __is, __err, __x.__tm_, __x.__fmt_, __x.__fmt_ + _Traits::length(__x.__fmt_));
__is.setstate(__err);
}
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__is.__set_badbit_and_consider_rethrow();
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
return __is;
}
@@ -383,9 +386,9 @@ public:
template <class _CharT, class _Traits>
_LIBCPP_HIDE_FROM_ABI basic_ostream<_CharT, _Traits>&
operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t10<_CharT>& __x) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
typename basic_ostream<_CharT, _Traits>::sentry __s(__os);
if (__s) {
typedef ostreambuf_iterator<_CharT, _Traits> _Op;
@@ -395,11 +398,11 @@ operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t10<_CharT>& __x) {
.failed())
__os.setstate(ios_base::badbit);
}
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__os.__set_badbit_and_consider_rethrow();
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
return __os;
}
@@ -511,7 +514,7 @@ __quoted(basic_string<_CharT, _Traits, _Allocator>& __s, _CharT __delim = _CharT
return __quoted_proxy<_CharT, _Traits, _Allocator>(__s, __delim, __escape);
}
-# if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <class _CharT>
_LIBCPP_HIDE_FROM_ABI auto quoted(const _CharT* __s, _CharT __delim = _CharT('"'), _CharT __escape = _CharT('\\')) {
@@ -541,25 +544,26 @@ quoted(basic_string_view<_CharT, _Traits> __sv, _CharT __delim = _CharT('"'), _C
return __quoted_output_proxy<_CharT, _Traits>(__sv.data(), __sv.data() + __sv.size(), __delim, __escape);
}
-# endif // _LIBCPP_STD_VER >= 14
+# endif // _LIBCPP_STD_VER >= 14
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_HAS_LOCALIZATION
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <array>
-# include <bitset>
-# include <deque>
-# include <format>
-# include <functional>
-# include <istream>
-# include <ostream>
-# include <print>
-# include <queue>
-# include <stack>
-# include <unordered_map>
-# include <vector>
-#endif
+# endif // _LIBCPP_HAS_LOCALIZATION
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <array>
+# include <bitset>
+# include <deque>
+# include <format>
+# include <functional>
+# include <istream>
+# include <ostream>
+# include <print>
+# include <queue>
+# include <stack>
+# include <unordered_map>
+# include <vector>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_IOMANIP
diff --git a/libcxx/include/ios b/libcxx/include/ios
index 2eb32f296aaf..7c2ee83d4624 100644
--- a/libcxx/include/ios
+++ b/libcxx/include/ios
@@ -211,37 +211,40 @@ storage-class-specifier const error_category& iostream_category() noexcept;
*/
-#include <__config>
-
-#if _LIBCPP_HAS_LOCALIZATION
-
-# include <__fwd/ios.h>
-# include <__ios/fpos.h>
-# include <__locale>
-# include <__memory/addressof.h>
-# include <__system_error/error_category.h>
-# include <__system_error/error_code.h>
-# include <__system_error/error_condition.h>
-# include <__system_error/system_error.h>
-# include <__utility/swap.h>
-# include <__verbose_abort>
-# include <version>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/ios>
+#else
+# include <__config>
+
+# if _LIBCPP_HAS_LOCALIZATION
+
+# include <__fwd/ios.h>
+# include <__ios/fpos.h>
+# include <__locale>
+# include <__memory/addressof.h>
+# include <__system_error/error_category.h>
+# include <__system_error/error_code.h>
+# include <__system_error/error_condition.h>
+# include <__system_error/system_error.h>
+# include <__utility/swap.h>
+# include <__verbose_abort>
+# include <version>
// standard-mandated includes
// [ios.syn]
-# include <iosfwd>
+# include <iosfwd>
-# if _LIBCPP_HAS_ATOMIC_HEADER
-# include <__atomic/atomic.h> // for __xindex_
-# endif
+# if _LIBCPP_HAS_ATOMIC_HEADER
+# include <__atomic/atomic.h> // for __xindex_
+# endif
-# 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
_LIBCPP_PUSH_MACROS
-# include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -284,20 +287,20 @@ public:
static const openmode in = 0x08;
static const openmode out = 0x10;
static const openmode trunc = 0x20;
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
static const openmode noreplace = 0x40;
-# endif
+# endif
enum seekdir { beg, cur, end };
-# if _LIBCPP_STD_VER <= 14
+# if _LIBCPP_STD_VER <= 14
typedef iostate io_state;
typedef openmode open_mode;
typedef seekdir seek_dir;
typedef std::streamoff streamoff;
typedef std::streampos streampos;
-# endif
+# endif
class _LIBCPP_EXPORTED_FROM_ABI Init;
@@ -397,11 +400,11 @@ private:
size_t __event_cap_;
// TODO(EricWF): Enable this for both Clang and GCC. Currently it is only
// enabled with clang.
-# if _LIBCPP_HAS_C_ATOMIC_IMP && _LIBCPP_HAS_THREADS
+# if _LIBCPP_HAS_C_ATOMIC_IMP && _LIBCPP_HAS_THREADS
static atomic<int> __xindex_;
-# else
+# else
static int __xindex_;
-# endif
+# endif
long* __iarray_;
size_t __iarray_size_;
size_t __iarray_cap_;
@@ -417,10 +420,10 @@ _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(io_errc)
template <>
struct _LIBCPP_TEMPLATE_VIS is_error_code_enum<io_errc> : public true_type {};
-# ifdef _LIBCPP_CXX03_LANG
+# ifdef _LIBCPP_CXX03_LANG
template <>
struct _LIBCPP_TEMPLATE_VIS is_error_code_enum<io_errc::__lx> : public true_type {};
-# endif
+# endif
_LIBCPP_EXPORTED_FROM_ABI const error_category& iostream_category() _NOEXCEPT;
@@ -441,11 +444,11 @@ public:
};
[[__noreturn__]] inline _LIBCPP_HIDE_FROM_ABI void __throw_failure(char const* __msg) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
throw ios_base::failure(__msg);
-# else
+# else
_LIBCPP_VERBOSE_ABORT("ios_base::failure was thrown in -fno-exceptions mode with message \"%s\"", __msg);
-# endif
+# endif
}
class _LIBCPP_EXPORTED_FROM_ABI ios_base::Init {
@@ -569,13 +572,13 @@ public:
static_assert(is_same<_CharT, typename traits_type::char_type>::value,
"traits_type::char_type must be the same type as CharT");
-# ifdef _LIBCPP_CXX03_LANG
+# ifdef _LIBCPP_CXX03_LANG
// Preserve the ability to compare with literal 0,
// and implicitly convert to bool, but not implicitly convert to int.
_LIBCPP_HIDE_FROM_ABI operator void*() const { return fail() ? nullptr : (void*)this; }
-# else
+# else
_LIBCPP_HIDE_FROM_ABI explicit operator bool() const { return !fail(); }
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI bool operator!() const { return fail(); }
_LIBCPP_HIDE_FROM_ABI iostate rdstate() const { return ios_base::rdstate(); }
@@ -625,11 +628,11 @@ protected:
private:
basic_ostream<char_type, traits_type>* __tie_;
-# if defined(_LIBCPP_ABI_IOS_ALLOW_ARBITRARY_FILL_VALUE)
+# if defined(_LIBCPP_ABI_IOS_ALLOW_ARBITRARY_FILL_VALUE)
using _FillType = _FillHelper<traits_type>;
-# else
+# else
using _FillType = _SentinelValueFill<traits_type>;
-# endif
+# endif
mutable _FillType __fill_;
};
@@ -744,9 +747,9 @@ inline _LIBCPP_HIDE_FROM_ABI void basic_ios<_CharT, _Traits>::set_rdbuf(basic_st
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_ios<char>;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_ios<wchar_t>;
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI inline ios_base& boolalpha(ios_base& __str) {
__str.setf(ios_base::boolalpha);
@@ -872,22 +875,23 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP_HAS_LOCALIZATION
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <atomic>
-# include <concepts>
-# include <cstddef>
-# include <cstdlib>
-# include <cstring>
-# include <initializer_list>
-# include <limits>
-# include <mutex>
-# include <new>
-# include <stdexcept>
-# include <system_error>
-# include <type_traits>
-# include <typeinfo>
-#endif
+# endif // _LIBCPP_HAS_LOCALIZATION
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
+# include <concepts>
+# include <cstddef>
+# include <cstdlib>
+# include <cstring>
+# include <initializer_list>
+# include <limits>
+# include <mutex>
+# include <new>
+# include <stdexcept>
+# include <system_error>
+# include <type_traits>
+# include <typeinfo>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_IOS
diff --git a/libcxx/include/iosfwd b/libcxx/include/iosfwd
index 5e777c6b2373..708134daf98c 100644
--- a/libcxx/include/iosfwd
+++ b/libcxx/include/iosfwd
@@ -105,21 +105,24 @@ using wosyncstream = basic_osyncstream<wchar_t>; // C++20
*/
-#include <__config>
-#include <__fwd/fstream.h>
-#include <__fwd/ios.h>
-#include <__fwd/istream.h>
-#include <__fwd/memory.h>
-#include <__fwd/ostream.h>
-#include <__fwd/sstream.h>
-#include <__fwd/streambuf.h>
-#include <__fwd/string.h>
-#include <__std_mbstate_t.h>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/iosfwd>
+#else
+# include <__config>
+# include <__fwd/fstream.h>
+# include <__fwd/ios.h>
+# include <__fwd/istream.h>
+# include <__fwd/memory.h>
+# include <__fwd/ostream.h>
+# include <__fwd/sstream.h>
+# include <__fwd/streambuf.h>
+# include <__fwd/string.h>
+# include <__std_mbstate_t.h>
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -131,34 +134,34 @@ class _LIBCPP_TEMPLATE_VIS ostreambuf_iterator;
template <class _State>
class _LIBCPP_TEMPLATE_VIS fpos;
typedef fpos<mbstate_t> streampos;
-#if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
typedef fpos<mbstate_t> wstreampos;
-#endif
-#if _LIBCPP_HAS_CHAR8_T
+# endif
+# if _LIBCPP_HAS_CHAR8_T
typedef fpos<mbstate_t> u8streampos;
-#endif
+# endif
typedef fpos<mbstate_t> u16streampos;
typedef fpos<mbstate_t> u32streampos;
-#if _LIBCPP_STD_VER >= 20 && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)
+# if _LIBCPP_STD_VER >= 20 && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)
template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT>>
class basic_syncbuf;
using syncbuf = basic_syncbuf<char>;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
using wsyncbuf = basic_syncbuf<wchar_t>;
-# endif
+# endif
template <class _CharT, class _Traits = char_traits<_CharT>, class _Allocator = allocator<_CharT>>
class basic_osyncstream;
using osyncstream = basic_osyncstream<char>;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
using wosyncstream = basic_osyncstream<wchar_t>;
-# endif
+# endif
-#endif // _LIBCPP_STD_VER >= 20 && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)
+# endif // _LIBCPP_STD_VER >= 20 && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)
template <class _CharT, class _Traits>
class __save_flags {
@@ -183,4 +186,6 @@ public:
_LIBCPP_END_NAMESPACE_STD
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+
#endif // _LIBCPP_IOSFWD
diff --git a/libcxx/include/iostream b/libcxx/include/iostream
index d3ecc6c551fd..0e83f0002ae6 100644
--- a/libcxx/include/iostream
+++ b/libcxx/include/iostream
@@ -33,20 +33,23 @@ extern wostream wclog;
*/
-#include <__config>
-#include <version>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/iostream>
+#else
+# include <__config>
+# include <version>
// standard-mandated includes
// [iostream.syn]
-#include <ios>
-#include <istream>
-#include <ostream>
-#include <streambuf>
+# include <ios>
+# include <istream>
+# include <ostream>
+# include <streambuf>
-#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
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -55,13 +58,15 @@ extern _LIBCPP_EXPORTED_FROM_ABI ostream cout;
extern _LIBCPP_EXPORTED_FROM_ABI ostream cerr;
extern _LIBCPP_EXPORTED_FROM_ABI ostream clog;
-#if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
extern _LIBCPP_EXPORTED_FROM_ABI wistream wcin;
extern _LIBCPP_EXPORTED_FROM_ABI wostream wcout;
extern _LIBCPP_EXPORTED_FROM_ABI wostream wcerr;
extern _LIBCPP_EXPORTED_FROM_ABI wostream wclog;
-#endif
+# endif
_LIBCPP_END_NAMESPACE_STD
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+
#endif // _LIBCPP_IOSTREAM
diff --git a/libcxx/include/istream b/libcxx/include/istream
index 0d6d6880f8aa..4b177c41cc32 100644
--- a/libcxx/include/istream
+++ b/libcxx/include/istream
@@ -158,30 +158,33 @@ template <class Stream, class T>
*/
-#include <__config>
-
-#if _LIBCPP_HAS_LOCALIZATION
-
-# include <__fwd/istream.h>
-# include <__iterator/istreambuf_iterator.h>
-# include <__ostream/basic_ostream.h>
-# include <__type_traits/conjunction.h>
-# include <__type_traits/enable_if.h>
-# include <__type_traits/is_base_of.h>
-# include <__type_traits/make_unsigned.h>
-# include <__utility/declval.h>
-# include <__utility/forward.h>
-# include <bitset>
-# include <ios>
-# include <locale>
-# include <version>
-
-# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-# endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/istream>
+#else
+# include <__config>
+
+# if _LIBCPP_HAS_LOCALIZATION
+
+# include <__fwd/istream.h>
+# include <__iterator/istreambuf_iterator.h>
+# include <__ostream/basic_ostream.h>
+# include <__type_traits/conjunction.h>
+# include <__type_traits/enable_if.h>
+# include <__type_traits/is_base_of.h>
+# include <__type_traits/make_unsigned.h>
+# include <__utility/declval.h>
+# include <__utility/forward.h>
+# include <bitset>
+# include <ios>
+# include <locale>
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
_LIBCPP_PUSH_MACROS
-# include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -357,13 +360,13 @@ __input_arithmetic(basic_istream<_CharT, _Traits>& __is, _Tp& __n) {
ios_base::iostate __state = ios_base::goodbit;
typename basic_istream<_CharT, _Traits>::sentry __s(__is);
if (__s) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
typedef istreambuf_iterator<_CharT, _Traits> _Ip;
typedef num_get<_CharT, _Ip> _Fp;
std::use_facet<_Fp>(__is.getloc()).get(_Ip(__is), _Ip(), __is, __state, __n);
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__state |= ios_base::badbit;
__is.__setstate_nothrow(__state);
@@ -371,7 +374,7 @@ __input_arithmetic(basic_istream<_CharT, _Traits>& __is, _Tp& __n) {
throw;
}
}
-# endif
+# endif
__is.setstate(__state);
}
return __is;
@@ -438,9 +441,9 @@ __input_arithmetic_with_numeric_limits(basic_istream<_CharT, _Traits>& __is, _Tp
ios_base::iostate __state = ios_base::goodbit;
typename basic_istream<_CharT, _Traits>::sentry __s(__is);
if (__s) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
typedef istreambuf_iterator<_CharT, _Traits> _Ip;
typedef num_get<_CharT, _Ip> _Fp;
long __temp;
@@ -454,7 +457,7 @@ __input_arithmetic_with_numeric_limits(basic_istream<_CharT, _Traits>& __is, _Tp
} else {
__n = static_cast<_Tp>(__temp);
}
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__state |= ios_base::badbit;
__is.__setstate_nothrow(__state);
@@ -462,7 +465,7 @@ __input_arithmetic_with_numeric_limits(basic_istream<_CharT, _Traits>& __is, _Tp
throw;
}
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
__is.setstate(__state);
}
return __is;
@@ -484,9 +487,9 @@ __input_c_string(basic_istream<_CharT, _Traits>& __is, _CharT* __p, size_t __n)
ios_base::iostate __state = ios_base::goodbit;
typename basic_istream<_CharT, _Traits>::sentry __sen(__is);
if (__sen) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif
+# endif
_CharT* __s = __p;
const ctype<_CharT>& __ct = std::use_facet<ctype<_CharT> >(__is.getloc());
while (__s != __p + (__n - 1)) {
@@ -505,7 +508,7 @@ __input_c_string(basic_istream<_CharT, _Traits>& __is, _CharT* __p, size_t __n)
__is.width(0);
if (__s == __p)
__state |= ios_base::failbit;
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__state |= ios_base::badbit;
__is.__setstate_nothrow(__state);
@@ -513,13 +516,13 @@ __input_c_string(basic_istream<_CharT, _Traits>& __is, _CharT* __p, size_t __n)
throw;
}
}
-# endif
+# endif
__is.setstate(__state);
}
return __is;
}
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _CharT, class _Traits, size_t _Np>
inline _LIBCPP_HIDE_FROM_ABI basic_istream<_CharT, _Traits>&
@@ -542,7 +545,7 @@ operator>>(basic_istream<char, _Traits>& __is, signed char (&__buf)[_Np]) {
return __is >> (char(&)[_Np])__buf;
}
-# else
+# else
template <class _CharT, class _Traits>
inline _LIBCPP_HIDE_FROM_ABI basic_istream<_CharT, _Traits>&
@@ -565,22 +568,22 @@ operator>>(basic_istream<char, _Traits>& __is, signed char* __s) {
return __is >> (char*)__s;
}
-# endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
template <class _CharT, class _Traits>
_LIBCPP_HIDE_FROM_ABI basic_istream<_CharT, _Traits>& operator>>(basic_istream<_CharT, _Traits>& __is, _CharT& __c) {
ios_base::iostate __state = ios_base::goodbit;
typename basic_istream<_CharT, _Traits>::sentry __sen(__is);
if (__sen) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif
+# endif
typename _Traits::int_type __i = __is.rdbuf()->sbumpc();
if (_Traits::eq_int_type(__i, _Traits::eof()))
__state |= ios_base::eofbit | ios_base::failbit;
else
__c = _Traits::to_char_type(__i);
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__state |= ios_base::badbit;
__is.__setstate_nothrow(__state);
@@ -588,7 +591,7 @@ _LIBCPP_HIDE_FROM_ABI basic_istream<_CharT, _Traits>& operator>>(basic_istream<_
throw;
}
}
-# endif
+# endif
__is.setstate(__state);
}
return __is;
@@ -614,9 +617,9 @@ basic_istream<_CharT, _Traits>::operator>>(basic_streambuf<char_type, traits_typ
sentry __s(*this, true);
if (__s) {
if (__sb) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
while (true) {
typename traits_type::int_type __i = this->rdbuf()->sgetc();
if (traits_type::eq_int_type(__i, _Traits::eof())) {
@@ -630,7 +633,7 @@ basic_istream<_CharT, _Traits>::operator>>(basic_streambuf<char_type, traits_typ
}
if (__gc_ == 0)
__state |= ios_base::failbit;
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__state |= ios_base::badbit;
if (__gc_ == 0)
@@ -641,7 +644,7 @@ basic_istream<_CharT, _Traits>::operator>>(basic_streambuf<char_type, traits_typ
throw;
}
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
} else {
__state |= ios_base::failbit;
}
@@ -657,22 +660,22 @@ typename basic_istream<_CharT, _Traits>::int_type basic_istream<_CharT, _Traits>
int_type __r = traits_type::eof();
sentry __s(*this, true);
if (__s) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif
+# endif
__r = this->rdbuf()->sbumpc();
if (traits_type::eq_int_type(__r, traits_type::eof()))
__state |= ios_base::failbit | ios_base::eofbit;
else
__gc_ = 1;
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
this->__setstate_nothrow(this->rdstate() | ios_base::badbit);
if (this->exceptions() & ios_base::badbit) {
throw;
}
}
-# endif
+# endif
this->setstate(__state);
}
return __r;
@@ -685,9 +688,9 @@ basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::get(char_type* _
sentry __sen(*this, true);
if (__sen) {
if (__n > 0) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif
+# endif
while (__gc_ < __n - 1) {
int_type __i = this->rdbuf()->sgetc();
if (traits_type::eq_int_type(__i, traits_type::eof())) {
@@ -703,7 +706,7 @@ basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::get(char_type* _
}
if (__gc_ == 0)
__state |= ios_base::failbit;
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__state |= ios_base::badbit;
this->__setstate_nothrow(__state);
@@ -713,7 +716,7 @@ basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::get(char_type* _
throw;
}
}
-# endif
+# endif
} else {
__state |= ios_base::failbit;
}
@@ -734,9 +737,9 @@ basic_istream<_CharT, _Traits>::get(basic_streambuf<char_type, traits_type>& __s
__gc_ = 0;
sentry __sen(*this, true);
if (__sen) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
while (true) {
typename traits_type::int_type __i = this->rdbuf()->sgetc();
if (traits_type::eq_int_type(__i, traits_type::eof())) {
@@ -751,12 +754,12 @@ basic_istream<_CharT, _Traits>::get(basic_streambuf<char_type, traits_type>& __s
__inc_gcount();
this->rdbuf()->sbumpc();
}
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__state |= ios_base::badbit;
// according to the spec, exceptions here are caught but not rethrown
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
if (__gc_ == 0)
__state |= ios_base::failbit;
this->setstate(__state);
@@ -771,9 +774,9 @@ basic_istream<_CharT, _Traits>::getline(char_type* __s, streamsize __n, char_typ
__gc_ = 0;
sentry __sen(*this, true);
if (__sen) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
while (true) {
typename traits_type::int_type __i = this->rdbuf()->sgetc();
if (traits_type::eq_int_type(__i, traits_type::eof())) {
@@ -794,7 +797,7 @@ basic_istream<_CharT, _Traits>::getline(char_type* __s, streamsize __n, char_typ
this->rdbuf()->sbumpc();
__inc_gcount();
}
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__state |= ios_base::badbit;
this->__setstate_nothrow(__state);
@@ -806,7 +809,7 @@ basic_istream<_CharT, _Traits>::getline(char_type* __s, streamsize __n, char_typ
throw;
}
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
}
if (__n > 0)
*__s = char_type();
@@ -822,9 +825,9 @@ basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::ignore(streamsiz
__gc_ = 0;
sentry __sen(*this, true);
if (__sen) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
if (__n == numeric_limits<streamsize>::max()) {
while (true) {
typename traits_type::int_type __i = this->rdbuf()->sbumpc();
@@ -848,7 +851,7 @@ basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::ignore(streamsiz
break;
}
}
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__state |= ios_base::badbit;
this->__setstate_nothrow(__state);
@@ -856,7 +859,7 @@ basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::ignore(streamsiz
throw;
}
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
this->setstate(__state);
}
return *this;
@@ -869,13 +872,13 @@ typename basic_istream<_CharT, _Traits>::int_type basic_istream<_CharT, _Traits>
int_type __r = traits_type::eof();
sentry __sen(*this, true);
if (__sen) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
__r = this->rdbuf()->sgetc();
if (traits_type::eq_int_type(__r, traits_type::eof()))
__state |= ios_base::eofbit;
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__state |= ios_base::badbit;
this->__setstate_nothrow(__state);
@@ -883,7 +886,7 @@ typename basic_istream<_CharT, _Traits>::int_type basic_istream<_CharT, _Traits>
throw;
}
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
this->setstate(__state);
}
return __r;
@@ -895,13 +898,13 @@ basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::read(char_type*
__gc_ = 0;
sentry __sen(*this, true);
if (__sen) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
__gc_ = this->rdbuf()->sgetn(__s, __n);
if (__gc_ != __n)
__state |= ios_base::failbit | ios_base::eofbit;
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__state |= ios_base::badbit;
this->__setstate_nothrow(__state);
@@ -909,7 +912,7 @@ basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::read(char_type*
throw;
}
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
} else {
__state |= ios_base::failbit;
}
@@ -923,9 +926,9 @@ streamsize basic_istream<_CharT, _Traits>::readsome(char_type* __s, streamsize _
__gc_ = 0;
sentry __sen(*this, true);
if (__sen) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
streamsize __c = this->rdbuf()->in_avail();
switch (__c) {
case -1:
@@ -940,7 +943,7 @@ streamsize basic_istream<_CharT, _Traits>::readsome(char_type* __s, streamsize _
__state |= ios_base::failbit | ios_base::eofbit;
break;
}
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__state |= ios_base::badbit;
this->__setstate_nothrow(__state);
@@ -948,7 +951,7 @@ streamsize basic_istream<_CharT, _Traits>::readsome(char_type* __s, streamsize _
throw;
}
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
} else {
__state |= ios_base::failbit;
}
@@ -963,12 +966,12 @@ basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::putback(char_typ
this->clear(__state);
sentry __sen(*this, true);
if (__sen) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
if (this->rdbuf() == nullptr || this->rdbuf()->sputbackc(__c) == traits_type::eof())
__state |= ios_base::badbit;
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__state |= ios_base::badbit;
this->__setstate_nothrow(__state);
@@ -976,7 +979,7 @@ basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::putback(char_typ
throw;
}
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
} else {
__state |= ios_base::failbit;
}
@@ -991,12 +994,12 @@ basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::unget() {
this->clear(__state);
sentry __sen(*this, true);
if (__sen) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
if (this->rdbuf() == nullptr || this->rdbuf()->sungetc() == traits_type::eof())
__state |= ios_base::badbit;
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__state |= ios_base::badbit;
this->__setstate_nothrow(__state);
@@ -1004,7 +1007,7 @@ basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::unget() {
throw;
}
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
} else {
__state |= ios_base::failbit;
}
@@ -1021,14 +1024,14 @@ int basic_istream<_CharT, _Traits>::sync() {
int __r = 0;
if (__sen) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
if (this->rdbuf()->pubsync() == -1) {
__state |= ios_base::badbit;
__r = -1;
}
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__state |= ios_base::badbit;
this->__setstate_nothrow(__state);
@@ -1036,7 +1039,7 @@ int basic_istream<_CharT, _Traits>::sync() {
throw;
}
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
this->setstate(__state);
}
return __r;
@@ -1048,11 +1051,11 @@ typename basic_istream<_CharT, _Traits>::pos_type basic_istream<_CharT, _Traits>
pos_type __r(-1);
sentry __sen(*this, true);
if (__sen) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
__r = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::in);
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__state |= ios_base::badbit;
this->__setstate_nothrow(__state);
@@ -1060,7 +1063,7 @@ typename basic_istream<_CharT, _Traits>::pos_type basic_istream<_CharT, _Traits>
throw;
}
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
this->setstate(__state);
}
return __r;
@@ -1072,12 +1075,12 @@ basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::seekg(pos_type _
this->clear(__state);
sentry __sen(*this, true);
if (__sen) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
if (this->rdbuf()->pubseekpos(__pos, ios_base::in) == pos_type(-1))
__state |= ios_base::failbit;
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__state |= ios_base::badbit;
this->__setstate_nothrow(__state);
@@ -1085,7 +1088,7 @@ basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::seekg(pos_type _
throw;
}
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
this->setstate(__state);
}
return *this;
@@ -1097,12 +1100,12 @@ basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::seekg(off_type _
this->clear(__state);
sentry __sen(*this, true);
if (__sen) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
if (this->rdbuf()->pubseekoff(__off, __dir, ios_base::in) == pos_type(-1))
__state |= ios_base::failbit;
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__state |= ios_base::badbit;
this->__setstate_nothrow(__state);
@@ -1110,7 +1113,7 @@ basic_istream<_CharT, _Traits>& basic_istream<_CharT, _Traits>::seekg(off_type _
throw;
}
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
this->setstate(__state);
}
return *this;
@@ -1121,9 +1124,9 @@ _LIBCPP_HIDE_FROM_ABI basic_istream<_CharT, _Traits>& ws(basic_istream<_CharT, _
ios_base::iostate __state = ios_base::goodbit;
typename basic_istream<_CharT, _Traits>::sentry __sen(__is, true);
if (__sen) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
const ctype<_CharT>& __ct = std::use_facet<ctype<_CharT> >(__is.getloc());
while (true) {
typename _Traits::int_type __i = __is.rdbuf()->sgetc();
@@ -1135,7 +1138,7 @@ _LIBCPP_HIDE_FROM_ABI basic_istream<_CharT, _Traits>& ws(basic_istream<_CharT, _
break;
__is.rdbuf()->sbumpc();
}
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__state |= ios_base::badbit;
__is.__setstate_nothrow(__state);
@@ -1143,7 +1146,7 @@ _LIBCPP_HIDE_FROM_ABI basic_istream<_CharT, _Traits>& ws(basic_istream<_CharT, _
throw;
}
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
__is.setstate(__state);
}
return __is;
@@ -1211,9 +1214,9 @@ operator>>(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _
ios_base::iostate __state = ios_base::goodbit;
typename basic_istream<_CharT, _Traits>::sentry __sen(__is);
if (__sen) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif
+# endif
__str.clear();
using _Size = typename basic_string<_CharT, _Traits, _Allocator>::size_type;
streamsize const __width = __is.width();
@@ -1243,7 +1246,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _
__is.width(0);
if (__c == 0)
__state |= ios_base::failbit;
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__state |= ios_base::badbit;
__is.__setstate_nothrow(__state);
@@ -1251,7 +1254,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _
throw;
}
}
-# endif
+# endif
__is.setstate(__state);
}
return __is;
@@ -1263,9 +1266,9 @@ getline(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _All
ios_base::iostate __state = ios_base::goodbit;
typename basic_istream<_CharT, _Traits>::sentry __sen(__is, true);
if (__sen) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif
+# endif
__str.clear();
streamsize __extr = 0;
while (true) {
@@ -1286,7 +1289,7 @@ getline(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _All
}
if (__extr == 0)
__state |= ios_base::failbit;
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__state |= ios_base::badbit;
__is.__setstate_nothrow(__state);
@@ -1294,7 +1297,7 @@ getline(basic_istream<_CharT, _Traits>& __is, basic_string<_CharT, _Traits, _All
throw;
}
}
-# endif
+# endif
__is.setstate(__state);
}
return __is;
@@ -1324,9 +1327,9 @@ operator>>(basic_istream<_CharT, _Traits>& __is, bitset<_Size>& __x) {
ios_base::iostate __state = ios_base::goodbit;
typename basic_istream<_CharT, _Traits>::sentry __sen(__is);
if (__sen) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif
+# endif
basic_string<_CharT, _Traits> __str;
const ctype<_CharT>& __ct = std::use_facet<ctype<_CharT> >(__is.getloc());
size_t __c = 0;
@@ -1348,7 +1351,7 @@ operator>>(basic_istream<_CharT, _Traits>& __is, bitset<_Size>& __x) {
__x = bitset<_Size>(__str);
if (_Size > 0 && __c == 0)
__state |= ios_base::failbit;
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__state |= ios_base::badbit;
__is.__setstate_nothrow(__state);
@@ -1356,29 +1359,31 @@ operator>>(basic_istream<_CharT, _Traits>& __is, bitset<_Size>& __x) {
throw;
}
}
-# endif
+# endif
__is.setstate(__state);
}
return __is;
}
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_istream<char>;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_istream<wchar_t>;
-# endif
+# endif
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_iostream<char>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_HAS_LOCALIZATION
+# endif // _LIBCPP_HAS_LOCALIZATION
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <concepts>
-# include <iosfwd>
-# include <ostream>
-# include <type_traits>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
+# include <iosfwd>
+# include <ostream>
+# include <type_traits>
+# endif
_LIBCPP_POP_MACROS
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+
#endif // _LIBCPP_ISTREAM
diff --git a/libcxx/include/iterator b/libcxx/include/iterator
index 63fbae220b60..74ee712b945b 100644
--- a/libcxx/include/iterator
+++ b/libcxx/include/iterator
@@ -679,77 +679,81 @@ template <class E> constexpr const E* data(initializer_list<E> il) noexcept;
*/
-#include <__config>
-#include <__iterator/access.h>
-#include <__iterator/advance.h>
-#include <__iterator/back_insert_iterator.h>
-#include <__iterator/distance.h>
-#include <__iterator/front_insert_iterator.h>
-#include <__iterator/insert_iterator.h>
-#include <__iterator/istream_iterator.h>
-#include <__iterator/istreambuf_iterator.h>
-#include <__iterator/iterator.h>
-#include <__iterator/iterator_traits.h>
-#include <__iterator/move_iterator.h>
-#include <__iterator/next.h>
-#include <__iterator/ostream_iterator.h>
-#include <__iterator/ostreambuf_iterator.h>
-#include <__iterator/prev.h>
-#include <__iterator/reverse_iterator.h>
-#include <__iterator/wrap_iter.h>
-
-#if _LIBCPP_STD_VER >= 14
-# include <__iterator/reverse_access.h>
-#endif
-
-#if _LIBCPP_STD_VER >= 17
-# include <__iterator/data.h>
-# include <__iterator/empty.h>
-# include <__iterator/size.h>
-#endif
-
-#if _LIBCPP_STD_VER >= 20
-# include <__iterator/common_iterator.h>
-# include <__iterator/concepts.h>
-# include <__iterator/counted_iterator.h>
-# include <__iterator/default_sentinel.h>
-# include <__iterator/incrementable_traits.h>
-# include <__iterator/indirectly_comparable.h>
-# include <__iterator/iter_move.h>
-# include <__iterator/iter_swap.h>
-# include <__iterator/mergeable.h>
-# include <__iterator/move_sentinel.h>
-# include <__iterator/permutable.h>
-# include <__iterator/projected.h>
-# include <__iterator/readable_traits.h>
-# include <__iterator/sortable.h>
-# include <__iterator/unreachable_sentinel.h>
-#endif
-
-#include <version>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/iterator>
+#else
+# include <__config>
+# include <__iterator/access.h>
+# include <__iterator/advance.h>
+# include <__iterator/back_insert_iterator.h>
+# include <__iterator/distance.h>
+# include <__iterator/front_insert_iterator.h>
+# include <__iterator/insert_iterator.h>
+# include <__iterator/istream_iterator.h>
+# include <__iterator/istreambuf_iterator.h>
+# include <__iterator/iterator.h>
+# include <__iterator/iterator_traits.h>
+# include <__iterator/move_iterator.h>
+# include <__iterator/next.h>
+# include <__iterator/ostream_iterator.h>
+# include <__iterator/ostreambuf_iterator.h>
+# include <__iterator/prev.h>
+# include <__iterator/reverse_iterator.h>
+# include <__iterator/wrap_iter.h>
+
+# if _LIBCPP_STD_VER >= 14
+# include <__iterator/reverse_access.h>
+# endif
+
+# if _LIBCPP_STD_VER >= 17
+# include <__iterator/data.h>
+# include <__iterator/empty.h>
+# include <__iterator/size.h>
+# endif
+
+# if _LIBCPP_STD_VER >= 20
+# include <__iterator/common_iterator.h>
+# include <__iterator/concepts.h>
+# include <__iterator/counted_iterator.h>
+# include <__iterator/default_sentinel.h>
+# include <__iterator/incrementable_traits.h>
+# include <__iterator/indirectly_comparable.h>
+# include <__iterator/iter_move.h>
+# include <__iterator/iter_swap.h>
+# include <__iterator/mergeable.h>
+# include <__iterator/move_sentinel.h>
+# include <__iterator/permutable.h>
+# include <__iterator/projected.h>
+# include <__iterator/readable_traits.h>
+# include <__iterator/sortable.h>
+# include <__iterator/unreachable_sentinel.h>
+# endif
+
+# include <version>
// standard-mandated includes
// [iterator.synopsis]
-#include <compare>
-#include <concepts>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 17
-# include <variant>
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstddef>
-# include <cstdlib>
-# include <exception>
-# include <new>
-# include <type_traits>
-# include <typeinfo>
-# include <utility>
-#endif
+# include <compare>
+# include <concepts>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 17
+# include <variant>
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstddef>
+# include <cstdlib>
+# include <exception>
+# include <new>
+# include <type_traits>
+# include <typeinfo>
+# include <utility>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_ITERATOR
diff --git a/libcxx/include/latch b/libcxx/include/latch
index e0909b68918b..471ef143e8d5 100644
--- a/libcxx/include/latch
+++ b/libcxx/include/latch
@@ -40,26 +40,29 @@ namespace std
*/
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/latch>
+#else
+# include <__config>
-#if _LIBCPP_HAS_THREADS
+# if _LIBCPP_HAS_THREADS
-# include <__assert>
-# include <__atomic/atomic.h>
-# include <__atomic/atomic_sync.h>
-# include <__atomic/memory_order.h>
-# include <__cstddef/ptrdiff_t.h>
-# include <limits>
-# include <version>
+# include <__assert>
+# include <__atomic/atomic.h>
+# include <__atomic/atomic_sync.h>
+# include <__atomic/memory_order.h>
+# include <__cstddef/ptrdiff_t.h>
+# include <limits>
+# include <version>
-# 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
_LIBCPP_PUSH_MACROS
-# include <__undef_macros>
+# include <__undef_macros>
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -117,15 +120,16 @@ private:
_LIBCPP_END_NAMESPACE_STD
-# endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_POP_MACROS
-#endif // _LIBCPP_HAS_THREADS
+# endif // _LIBCPP_HAS_THREADS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <atomic>
-# include <cstddef>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
+# include <cstddef>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_LATCH
diff --git a/libcxx/include/limits b/libcxx/include/limits
index da0a92d7daff..1c1a0b29b718 100644
--- a/libcxx/include/limits
+++ b/libcxx/include/limits
@@ -102,18 +102,21 @@ template<> class numeric_limits<cv long double>;
*/
-#include <__config>
-#include <__type_traits/is_arithmetic.h>
-#include <__type_traits/is_signed.h>
-#include <__type_traits/remove_cv.h>
+#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>
+# include <__type_traits/remove_cv.h>
-#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
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
-#include <version>
+# include <__undef_macros>
+# include <version>
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -227,11 +230,11 @@ protected:
static _LIBCPP_CONSTEXPR const bool is_bounded = true;
static _LIBCPP_CONSTEXPR const bool is_modulo = !std::is_signed<_Tp>::value;
-#if defined(__i386__) || defined(__x86_64__) || defined(__pnacl__) || defined(__wasm__)
+# if defined(__i386__) || defined(__x86_64__) || defined(__pnacl__) || defined(__wasm__)
static _LIBCPP_CONSTEXPR const bool traps = true;
-#else
+# else
static _LIBCPP_CONSTEXPR const bool traps = false;
-#endif
+# endif
static _LIBCPP_CONSTEXPR const bool tinyness_before = false;
static _LIBCPP_CONSTEXPR const float_round_style round_style = round_toward_zero;
};
@@ -332,11 +335,11 @@ protected:
static _LIBCPP_CONSTEXPR const bool is_modulo = false;
static _LIBCPP_CONSTEXPR const bool traps = false;
-#if (defined(__arm__) || defined(__aarch64__))
+# if (defined(__arm__) || defined(__aarch64__))
static _LIBCPP_CONSTEXPR const bool tinyness_before = true;
-#else
+# else
static _LIBCPP_CONSTEXPR const bool tinyness_before = false;
-#endif
+# endif
static _LIBCPP_CONSTEXPR const float_round_style round_style = round_to_nearest;
};
@@ -389,11 +392,11 @@ protected:
static _LIBCPP_CONSTEXPR const bool is_modulo = false;
static _LIBCPP_CONSTEXPR const bool traps = false;
-#if (defined(__arm__) || defined(__aarch64__))
+# if (defined(__arm__) || defined(__aarch64__))
static _LIBCPP_CONSTEXPR const bool tinyness_before = true;
-#else
+# else
static _LIBCPP_CONSTEXPR const bool tinyness_before = false;
-#endif
+# endif
static _LIBCPP_CONSTEXPR const float_round_style round_style = round_to_nearest;
};
@@ -441,20 +444,20 @@ protected:
return __LDBL_DENORM_MIN__;
}
-#if defined(__powerpc__) && defined(__LONG_DOUBLE_IBM128__)
+# if defined(__powerpc__) && defined(__LONG_DOUBLE_IBM128__)
static _LIBCPP_CONSTEXPR const bool is_iec559 = false;
-#else
+# else
static _LIBCPP_CONSTEXPR const bool is_iec559 = true;
-#endif
+# endif
static _LIBCPP_CONSTEXPR const bool is_bounded = true;
static _LIBCPP_CONSTEXPR const bool is_modulo = false;
static _LIBCPP_CONSTEXPR const bool traps = false;
-#if (defined(__arm__) || defined(__aarch64__))
+# if (defined(__arm__) || defined(__aarch64__))
static _LIBCPP_CONSTEXPR const bool tinyness_before = true;
-#else
+# else
static _LIBCPP_CONSTEXPR const bool tinyness_before = false;
-#endif
+# endif
static _LIBCPP_CONSTEXPR const float_round_style round_style = round_to_nearest;
};
@@ -530,8 +533,9 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <type_traits>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <type_traits>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_LIMITS
diff --git a/libcxx/include/list b/libcxx/include/list
index 22629ffb1427..5e2fd40d6ee9 100644
--- a/libcxx/include/list
+++ b/libcxx/include/list
@@ -197,69 +197,72 @@ template <class T, class Allocator, class Predicate>
*/
-#include <__algorithm/comp.h>
-#include <__algorithm/equal.h>
-#include <__algorithm/lexicographical_compare.h>
-#include <__algorithm/lexicographical_compare_three_way.h>
-#include <__algorithm/min.h>
-#include <__assert>
-#include <__config>
-#include <__format/enable_insertable.h>
-#include <__iterator/distance.h>
-#include <__iterator/iterator_traits.h>
-#include <__iterator/move_iterator.h>
-#include <__iterator/next.h>
-#include <__iterator/prev.h>
-#include <__iterator/reverse_iterator.h>
-#include <__memory/addressof.h>
-#include <__memory/allocation_guard.h>
-#include <__memory/allocator.h>
-#include <__memory/allocator_traits.h>
-#include <__memory/compressed_pair.h>
-#include <__memory/construct_at.h>
-#include <__memory/pointer_traits.h>
-#include <__memory/swap_allocator.h>
-#include <__memory_resource/polymorphic_allocator.h>
-#include <__ranges/access.h>
-#include <__ranges/concepts.h>
-#include <__ranges/container_compatible_range.h>
-#include <__ranges/from_range.h>
-#include <__type_traits/conditional.h>
-#include <__type_traits/container_traits.h>
-#include <__type_traits/enable_if.h>
-#include <__type_traits/is_allocator.h>
-#include <__type_traits/is_nothrow_assignable.h>
-#include <__type_traits/is_nothrow_constructible.h>
-#include <__type_traits/is_pointer.h>
-#include <__type_traits/is_same.h>
-#include <__type_traits/type_identity.h>
-#include <__utility/forward.h>
-#include <__utility/move.h>
-#include <__utility/swap.h>
-#include <cstring>
-#include <limits>
-#include <new> // __launder
-#include <version>
+#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>
+# include <__algorithm/lexicographical_compare_three_way.h>
+# include <__algorithm/min.h>
+# include <__assert>
+# include <__config>
+# include <__format/enable_insertable.h>
+# include <__iterator/distance.h>
+# include <__iterator/iterator_traits.h>
+# include <__iterator/move_iterator.h>
+# include <__iterator/next.h>
+# include <__iterator/prev.h>
+# include <__iterator/reverse_iterator.h>
+# include <__memory/addressof.h>
+# include <__memory/allocation_guard.h>
+# include <__memory/allocator.h>
+# include <__memory/allocator_traits.h>
+# include <__memory/compressed_pair.h>
+# include <__memory/construct_at.h>
+# include <__memory/pointer_traits.h>
+# include <__memory/swap_allocator.h>
+# include <__memory_resource/polymorphic_allocator.h>
+# include <__new/launder.h>
+# include <__ranges/access.h>
+# include <__ranges/concepts.h>
+# include <__ranges/container_compatible_range.h>
+# include <__ranges/from_range.h>
+# include <__type_traits/conditional.h>
+# include <__type_traits/container_traits.h>
+# include <__type_traits/enable_if.h>
+# include <__type_traits/is_allocator.h>
+# include <__type_traits/is_nothrow_assignable.h>
+# include <__type_traits/is_nothrow_constructible.h>
+# include <__type_traits/is_pointer.h>
+# include <__type_traits/is_same.h>
+# include <__type_traits/type_identity.h>
+# include <__utility/forward.h>
+# include <__utility/move.h>
+# include <__utility/swap.h>
+# include <cstring>
+# include <limits>
+# include <version>
// standard-mandated includes
// [iterator.range]
-#include <__iterator/access.h>
-#include <__iterator/data.h>
-#include <__iterator/empty.h>
-#include <__iterator/reverse_access.h>
-#include <__iterator/size.h>
+# include <__iterator/access.h>
+# include <__iterator/data.h>
+# include <__iterator/empty.h>
+# include <__iterator/reverse_access.h>
+# include <__iterator/size.h>
// [list.syn]
-#include <compare>
-#include <initializer_list>
+# include <compare>
+# include <initializer_list>
-#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
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -274,7 +277,7 @@ struct __list_node_pointer_traits {
typedef __rebind_pointer_t<_VoidPtr, __list_node_base<_Tp, _VoidPtr> > __base_pointer;
// TODO(LLVM 22): Remove this check
-#ifndef _LIBCPP_ABI_LIST_REMOVE_NODE_POINTER_UB
+# ifndef _LIBCPP_ABI_LIST_REMOVE_NODE_POINTER_UB
static_assert(sizeof(__node_pointer) == sizeof(__node_pointer) && _LIBCPP_ALIGNOF(__base_pointer) ==
_LIBCPP_ALIGNOF(__node_pointer),
"It looks like you are using std::list with a fancy pointer type that thas a different representation "
@@ -282,7 +285,7 @@ struct __list_node_pointer_traits {
"implementation details of the standard library). This means that your ABI is being broken between "
"LLVM 19 and LLVM 20. If you don't care about your ABI being broken, define the "
"_LIBCPP_ABI_LIST_REMOVE_NODE_POINTER_UB macro to silence this diagnostic.");
-#endif
+# endif
static _LIBCPP_HIDE_FROM_ABI __base_pointer __unsafe_link_pointer_cast(__base_pointer __p) { return __p; }
@@ -314,7 +317,7 @@ template <class _Tp, class _VoidPtr>
struct __list_node : public __list_node_base<_Tp, _VoidPtr> {
// We allow starting the lifetime of nodes without initializing the value held by the node,
// since that is handled by the list itself in order to be allocator-aware.
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
private:
union {
@@ -323,14 +326,14 @@ private:
public:
_LIBCPP_HIDE_FROM_ABI _Tp& __get_value() { return __value_; }
-#else
+# else
private:
_ALIGNAS_TYPE(_Tp) char __buffer_[sizeof(_Tp)];
public:
_LIBCPP_HIDE_FROM_ABI _Tp& __get_value() { return *std::__launder(reinterpret_cast<_Tp*>(&__buffer_)); }
-#endif
+# endif
typedef __list_node_base<_Tp, _VoidPtr> __base;
typedef typename __base::__base_pointer __base_pointer;
@@ -512,9 +515,9 @@ protected:
_LIBCPP_HIDE_FROM_ABI __list_imp() _NOEXCEPT_(is_nothrow_default_constructible<__node_allocator>::value);
_LIBCPP_HIDE_FROM_ABI __list_imp(const allocator_type& __a);
_LIBCPP_HIDE_FROM_ABI __list_imp(const __node_allocator& __a);
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI __list_imp(__node_allocator&& __a) _NOEXCEPT;
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI ~__list_imp();
_LIBCPP_HIDE_FROM_ABI void clear() _NOEXCEPT;
_LIBCPP_HIDE_FROM_ABI bool empty() const _NOEXCEPT { return __size_ == 0; }
@@ -525,11 +528,11 @@ protected:
_LIBCPP_HIDE_FROM_ABI const_iterator end() const _NOEXCEPT { return const_iterator(__end_as_link()); }
_LIBCPP_HIDE_FROM_ABI void swap(__list_imp& __c)
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
_NOEXCEPT;
-#else
+# else
_NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value || __is_nothrow_swappable_v<allocator_type>);
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI void __copy_assign_alloc(const __list_imp& __c) {
__copy_assign_alloc(
@@ -603,12 +606,12 @@ inline __list_imp<_Tp, _Alloc>::__list_imp(const allocator_type& __a)
template <class _Tp, class _Alloc>
inline __list_imp<_Tp, _Alloc>::__list_imp(const __node_allocator& __a) : __size_(0), __node_alloc_(__a) {}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Tp, class _Alloc>
inline __list_imp<_Tp, _Alloc>::__list_imp(__node_allocator&& __a) _NOEXCEPT
: __size_(0),
__node_alloc_(std::move(__a)) {}
-#endif
+# endif
template <class _Tp, class _Alloc>
__list_imp<_Tp, _Alloc>::~__list_imp() {
@@ -632,11 +635,11 @@ void __list_imp<_Tp, _Alloc>::clear() _NOEXCEPT {
template <class _Tp, class _Alloc>
void __list_imp<_Tp, _Alloc>::swap(__list_imp& __c)
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
_NOEXCEPT
-#else
+# else
_NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value || __is_nothrow_swappable_v<allocator_type>)
-#endif
+# endif
{
_LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR(
__alloc_traits::propagate_on_container_swap::value || this->__node_alloc_ == __c.__node_alloc_,
@@ -683,18 +686,18 @@ public:
typedef typename __base::const_iterator const_iterator;
typedef std::reverse_iterator<iterator> reverse_iterator;
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
typedef size_type __remove_return_type;
-#else
+# else
typedef void __remove_return_type;
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI list() _NOEXCEPT_(is_nothrow_default_constructible<__node_allocator>::value) {}
_LIBCPP_HIDE_FROM_ABI explicit list(const allocator_type& __a) : __base(__a) {}
_LIBCPP_HIDE_FROM_ABI explicit list(size_type __n);
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
_LIBCPP_HIDE_FROM_ABI explicit list(size_type __n, const allocator_type& __a);
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI list(size_type __n, const value_type& __x);
template <__enable_if_t<__is_allocator<_Alloc>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI list(size_type __n, const value_type& __x, const allocator_type& __a) : __base(__a) {
@@ -708,18 +711,18 @@ public:
template <class _InpIter, __enable_if_t<__has_input_iterator_category<_InpIter>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI list(_InpIter __f, _InpIter __l, const allocator_type& __a);
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<_Tp> _Range>
_LIBCPP_HIDE_FROM_ABI list(from_range_t, _Range&& __range, const allocator_type& __a = allocator_type())
: __base(__a) {
prepend_range(std::forward<_Range>(__range));
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI list(const list& __c);
_LIBCPP_HIDE_FROM_ABI list(const list& __c, const __type_identity_t<allocator_type>& __a);
_LIBCPP_HIDE_FROM_ABI list& operator=(const list& __c);
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI list(initializer_list<value_type> __il);
_LIBCPP_HIDE_FROM_ABI list(initializer_list<value_type> __il, const allocator_type& __a);
@@ -735,17 +738,17 @@ public:
}
_LIBCPP_HIDE_FROM_ABI void assign(initializer_list<value_type> __il) { assign(__il.begin(), __il.end()); }
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _InpIter, __enable_if_t<__has_input_iterator_category<_InpIter>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI void assign(_InpIter __f, _InpIter __l);
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<_Tp> _Range>
_LIBCPP_HIDE_FROM_ABI void assign_range(_Range&& __range) {
__assign_with_sentinel(ranges::begin(__range), ranges::end(__range));
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI void assign(size_type __n, const value_type& __x);
@@ -788,11 +791,11 @@ public:
return __base::__end_.__prev_->__as_node()->__get_value();
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI void push_front(value_type&& __x);
_LIBCPP_HIDE_FROM_ABI void push_back(value_type&& __x);
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<_Tp> _Range>
_LIBCPP_HIDE_FROM_ABI void prepend_range(_Range&& __range) {
insert_range(begin(), std::forward<_Range>(__range));
@@ -802,20 +805,20 @@ public:
_LIBCPP_HIDE_FROM_ABI void append_range(_Range&& __range) {
insert_range(end(), std::forward<_Range>(__range));
}
-# endif
+# endif
template <class... _Args>
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
_LIBCPP_HIDE_FROM_ABI reference emplace_front(_Args&&... __args);
-# else
+# else
_LIBCPP_HIDE_FROM_ABI void emplace_front(_Args&&... __args);
-# endif
+# endif
template <class... _Args>
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
_LIBCPP_HIDE_FROM_ABI reference emplace_back(_Args&&... __args);
-# else
+# else
_LIBCPP_HIDE_FROM_ABI void emplace_back(_Args&&... __args);
-# endif
+# endif
template <class... _Args>
_LIBCPP_HIDE_FROM_ABI iterator emplace(const_iterator __p, _Args&&... __args);
@@ -824,19 +827,19 @@ public:
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, initializer_list<value_type> __il) {
return insert(__p, __il.begin(), __il.end());
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI void push_front(const value_type& __x);
_LIBCPP_HIDE_FROM_ABI void push_back(const value_type& __x);
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Arg>
_LIBCPP_HIDE_FROM_ABI void __emplace_back(_Arg&& __arg) {
emplace_back(std::forward<_Arg>(__arg));
}
-#else
+# else
_LIBCPP_HIDE_FROM_ABI void __emplace_back(value_type const& __arg) { push_back(__arg); }
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, const value_type& __x);
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, size_type __n, const value_type& __x);
@@ -844,19 +847,19 @@ public:
template <class _InpIter, __enable_if_t<__has_input_iterator_category<_InpIter>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, _InpIter __f, _InpIter __l);
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<_Tp> _Range>
_LIBCPP_HIDE_FROM_ABI iterator insert_range(const_iterator __position, _Range&& __range) {
return __insert_with_sentinel(__position, ranges::begin(__range), ranges::end(__range));
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI void swap(list& __c)
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
_NOEXCEPT
-#else
+# else
_NOEXCEPT_(!__node_alloc_traits::propagate_on_container_swap::value || __is_nothrow_swappable_v<__node_allocator>)
-#endif
+# endif
{
__base::swap(__c);
}
@@ -872,13 +875,13 @@ public:
_LIBCPP_HIDE_FROM_ABI void resize(size_type __n, const value_type& __x);
_LIBCPP_HIDE_FROM_ABI void splice(const_iterator __p, list& __c);
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI void splice(const_iterator __p, list&& __c) { splice(__p, __c); }
_LIBCPP_HIDE_FROM_ABI void splice(const_iterator __p, list&& __c, const_iterator __i) { splice(__p, __c, __i); }
_LIBCPP_HIDE_FROM_ABI void splice(const_iterator __p, list&& __c, const_iterator __f, const_iterator __l) {
splice(__p, __c, __f, __l);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI void splice(const_iterator __p, list& __c, const_iterator __i);
_LIBCPP_HIDE_FROM_ABI void splice(const_iterator __p, list& __c, const_iterator __f, const_iterator __l);
@@ -889,14 +892,14 @@ public:
template <class _BinaryPred>
_LIBCPP_HIDE_FROM_ABI __remove_return_type unique(_BinaryPred __binary_pred);
_LIBCPP_HIDE_FROM_ABI void merge(list& __c);
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI void merge(list&& __c) { merge(__c); }
template <class _Comp>
_LIBCPP_HIDE_FROM_ABI void merge(list&& __c, _Comp __comp) {
merge(__c, __comp);
}
-#endif
+# endif
template <class _Comp>
_LIBCPP_HIDE_FROM_ABI void merge(list& __c, _Comp __comp);
@@ -928,7 +931,7 @@ private:
_LIBCPP_HIDE_FROM_ABI void __move_assign(list& __c, false_type);
};
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _InputIterator,
class _Alloc = allocator<__iter_value_type<_InputIterator>>,
class = enable_if_t<__has_input_iterator_category<_InputIterator>::value>,
@@ -940,14 +943,14 @@ template <class _InputIterator,
class = enable_if_t<__has_input_iterator_category<_InputIterator>::value>,
class = enable_if_t<__is_allocator<_Alloc>::value> >
list(_InputIterator, _InputIterator, _Alloc) -> list<__iter_value_type<_InputIterator>, _Alloc>;
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <ranges::input_range _Range,
class _Alloc = allocator<ranges::range_value_t<_Range>>,
class = enable_if_t<__is_allocator<_Alloc>::value> >
list(from_range_t, _Range&&, _Alloc = _Alloc()) -> list<ranges::range_value_t<_Range>, _Alloc>;
-#endif
+# endif
// Link in nodes [__f, __l] just prior to __p
template <class _Tp, class _Alloc>
@@ -984,20 +987,20 @@ inline typename list<_Tp, _Alloc>::iterator list<_Tp, _Alloc>::__iterator(size_t
template <class _Tp, class _Alloc>
list<_Tp, _Alloc>::list(size_type __n) {
for (; __n > 0; --__n)
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
emplace_back();
-#else
+# else
push_back(value_type());
-#endif
+# endif
}
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <class _Tp, class _Alloc>
list<_Tp, _Alloc>::list(size_type __n, const allocator_type& __a) : __base(__a) {
for (; __n > 0; --__n)
emplace_back();
}
-#endif
+# endif
template <class _Tp, class _Alloc>
list<_Tp, _Alloc>::list(size_type __n, const value_type& __x) {
@@ -1032,7 +1035,7 @@ list<_Tp, _Alloc>::list(const list& __c, const __type_identity_t<allocator_type>
push_back(*__i);
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Tp, class _Alloc>
list<_Tp, _Alloc>::list(initializer_list<value_type> __il, const allocator_type& __a) : __base(__a) {
@@ -1087,7 +1090,7 @@ void list<_Tp, _Alloc>::__move_assign(list& __c,
splice(end(), __c);
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Tp, class _Alloc>
inline list<_Tp, _Alloc>& list<_Tp, _Alloc>::operator=(const list& __c) {
@@ -1152,13 +1155,13 @@ list<_Tp, _Alloc>::insert(const_iterator __p, size_type __n, const value_type& _
++__ds;
__r = iterator(__node->__as_link());
iterator __e = __r;
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
for (--__n; __n != 0; --__n, (void)++__e, ++__ds) {
__e.__ptr_->__next_ = this->__create_node(/* prev = */ __e.__ptr_, /* next = */ nullptr, __x)->__as_link();
}
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
while (true) {
__base_pointer __prev = __e.__ptr_->__prev_;
@@ -1170,7 +1173,7 @@ list<_Tp, _Alloc>::insert(const_iterator __p, size_type __n, const value_type& _
}
throw;
}
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
__link_nodes(__p.__ptr_, __r.__ptr_, __e.__ptr_);
this->__size_ += __ds;
}
@@ -1194,13 +1197,13 @@ list<_Tp, _Alloc>::__insert_with_sentinel(const_iterator __p, _Iterator __f, _Se
++__ds;
__r = iterator(__node->__as_link());
iterator __e = __r;
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
for (++__f; __f != __l; ++__f, (void)++__e, ++__ds) {
__e.__ptr_->__next_ = this->__create_node(/* prev = */ __e.__ptr_, /* next = */ nullptr, *__f)->__as_link();
}
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
while (true) {
__base_pointer __prev = __e.__ptr_->__prev_;
@@ -1212,7 +1215,7 @@ list<_Tp, _Alloc>::__insert_with_sentinel(const_iterator __p, _Iterator __f, _Se
}
throw;
}
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
__link_nodes(__p.__ptr_, __r.__ptr_, __e.__ptr_);
this->__size_ += __ds;
}
@@ -1235,7 +1238,7 @@ void list<_Tp, _Alloc>::push_back(const value_type& __x) {
++this->__size_;
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Tp, class _Alloc>
void list<_Tp, _Alloc>::push_front(value_type&& __x) {
@@ -1255,38 +1258,38 @@ void list<_Tp, _Alloc>::push_back(value_type&& __x) {
template <class _Tp, class _Alloc>
template <class... _Args>
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
typename list<_Tp, _Alloc>::reference
-# else
+# else
void
-# endif
+# endif
list<_Tp, _Alloc>::emplace_front(_Args&&... __args) {
__node_pointer __node =
this->__create_node(/* prev = */ nullptr, /* next = */ nullptr, std::forward<_Args>(__args)...);
__base_pointer __nl = __node->__as_link();
__link_nodes_at_front(__nl, __nl);
++this->__size_;
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
return __node->__get_value();
-# endif
+# endif
}
template <class _Tp, class _Alloc>
template <class... _Args>
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
typename list<_Tp, _Alloc>::reference
-# else
+# else
void
-# endif
+# endif
list<_Tp, _Alloc>::emplace_back(_Args&&... __args) {
__node_pointer __node =
this->__create_node(/* prev = */ nullptr, /* next = */ nullptr, std::forward<_Args>(__args)...);
__base_pointer __nl = __node->__as_link();
__link_nodes_at_back(__nl, __nl);
++this->__size_;
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
return __node->__get_value();
-# endif
+# endif
}
template <class _Tp, class _Alloc>
@@ -1309,7 +1312,7 @@ typename list<_Tp, _Alloc>::iterator list<_Tp, _Alloc>::insert(const_iterator __
return iterator(__nl);
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Tp, class _Alloc>
void list<_Tp, _Alloc>::pop_front() {
@@ -1365,13 +1368,13 @@ void list<_Tp, _Alloc>::resize(size_type __n) {
++__ds;
iterator __r = iterator(__node->__as_link());
iterator __e = __r;
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
for (--__n; __n != 0; --__n, (void)++__e, ++__ds) {
__e.__ptr_->__next_ = this->__create_node(/* prev = */ __e.__ptr_, /* next = */ nullptr)->__as_link();
}
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
while (true) {
__base_pointer __prev = __e.__ptr_->__prev_;
@@ -1383,7 +1386,7 @@ void list<_Tp, _Alloc>::resize(size_type __n) {
}
throw;
}
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
__link_nodes_at_back(__r.__ptr_, __e.__ptr_);
this->__size_ += __ds;
}
@@ -1401,13 +1404,13 @@ void list<_Tp, _Alloc>::resize(size_type __n, const value_type& __x) {
__base_pointer __nl = __node->__as_link();
iterator __r = iterator(__nl);
iterator __e = __r;
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
for (--__n; __n != 0; --__n, (void)++__e, ++__ds) {
__e.__ptr_->__next_ = this->__create_node(/* prev = */ __e.__ptr_, /* next = */ nullptr, __x)->__as_link();
}
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
while (true) {
__base_pointer __prev = __e.__ptr_->__prev_;
@@ -1419,7 +1422,7 @@ void list<_Tp, _Alloc>::resize(size_type __n, const value_type& __x) {
}
throw;
}
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
__link_nodes(__base::__end_as_link(), __r.__ptr_, __e.__ptr_);
this->__size_ += __ds;
}
@@ -1645,7 +1648,7 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator==(const list<_Tp, _Alloc>& __x, const
return __x.size() == __y.size() && std::equal(__x.begin(), __x.end(), __y.begin());
}
-#if _LIBCPP_STD_VER <= 17
+# if _LIBCPP_STD_VER <= 17
template <class _Tp, class _Alloc>
inline _LIBCPP_HIDE_FROM_ABI bool operator<(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y) {
@@ -1672,7 +1675,7 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator<=(const list<_Tp, _Alloc>& __x, const
return !(__y < __x);
}
-#else // _LIBCPP_STD_VER <= 17
+# else // _LIBCPP_STD_VER <= 17
template <class _Tp, class _Allocator>
_LIBCPP_HIDE_FROM_ABI __synth_three_way_result<_Tp>
@@ -1680,7 +1683,7 @@ operator<=>(const list<_Tp, _Allocator>& __x, const list<_Tp, _Allocator>& __y)
return std::lexicographical_compare_three_way(__x.begin(), __x.end(), __y.begin(), __y.end(), std::__synth_three_way);
}
-#endif // _LIBCPP_STD_VER <= 17
+# endif // _LIBCPP_STD_VER <= 17
template <class _Tp, class _Alloc>
inline _LIBCPP_HIDE_FROM_ABI void swap(list<_Tp, _Alloc>& __x, list<_Tp, _Alloc>& __y)
@@ -1688,7 +1691,7 @@ inline _LIBCPP_HIDE_FROM_ABI void swap(list<_Tp, _Alloc>& __x, list<_Tp, _Alloc>
__x.swap(__y);
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _Tp, class _Allocator, class _Predicate>
inline _LIBCPP_HIDE_FROM_ABI typename list<_Tp, _Allocator>::size_type
erase_if(list<_Tp, _Allocator>& __c, _Predicate __pred) {
@@ -1703,12 +1706,12 @@ erase(list<_Tp, _Allocator>& __c, const _Up& __v) {
template <>
inline constexpr bool __format::__enable_insertable<std::list<char>> = true;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
template <>
inline constexpr bool __format::__enable_insertable<std::list<wchar_t>> = true;
-# endif
+# endif
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
template <class _Tp, class _Allocator>
struct __container_traits<list<_Tp, _Allocator> > {
@@ -1723,29 +1726,30 @@ struct __container_traits<list<_Tp, _Allocator> > {
_LIBCPP_END_NAMESPACE_STD
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
_LIBCPP_BEGIN_NAMESPACE_STD
namespace pmr {
template <class _ValueT>
using list _LIBCPP_AVAILABILITY_PMR = std::list<_ValueT, polymorphic_allocator<_ValueT>>;
} // namespace pmr
_LIBCPP_END_NAMESPACE_STD
-#endif
+# endif
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <algorithm>
-# include <atomic>
-# include <concepts>
-# include <cstdint>
-# include <cstdlib>
-# include <functional>
-# include <iosfwd>
-# include <iterator>
-# include <stdexcept>
-# include <type_traits>
-# include <typeinfo>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <algorithm>
+# include <atomic>
+# include <concepts>
+# include <cstdint>
+# include <cstdlib>
+# include <functional>
+# include <iosfwd>
+# include <iterator>
+# include <stdexcept>
+# include <type_traits>
+# include <typeinfo>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_LIST
diff --git a/libcxx/include/locale b/libcxx/include/locale
index aa6733427d2d..981f25ed1e98 100644
--- a/libcxx/include/locale
+++ b/libcxx/include/locale
@@ -187,69 +187,72 @@ template <class charT> class messages_byname;
*/
-#include <__config>
-
-#if _LIBCPP_HAS_LOCALIZATION
-
-# include <__algorithm/copy.h>
-# include <__algorithm/equal.h>
-# include <__algorithm/find.h>
-# include <__algorithm/max.h>
-# include <__algorithm/reverse.h>
-# include <__algorithm/unwrap_iter.h>
-# include <__assert>
-# include <__iterator/access.h>
-# include <__iterator/back_insert_iterator.h>
-# include <__iterator/istreambuf_iterator.h>
-# include <__iterator/ostreambuf_iterator.h>
-# include <__locale>
-# include <__locale_dir/pad_and_output.h>
-# include <__memory/unique_ptr.h>
-# include <__type_traits/make_unsigned.h>
-# include <cerrno>
-# include <cstdio>
-# include <cstdlib>
-# include <ctime>
-# include <ios>
-# include <limits>
-# include <new>
-# include <streambuf>
-# include <version>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/locale>
+#else
+# include <__config>
+
+# if _LIBCPP_HAS_LOCALIZATION
+
+# include <__algorithm/copy.h>
+# include <__algorithm/equal.h>
+# include <__algorithm/find.h>
+# include <__algorithm/max.h>
+# include <__algorithm/reverse.h>
+# include <__algorithm/unwrap_iter.h>
+# include <__assert>
+# include <__iterator/access.h>
+# include <__iterator/back_insert_iterator.h>
+# include <__iterator/istreambuf_iterator.h>
+# include <__iterator/ostreambuf_iterator.h>
+# include <__locale>
+# include <__locale_dir/pad_and_output.h>
+# include <__memory/unique_ptr.h>
+# include <__new/exceptions.h>
+# include <__type_traits/make_unsigned.h>
+# include <cerrno>
+# include <cstdio>
+# include <cstdlib>
+# include <ctime>
+# include <ios>
+# include <limits>
+# include <streambuf>
+# include <version>
// TODO: Properly qualify calls now that __bsd_locale_defaults.h defines functions instead of macros
// NOLINTBEGIN(libcpp-robust-against-adl)
-# if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
+# if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
// 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 <nl_types.h>
+# if !defined(__BIONIC__) && !defined(_NEWLIB_VERSION) && !defined(__EMSCRIPTEN__)
+# define _LIBCPP_HAS_CATOPEN 1
+# include <nl_types.h>
+# else
+# define _LIBCPP_HAS_CATOPEN 0
+# endif
# else
# define _LIBCPP_HAS_CATOPEN 0
# endif
-# else
-# define _LIBCPP_HAS_CATOPEN 0
-# endif
-# 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
_LIBCPP_PUSH_MACROS
-# include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
-# if defined(__APPLE__) || defined(__FreeBSD__)
-# define _LIBCPP_GET_C_LOCALE 0
-# elif defined(__NetBSD__)
-# define _LIBCPP_GET_C_LOCALE LC_C_LOCALE
-# else
-# define _LIBCPP_GET_C_LOCALE __cloc()
+# if defined(__APPLE__) || defined(__FreeBSD__)
+# define _LIBCPP_GET_C_LOCALE 0
+# elif defined(__NetBSD__)
+# define _LIBCPP_GET_C_LOCALE LC_C_LOCALE
+# else
+# define _LIBCPP_GET_C_LOCALE __cloc()
// Get the C locale object
_LIBCPP_EXPORTED_FROM_ABI __locale::__locale_t __cloc();
-# define __cloc_defined
-# endif
+# define __cloc_defined
+# endif
// __scan_keyword
// Scans [__b, __e) until a match is found in the basic_strings range
@@ -397,7 +400,7 @@ struct __num_get : protected __num_get_base {
unsigned*& __g_end,
unsigned& __dc,
_CharT* __atoms);
-# ifndef _LIBCPP_ABI_OPTIMIZED_LOCALE_NUM_GET
+# ifndef _LIBCPP_ABI_OPTIMIZED_LOCALE_NUM_GET
static string __stage2_int_prep(ios_base& __iob, _CharT* __atoms, _CharT& __thousands_sep);
static int __stage2_int_loop(
_CharT __ct,
@@ -411,7 +414,7 @@ struct __num_get : protected __num_get_base {
unsigned*& __g_end,
_CharT* __atoms);
-# else
+# else
static string __stage2_int_prep(ios_base& __iob, _CharT& __thousands_sep) {
locale __loc = __iob.getloc();
const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc);
@@ -446,10 +449,10 @@ private:
(void)__atoms;
return __src;
}
-# endif
+# endif
};
-# ifndef _LIBCPP_ABI_OPTIMIZED_LOCALE_NUM_GET
+# ifndef _LIBCPP_ABI_OPTIMIZED_LOCALE_NUM_GET
template <class _CharT>
string __num_get<_CharT>::__stage2_int_prep(ios_base& __iob, _CharT* __atoms, _CharT& __thousands_sep) {
locale __loc = __iob.getloc();
@@ -458,7 +461,7 @@ string __num_get<_CharT>::__stage2_int_prep(ios_base& __iob, _CharT* __atoms, _C
__thousands_sep = __np.thousands_sep();
return __np.grouping();
}
-# endif
+# endif
template <class _CharT>
string __num_get<_CharT>::__stage2_float_prep(
@@ -473,16 +476,16 @@ string __num_get<_CharT>::__stage2_float_prep(
template <class _CharT>
int
-# ifndef _LIBCPP_ABI_OPTIMIZED_LOCALE_NUM_GET
+# ifndef _LIBCPP_ABI_OPTIMIZED_LOCALE_NUM_GET
__num_get<_CharT>::__stage2_int_loop(_CharT __ct, int __base, char* __a, char*& __a_end,
unsigned& __dc, _CharT __thousands_sep, const string& __grouping,
unsigned* __g, unsigned*& __g_end, _CharT* __atoms)
-# else
+# else
__num_get<_CharT>::__stage2_int_loop(_CharT __ct, int __base, char* __a, char*& __a_end,
unsigned& __dc, _CharT __thousands_sep, const string& __grouping,
unsigned* __g, unsigned*& __g_end, const _CharT* __atoms)
-# endif
+# endif
{
if (__a_end == __a && (__ct == __atoms[24] || __ct == __atoms[25])) {
*__a_end++ = __ct == __atoms[24] ? '+' : '-';
@@ -581,9 +584,9 @@ int __num_get<_CharT>::__stage2_float_loop(
}
extern template struct _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __num_get<char>;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
extern template struct _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __num_get<wchar_t>;
-# endif
+# endif
template <class _CharT, class _InputIterator = istreambuf_iterator<_CharT> >
class _LIBCPP_TEMPLATE_VIS num_get : public locale::facet, private __num_get<_CharT> {
@@ -853,14 +856,14 @@ _InputIterator num_get<_CharT, _InputIterator>::__do_get_signed(
// Stage 2
char_type __thousands_sep;
const int __atoms_size = __num_get_base::__int_chr_cnt;
-# ifdef _LIBCPP_ABI_OPTIMIZED_LOCALE_NUM_GET
+# ifdef _LIBCPP_ABI_OPTIMIZED_LOCALE_NUM_GET
char_type __atoms1[__atoms_size];
const char_type* __atoms = this->__do_widen(__iob, __atoms1);
string __grouping = this->__stage2_int_prep(__iob, __thousands_sep);
-# else
+# else
char_type __atoms[__atoms_size];
string __grouping = this->__stage2_int_prep(__iob, __atoms, __thousands_sep);
-# endif
+# endif
string __buf;
__buf.resize(__buf.capacity());
char* __a = &__buf[0];
@@ -902,14 +905,14 @@ _InputIterator num_get<_CharT, _InputIterator>::__do_get_unsigned(
// Stage 2
char_type __thousands_sep;
const int __atoms_size = __num_get_base::__int_chr_cnt;
-# ifdef _LIBCPP_ABI_OPTIMIZED_LOCALE_NUM_GET
+# ifdef _LIBCPP_ABI_OPTIMIZED_LOCALE_NUM_GET
char_type __atoms1[__atoms_size];
const char_type* __atoms = this->__do_widen(__iob, __atoms1);
string __grouping = this->__stage2_int_prep(__iob, __thousands_sep);
-# else
+# else
char_type __atoms[__atoms_size];
string __grouping = this->__stage2_int_prep(__iob, __atoms, __thousands_sep);
-# endif
+# endif
string __buf;
__buf.resize(__buf.capacity());
char* __a = &__buf[0];
@@ -1052,9 +1055,9 @@ _InputIterator num_get<_CharT, _InputIterator>::do_get(
}
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS num_get<char>;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS num_get<wchar_t>;
-# endif
+# endif
struct _LIBCPP_EXPORTED_FROM_ABI __num_put_base {
protected:
@@ -1170,9 +1173,9 @@ void __num_put<_CharT>::__widen_and_group_float(
}
extern template struct _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __num_put<char>;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
extern template struct _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __num_put<wchar_t>;
-# endif
+# endif
template <class _CharT, class _OutputIterator = ostreambuf_iterator<_CharT> >
class _LIBCPP_TEMPLATE_VIS num_put : public locale::facet, private __num_put<_CharT> {
@@ -1397,9 +1400,9 @@ num_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base& __iob, char_ty
}
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS num_put<char>;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS num_put<wchar_t>;
-# endif
+# endif
template <class _CharT, class _InputIterator>
_LIBCPP_HIDE_FROM_ABI int __get_up_to_n_digits(
@@ -1464,7 +1467,7 @@ _LIBCPP_EXPORTED_FROM_ABI const string& __time_get_c_storage<char>::__x() const;
template <>
_LIBCPP_EXPORTED_FROM_ABI const string& __time_get_c_storage<char>::__X() const;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
template <>
_LIBCPP_EXPORTED_FROM_ABI const wstring* __time_get_c_storage<wchar_t>::__weeks() const;
template <>
@@ -1479,7 +1482,7 @@ template <>
_LIBCPP_EXPORTED_FROM_ABI const wstring& __time_get_c_storage<wchar_t>::__x() const;
template <>
_LIBCPP_EXPORTED_FROM_ABI const wstring& __time_get_c_storage<wchar_t>::__X() const;
-# endif
+# endif
template <class _CharT, class _InputIterator = istreambuf_iterator<_CharT> >
class _LIBCPP_TEMPLATE_VIS time_get : public locale::facet, public time_base, private __time_get_c_storage<_CharT> {
@@ -1933,9 +1936,9 @@ _InputIterator time_get<_CharT, _InputIterator>::do_get(
}
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_get<char>;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_get<wchar_t>;
-# endif
+# endif
class _LIBCPP_EXPORTED_FROM_ABI __time_get {
protected:
@@ -1971,32 +1974,32 @@ private:
string_type __analyze(char __fmt, const ctype<_CharT>&);
};
-# define _LIBCPP_TIME_GET_STORAGE_EXPLICIT_INSTANTIATION(_CharT) \
- template <> \
- _LIBCPP_EXPORTED_FROM_ABI time_base::dateorder __time_get_storage<_CharT>::__do_date_order() const; \
- template <> \
- _LIBCPP_EXPORTED_FROM_ABI __time_get_storage<_CharT>::__time_get_storage(const char*); \
- template <> \
- _LIBCPP_EXPORTED_FROM_ABI __time_get_storage<_CharT>::__time_get_storage(const string&); \
- template <> \
- _LIBCPP_EXPORTED_FROM_ABI void __time_get_storage<_CharT>::init(const ctype<_CharT>&); \
- template <> \
- _LIBCPP_EXPORTED_FROM_ABI __time_get_storage<_CharT>::string_type __time_get_storage<_CharT>::__analyze( \
- char, const ctype<_CharT>&); \
- extern template _LIBCPP_EXPORTED_FROM_ABI time_base::dateorder __time_get_storage<_CharT>::__do_date_order() \
- const; \
- extern template _LIBCPP_EXPORTED_FROM_ABI __time_get_storage<_CharT>::__time_get_storage(const char*); \
- extern template _LIBCPP_EXPORTED_FROM_ABI __time_get_storage<_CharT>::__time_get_storage(const string&); \
- extern template _LIBCPP_EXPORTED_FROM_ABI void __time_get_storage<_CharT>::init(const ctype<_CharT>&); \
- extern template _LIBCPP_EXPORTED_FROM_ABI __time_get_storage<_CharT>::string_type \
- __time_get_storage<_CharT>::__analyze(char, const ctype<_CharT>&); \
- /**/
+# define _LIBCPP_TIME_GET_STORAGE_EXPLICIT_INSTANTIATION(_CharT) \
+ template <> \
+ _LIBCPP_EXPORTED_FROM_ABI time_base::dateorder __time_get_storage<_CharT>::__do_date_order() const; \
+ template <> \
+ _LIBCPP_EXPORTED_FROM_ABI __time_get_storage<_CharT>::__time_get_storage(const char*); \
+ template <> \
+ _LIBCPP_EXPORTED_FROM_ABI __time_get_storage<_CharT>::__time_get_storage(const string&); \
+ template <> \
+ _LIBCPP_EXPORTED_FROM_ABI void __time_get_storage<_CharT>::init(const ctype<_CharT>&); \
+ template <> \
+ _LIBCPP_EXPORTED_FROM_ABI __time_get_storage<_CharT>::string_type __time_get_storage<_CharT>::__analyze( \
+ char, const ctype<_CharT>&); \
+ extern template _LIBCPP_EXPORTED_FROM_ABI time_base::dateorder __time_get_storage<_CharT>::__do_date_order() \
+ const; \
+ extern template _LIBCPP_EXPORTED_FROM_ABI __time_get_storage<_CharT>::__time_get_storage(const char*); \
+ extern template _LIBCPP_EXPORTED_FROM_ABI __time_get_storage<_CharT>::__time_get_storage(const string&); \
+ extern template _LIBCPP_EXPORTED_FROM_ABI void __time_get_storage<_CharT>::init(const ctype<_CharT>&); \
+ extern template _LIBCPP_EXPORTED_FROM_ABI __time_get_storage<_CharT>::string_type \
+ __time_get_storage<_CharT>::__analyze(char, const ctype<_CharT>&); \
+ /**/
_LIBCPP_TIME_GET_STORAGE_EXPLICIT_INSTANTIATION(char)
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
_LIBCPP_TIME_GET_STORAGE_EXPLICIT_INSTANTIATION(wchar_t)
-# endif
-# undef _LIBCPP_TIME_GET_STORAGE_EXPLICIT_INSTANTIATION
+# endif
+# undef _LIBCPP_TIME_GET_STORAGE_EXPLICIT_INSTANTIATION
template <class _CharT, class _InputIterator = istreambuf_iterator<_CharT> >
class _LIBCPP_TEMPLATE_VIS time_get_byname
@@ -2029,9 +2032,9 @@ private:
};
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_get_byname<char>;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_get_byname<wchar_t>;
-# endif
+# endif
class _LIBCPP_EXPORTED_FROM_ABI __time_put {
__locale::__locale_t __loc_;
@@ -2042,9 +2045,9 @@ protected:
__time_put(const string& __nm);
~__time_put();
void __do_put(char* __nb, char*& __ne, const tm* __tm, char __fmt, char __mod) const;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
void __do_put(wchar_t* __wb, wchar_t*& __we, const tm* __tm, char __fmt, char __mod) const;
-# endif
+# endif
};
template <class _CharT, class _OutputIterator = ostreambuf_iterator<_CharT> >
@@ -2118,9 +2121,9 @@ _OutputIterator time_put<_CharT, _OutputIterator>::do_put(
}
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_put<char>;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_put<wchar_t>;
-# endif
+# endif
template <class _CharT, class _OutputIterator = ostreambuf_iterator<_CharT> >
class _LIBCPP_TEMPLATE_VIS time_put_byname : public time_put<_CharT, _OutputIterator> {
@@ -2136,9 +2139,9 @@ protected:
};
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_put_byname<char>;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_put_byname<wchar_t>;
-# endif
+# endif
// money_base
@@ -2203,10 +2206,10 @@ const bool moneypunct<_CharT, _International>::intl;
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct<char, false>;
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct<char, true>;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct<wchar_t, false>;
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct<wchar_t, true>;
-# endif
+# endif
// moneypunct_byname
@@ -2261,14 +2264,14 @@ _LIBCPP_EXPORTED_FROM_ABI void moneypunct_byname<char, true>::init(const char*);
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct_byname<char, false>;
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct_byname<char, true>;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
template <>
_LIBCPP_EXPORTED_FROM_ABI void moneypunct_byname<wchar_t, false>::init(const char*);
template <>
_LIBCPP_EXPORTED_FROM_ABI void moneypunct_byname<wchar_t, true>::init(const char*);
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct_byname<wchar_t, false>;
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct_byname<wchar_t, true>;
-# endif
+# endif
// money_get
@@ -2329,9 +2332,9 @@ void __money_get<_CharT>::__gather_info(
}
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __money_get<char>;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __money_get<wchar_t>;
-# endif
+# endif
template <class _CharT, class _InputIterator = istreambuf_iterator<_CharT> >
class _LIBCPP_TEMPLATE_VIS money_get : public locale::facet, private __money_get<_CharT> {
@@ -2639,9 +2642,9 @@ _InputIterator money_get<_CharT, _InputIterator>::do_get(
}
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS money_get<char>;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS money_get<wchar_t>;
-# endif
+# endif
// money_put
@@ -2817,9 +2820,9 @@ void __money_put<_CharT>::__format(
}
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __money_put<char>;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __money_put<wchar_t>;
-# endif
+# endif
template <class _CharT, class _OutputIterator = ostreambuf_iterator<_CharT> >
class _LIBCPP_TEMPLATE_VIS money_put : public locale::facet, private __money_put<_CharT> {
@@ -2963,9 +2966,9 @@ _OutputIterator money_put<_CharT, _OutputIterator>::do_put(
}
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS money_put<char>;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS money_put<wchar_t>;
-# endif
+# endif
// messages
@@ -3009,18 +3012,18 @@ locale::id messages<_CharT>::id;
template <class _CharT>
typename messages<_CharT>::catalog messages<_CharT>::do_open(const basic_string<char>& __nm, const locale&) const {
-# if _LIBCPP_HAS_CATOPEN
+# if _LIBCPP_HAS_CATOPEN
return (catalog)catopen(__nm.c_str(), NL_CAT_LOCALE);
-# else // !_LIBCPP_HAS_CATOPEN
+# else // !_LIBCPP_HAS_CATOPEN
(void)__nm;
return -1;
-# endif // _LIBCPP_HAS_CATOPEN
+# endif // _LIBCPP_HAS_CATOPEN
}
template <class _CharT>
typename messages<_CharT>::string_type
messages<_CharT>::do_get(catalog __c, int __set, int __msgid, const string_type& __dflt) const {
-# if _LIBCPP_HAS_CATOPEN
+# if _LIBCPP_HAS_CATOPEN
string __ndflt;
__narrow_to_utf8<sizeof(char_type) * __CHAR_BIT__>()(
std::back_inserter(__ndflt), __dflt.c_str(), __dflt.c_str() + __dflt.size());
@@ -3030,27 +3033,27 @@ messages<_CharT>::do_get(catalog __c, int __set, int __msgid, const string_type&
string_type __w;
__widen_from_utf8<sizeof(char_type) * __CHAR_BIT__>()(std::back_inserter(__w), __n, __n + std::strlen(__n));
return __w;
-# else // !_LIBCPP_HAS_CATOPEN
+# else // !_LIBCPP_HAS_CATOPEN
(void)__c;
(void)__set;
(void)__msgid;
return __dflt;
-# endif // _LIBCPP_HAS_CATOPEN
+# endif // _LIBCPP_HAS_CATOPEN
}
template <class _CharT>
void messages<_CharT>::do_close(catalog __c) const {
-# if _LIBCPP_HAS_CATOPEN
+# if _LIBCPP_HAS_CATOPEN
catclose((nl_catd)__c);
-# else // !_LIBCPP_HAS_CATOPEN
+# else // !_LIBCPP_HAS_CATOPEN
(void)__c;
-# endif // _LIBCPP_HAS_CATOPEN
+# endif // _LIBCPP_HAS_CATOPEN
}
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS messages<char>;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS messages<wchar_t>;
-# endif
+# endif
template <class _CharT>
class _LIBCPP_TEMPLATE_VIS messages_byname : public messages<_CharT> {
@@ -3067,11 +3070,11 @@ protected:
};
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS messages_byname<char>;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS messages_byname<wchar_t>;
-# endif
+# endif
-# if _LIBCPP_STD_VER < 26 || defined(_LIBCPP_ENABLE_CXX26_REMOVED_WSTRING_CONVERT)
+# if _LIBCPP_STD_VER < 26 || defined(_LIBCPP_ENABLE_CXX26_REMOVED_WSTRING_CONVERT)
template <class _Codecvt,
class _Elem = wchar_t,
@@ -3092,19 +3095,19 @@ private:
size_t __cvtcount_;
public:
-# ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI wstring_convert() : wstring_convert(new _Codecvt) {}
_LIBCPP_HIDE_FROM_ABI explicit wstring_convert(_Codecvt* __pcvt);
-# else
+# else
_LIBCPP_HIDE_FROM_ABI _LIBCPP_EXPLICIT_SINCE_CXX14 wstring_convert(_Codecvt* __pcvt = new _Codecvt);
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI wstring_convert(_Codecvt* __pcvt, state_type __state);
_LIBCPP_EXPLICIT_SINCE_CXX14 _LIBCPP_HIDE_FROM_ABI
wstring_convert(const byte_string& __byte_err, const wide_string& __wide_err = wide_string());
-# ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI wstring_convert(wstring_convert&& __wc);
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI ~wstring_convert();
wstring_convert(const wstring_convert& __wc) = delete;
@@ -3149,7 +3152,7 @@ wstring_convert<_Codecvt, _Elem, _WideAlloc, _ByteAlloc>::wstring_convert(
__cvtptr_ = new _Codecvt;
}
-# ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Codecvt, class _Elem, class _WideAlloc, class _ByteAlloc>
inline wstring_convert<_Codecvt, _Elem, _WideAlloc, _ByteAlloc>::wstring_convert(wstring_convert&& __wc)
@@ -3161,7 +3164,7 @@ inline wstring_convert<_Codecvt, _Elem, _WideAlloc, _ByteAlloc>::wstring_convert
__wc.__cvtptr_ = nullptr;
}
-# endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_SUPPRESS_DEPRECATED_PUSH
template <class _Codecvt, class _Elem, class _WideAlloc, class _ByteAlloc>
@@ -3315,14 +3318,14 @@ private:
bool __always_noconv_;
public:
-# ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI wbuffer_convert() : wbuffer_convert(nullptr) {}
explicit _LIBCPP_HIDE_FROM_ABI
wbuffer_convert(streambuf* __bytebuf, _Codecvt* __pcvt = new _Codecvt, state_type __state = state_type());
-# else
+# else
_LIBCPP_EXPLICIT_SINCE_CXX14 _LIBCPP_HIDE_FROM_ABI
wbuffer_convert(streambuf* __bytebuf = nullptr, _Codecvt* __pcvt = new _Codecvt, state_type __state = state_type());
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI ~wbuffer_convert();
@@ -3678,7 +3681,7 @@ wbuffer_convert<_Codecvt, _Elem, _Tr>* wbuffer_convert<_Codecvt, _Elem, _Tr>::__
_LIBCPP_SUPPRESS_DEPRECATED_POP
-# endif // _LIBCPP_STD_VER < 26 || defined(_LIBCPP_ENABLE_CXX26_REMOVED_WSTRING_CONVERT)
+# endif // _LIBCPP_STD_VER < 26 || defined(_LIBCPP_ENABLE_CXX26_REMOVED_WSTRING_CONVERT)
_LIBCPP_END_NAMESPACE_STD
@@ -3686,17 +3689,18 @@ _LIBCPP_POP_MACROS
// NOLINTEND(libcpp-robust-against-adl)
-#endif // _LIBCPP_HAS_LOCALIZATION
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <atomic>
-# include <concepts>
-# include <cstdarg>
-# include <iterator>
-# include <mutex>
-# include <stdexcept>
-# include <type_traits>
-# include <typeinfo>
-#endif
+# endif // _LIBCPP_HAS_LOCALIZATION
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
+# include <concepts>
+# include <cstdarg>
+# include <iterator>
+# include <mutex>
+# include <stdexcept>
+# include <type_traits>
+# include <typeinfo>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_LOCALE
diff --git a/libcxx/include/map b/libcxx/include/map
index fabf39512ab7..76d32ad883d6 100644
--- a/libcxx/include/map
+++ b/libcxx/include/map
@@ -571,61 +571,64 @@ erase_if(multimap<Key, T, Compare, Allocator>& c, Predicate pred); // C++20
*/
-#include <__algorithm/equal.h>
-#include <__algorithm/lexicographical_compare.h>
-#include <__algorithm/lexicographical_compare_three_way.h>
-#include <__assert>
-#include <__config>
-#include <__functional/binary_function.h>
-#include <__functional/is_transparent.h>
-#include <__functional/operations.h>
-#include <__iterator/erase_if_container.h>
-#include <__iterator/iterator_traits.h>
-#include <__iterator/ranges_iterator_traits.h>
-#include <__iterator/reverse_iterator.h>
-#include <__memory/addressof.h>
-#include <__memory/allocator.h>
-#include <__memory/allocator_traits.h>
-#include <__memory/pointer_traits.h>
-#include <__memory/unique_ptr.h>
-#include <__memory_resource/polymorphic_allocator.h>
-#include <__node_handle>
-#include <__ranges/concepts.h>
-#include <__ranges/container_compatible_range.h>
-#include <__ranges/from_range.h>
-#include <__tree>
-#include <__type_traits/container_traits.h>
-#include <__type_traits/is_allocator.h>
-#include <__type_traits/remove_const.h>
-#include <__type_traits/type_identity.h>
-#include <__utility/forward.h>
-#include <__utility/pair.h>
-#include <__utility/piecewise_construct.h>
-#include <__utility/swap.h>
-#include <new> // for std::launder
-#include <stdexcept>
-#include <tuple>
-#include <version>
+#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>
+# include <__assert>
+# include <__config>
+# include <__functional/binary_function.h>
+# include <__functional/is_transparent.h>
+# include <__functional/operations.h>
+# include <__iterator/erase_if_container.h>
+# include <__iterator/iterator_traits.h>
+# include <__iterator/ranges_iterator_traits.h>
+# include <__iterator/reverse_iterator.h>
+# include <__memory/addressof.h>
+# include <__memory/allocator.h>
+# include <__memory/allocator_traits.h>
+# include <__memory/pointer_traits.h>
+# include <__memory/unique_ptr.h>
+# include <__memory_resource/polymorphic_allocator.h>
+# include <__new/launder.h>
+# include <__node_handle>
+# include <__ranges/concepts.h>
+# include <__ranges/container_compatible_range.h>
+# include <__ranges/from_range.h>
+# include <__tree>
+# include <__type_traits/container_traits.h>
+# include <__type_traits/is_allocator.h>
+# include <__type_traits/remove_const.h>
+# include <__type_traits/type_identity.h>
+# include <__utility/forward.h>
+# include <__utility/pair.h>
+# include <__utility/piecewise_construct.h>
+# include <__utility/swap.h>
+# include <stdexcept>
+# include <tuple>
+# include <version>
// standard-mandated includes
// [iterator.range]
-#include <__iterator/access.h>
-#include <__iterator/data.h>
-#include <__iterator/empty.h>
-#include <__iterator/reverse_access.h>
-#include <__iterator/size.h>
+# include <__iterator/access.h>
+# include <__iterator/data.h>
+# include <__iterator/empty.h>
+# include <__iterator/reverse_access.h>
+# include <__iterator/size.h>
// [associative.map.syn]
-#include <compare>
-#include <initializer_list>
+# include <compare>
+# include <initializer_list>
-#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
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -654,7 +657,7 @@ public:
swap(static_cast<_Compare&>(*this), static_cast<_Compare&>(__y));
}
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <typename _K2>
_LIBCPP_HIDE_FROM_ABI bool operator()(const _K2& __x, const _CP& __y) const {
return static_cast<const _Compare&>(*this)(__x, __y.__get_value().first);
@@ -664,7 +667,7 @@ public:
_LIBCPP_HIDE_FROM_ABI bool operator()(const _CP& __x, const _K2& __y) const {
return static_cast<const _Compare&>(*this)(__x.__get_value().first, __y);
}
-#endif
+# endif
};
template <class _Key, class _CP, class _Compare>
@@ -692,7 +695,7 @@ public:
swap(__comp_, __y.__comp_);
}
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <typename _K2>
_LIBCPP_HIDE_FROM_ABI bool operator()(const _K2& __x, const _CP& __y) const {
return __comp_(__x, __y.__get_value().first);
@@ -702,7 +705,7 @@ public:
_LIBCPP_HIDE_FROM_ABI bool operator()(const _CP& __x, const _K2& __y) const {
return __comp_(__x.__get_value().first, __y);
}
-#endif
+# endif
};
template <class _Key, class _CP, class _Compare, bool __b>
@@ -732,14 +735,14 @@ public:
__first_constructed(false),
__second_constructed(false) {}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI __map_node_destructor(__tree_node_destructor<allocator_type>&& __x) _NOEXCEPT
: __na_(__x.__na_),
__first_constructed(__x.__value_constructed),
__second_constructed(__x.__value_constructed) {
__x.__value_constructed = false;
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
__map_node_destructor& operator=(const __map_node_destructor&) = delete;
@@ -760,7 +763,7 @@ class multimap;
template <class _TreeIterator>
class __map_const_iterator;
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Key, class _Tp>
struct _LIBCPP_STANDALONE_DEBUG __value_type {
@@ -775,19 +778,19 @@ private:
public:
_LIBCPP_HIDE_FROM_ABI value_type& __get_value() {
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
return *std::launder(std::addressof(__cc_));
-# else
+# else
return __cc_;
-# endif
+# endif
}
_LIBCPP_HIDE_FROM_ABI const value_type& __get_value() const {
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
return *std::launder(std::addressof(__cc_));
-# else
+# else
return __cc_;
-# endif
+# endif
}
_LIBCPP_HIDE_FROM_ABI __nc_ref_pair_type __ref() {
@@ -822,7 +825,7 @@ public:
__value_type(__value_type&&) = delete;
};
-#else
+# else
template <class _Key, class _Tp>
struct __value_type {
@@ -843,7 +846,7 @@ public:
~__value_type() = delete;
};
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Tp>
struct __extract_key_value_types;
@@ -1019,10 +1022,10 @@ public:
typedef std::reverse_iterator<iterator> reverse_iterator;
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
typedef __map_node_handle<typename __base::__node, allocator_type> node_type;
typedef __insert_return_type<iterator, node_type> insert_return_type;
-#endif
+# endif
template <class _Key2, class _Value2, class _Comp2, class _Alloc2>
friend class _LIBCPP_TEMPLATE_VIS map;
@@ -1054,7 +1057,7 @@ public:
insert(__f, __l);
}
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<value_type> _Range>
_LIBCPP_HIDE_FROM_ABI
map(from_range_t,
@@ -1064,37 +1067,37 @@ public:
: __tree_(__vc(__comp), typename __base::allocator_type(__a)) {
insert_range(std::forward<_Range>(__range));
}
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <class _InputIterator>
_LIBCPP_HIDE_FROM_ABI map(_InputIterator __f, _InputIterator __l, const allocator_type& __a)
: map(__f, __l, key_compare(), __a) {}
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<value_type> _Range>
_LIBCPP_HIDE_FROM_ABI map(from_range_t, _Range&& __range, const allocator_type& __a)
: map(from_range, std::forward<_Range>(__range), key_compare(), __a) {}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI map(const map& __m) : __tree_(__m.__tree_) { insert(__m.begin(), __m.end()); }
_LIBCPP_HIDE_FROM_ABI map& operator=(const map& __m) {
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
__tree_ = __m.__tree_;
-#else
+# else
if (this != std::addressof(__m)) {
__tree_.clear();
__tree_.value_comp() = __m.__tree_.value_comp();
__tree_.__copy_assign_alloc(__m.__tree_);
insert(__m.begin(), __m.end());
}
-#endif
+# endif
return *this;
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI map(map&& __m) noexcept(is_nothrow_move_constructible<__base>::value)
: __tree_(std::move(__m.__tree_)) {}
@@ -1116,17 +1119,17 @@ public:
insert(__il.begin(), __il.end());
}
-# if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
_LIBCPP_HIDE_FROM_ABI map(initializer_list<value_type> __il, const allocator_type& __a)
: map(__il, key_compare(), __a) {}
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI map& operator=(initializer_list<value_type> __il) {
__tree_.__assign_unique(__il.begin(), __il.end());
return *this;
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI explicit map(const allocator_type& __a) : __tree_(typename __base::allocator_type(__a)) {}
@@ -1157,9 +1160,9 @@ public:
_LIBCPP_HIDE_FROM_ABI size_type max_size() const _NOEXCEPT { return __tree_.max_size(); }
_LIBCPP_HIDE_FROM_ABI mapped_type& operator[](const key_type& __k);
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI mapped_type& operator[](key_type&& __k);
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI mapped_type& at(const key_type& __k);
_LIBCPP_HIDE_FROM_ABI const mapped_type& at(const key_type& __k) const;
@@ -1168,7 +1171,7 @@ public:
_LIBCPP_HIDE_FROM_ABI key_compare key_comp() const { return __tree_.value_comp().key_comp(); }
_LIBCPP_HIDE_FROM_ABI value_compare value_comp() const { return value_compare(__tree_.value_comp().key_comp()); }
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class... _Args>
_LIBCPP_HIDE_FROM_ABI pair<iterator, bool> emplace(_Args&&... __args) {
return __tree_.__emplace_unique(std::forward<_Args>(__args)...);
@@ -1189,7 +1192,7 @@ public:
return __tree_.__insert_unique(__pos.__i_, std::forward<_Pp>(__p));
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI pair<iterator, bool> insert(const value_type& __v) { return __tree_.__insert_unique(__v); }
@@ -1197,7 +1200,7 @@ public:
return __tree_.__insert_unique(__p.__i_, __v);
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI pair<iterator, bool> insert(value_type&& __v) {
return __tree_.__insert_unique(std::move(__v));
}
@@ -1207,7 +1210,7 @@ public:
}
_LIBCPP_HIDE_FROM_ABI void insert(initializer_list<value_type> __il) { insert(__il.begin(), __il.end()); }
-#endif
+# endif
template <class _InputIterator>
_LIBCPP_HIDE_FROM_ABI void insert(_InputIterator __f, _InputIterator __l) {
@@ -1215,7 +1218,7 @@ public:
insert(__e.__i_, *__f);
}
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<value_type> _Range>
_LIBCPP_HIDE_FROM_ABI void insert_range(_Range&& __range) {
const_iterator __end = cend();
@@ -1223,9 +1226,9 @@ public:
insert(__end.__i_, std::forward<decltype(__element)>(__element));
}
}
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class... _Args>
_LIBCPP_HIDE_FROM_ABI pair<iterator, bool> try_emplace(const key_type& __k, _Args&&... __args) {
@@ -1310,7 +1313,7 @@ public:
return __r;
}
-#endif // _LIBCPP_STD_VER >= 17
+# endif // _LIBCPP_STD_VER >= 17
_LIBCPP_HIDE_FROM_ABI iterator erase(const_iterator __p) { return __tree_.erase(__p.__i_); }
_LIBCPP_HIDE_FROM_ABI iterator erase(iterator __p) { return __tree_.erase(__p.__i_); }
@@ -1320,7 +1323,7 @@ public:
}
_LIBCPP_HIDE_FROM_ABI void clear() _NOEXCEPT { __tree_.clear(); }
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
_LIBCPP_HIDE_FROM_ABI insert_return_type insert(node_type&& __nh) {
_LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR(__nh.empty() || __nh.get_allocator() == get_allocator(),
"node_type with incompatible allocator passed to map::insert()");
@@ -1361,13 +1364,13 @@ public:
__source.get_allocator() == get_allocator(), "merging container with incompatible allocator");
__tree_.__node_handle_merge_unique(__source.__tree_);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI void swap(map& __m) _NOEXCEPT_(__is_nothrow_swappable_v<__base>) { __tree_.swap(__m.__tree_); }
_LIBCPP_HIDE_FROM_ABI iterator find(const key_type& __k) { return __tree_.find(__k); }
_LIBCPP_HIDE_FROM_ABI const_iterator find(const key_type& __k) const { return __tree_.find(__k); }
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <typename _K2, enable_if_t<__is_transparent_v<_Compare, _K2>, int> = 0>
_LIBCPP_HIDE_FROM_ABI iterator find(const _K2& __k) {
return __tree_.find(__k);
@@ -1376,27 +1379,27 @@ public:
_LIBCPP_HIDE_FROM_ABI const_iterator find(const _K2& __k) const {
return __tree_.find(__k);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI size_type count(const key_type& __k) const { return __tree_.__count_unique(__k); }
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <typename _K2, enable_if_t<__is_transparent_v<_Compare, _K2>, int> = 0>
_LIBCPP_HIDE_FROM_ABI size_type count(const _K2& __k) const {
return __tree_.__count_multi(__k);
}
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI bool contains(const key_type& __k) const { return find(__k) != end(); }
template <typename _K2, enable_if_t<__is_transparent_v<_Compare, _K2>, int> = 0>
_LIBCPP_HIDE_FROM_ABI bool contains(const _K2& __k) const {
return find(__k) != end();
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI iterator lower_bound(const key_type& __k) { return __tree_.lower_bound(__k); }
_LIBCPP_HIDE_FROM_ABI const_iterator lower_bound(const key_type& __k) const { return __tree_.lower_bound(__k); }
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <typename _K2, enable_if_t<__is_transparent_v<_Compare, _K2>, int> = 0>
_LIBCPP_HIDE_FROM_ABI iterator lower_bound(const _K2& __k) {
return __tree_.lower_bound(__k);
@@ -1406,11 +1409,11 @@ public:
_LIBCPP_HIDE_FROM_ABI const_iterator lower_bound(const _K2& __k) const {
return __tree_.lower_bound(__k);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI iterator upper_bound(const key_type& __k) { return __tree_.upper_bound(__k); }
_LIBCPP_HIDE_FROM_ABI const_iterator upper_bound(const key_type& __k) const { return __tree_.upper_bound(__k); }
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <typename _K2, enable_if_t<__is_transparent_v<_Compare, _K2>, int> = 0>
_LIBCPP_HIDE_FROM_ABI iterator upper_bound(const _K2& __k) {
return __tree_.upper_bound(__k);
@@ -1419,7 +1422,7 @@ public:
_LIBCPP_HIDE_FROM_ABI const_iterator upper_bound(const _K2& __k) const {
return __tree_.upper_bound(__k);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI pair<iterator, iterator> equal_range(const key_type& __k) {
return __tree_.__equal_range_unique(__k);
@@ -1427,7 +1430,7 @@ public:
_LIBCPP_HIDE_FROM_ABI pair<const_iterator, const_iterator> equal_range(const key_type& __k) const {
return __tree_.__equal_range_unique(__k);
}
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <typename _K2, enable_if_t<__is_transparent_v<_Compare, _K2>, int> = 0>
_LIBCPP_HIDE_FROM_ABI pair<iterator, iterator> equal_range(const _K2& __k) {
return __tree_.__equal_range_multi(__k);
@@ -1436,7 +1439,7 @@ public:
_LIBCPP_HIDE_FROM_ABI pair<const_iterator, const_iterator> equal_range(const _K2& __k) const {
return __tree_.__equal_range_multi(__k);
}
-#endif
+# endif
private:
typedef typename __base::__node __node;
@@ -1448,12 +1451,12 @@ private:
typedef __map_node_destructor<__node_allocator> _Dp;
typedef unique_ptr<__node, _Dp> __node_holder;
-#ifdef _LIBCPP_CXX03_LANG
+# ifdef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI __node_holder __construct_node_with_key(const key_type& __k);
-#endif
+# endif
};
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _InputIterator,
class _Compare = less<__iter_key_type<_InputIterator>>,
class _Allocator = allocator<__iter_to_alloc_type<_InputIterator>>,
@@ -1463,7 +1466,7 @@ template <class _InputIterator,
map(_InputIterator, _InputIterator, _Compare = _Compare(), _Allocator = _Allocator())
-> map<__iter_key_type<_InputIterator>, __iter_mapped_type<_InputIterator>, _Compare, _Allocator>;
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <ranges::input_range _Range,
class _Compare = less<__range_key_type<_Range>>,
class _Allocator = allocator<__range_to_alloc_type<_Range>>,
@@ -1471,7 +1474,7 @@ template <ranges::input_range _Range,
class = enable_if_t<__is_allocator<_Allocator>::value, void>>
map(from_range_t, _Range&&, _Compare = _Compare(), _Allocator = _Allocator())
-> map<__range_key_type<_Range>, __range_mapped_type<_Range>, _Compare, _Allocator>;
-# endif
+# endif
template <class _Key,
class _Tp,
@@ -1493,18 +1496,18 @@ map(_InputIterator, _InputIterator, _Allocator)
less<__iter_key_type<_InputIterator>>,
_Allocator>;
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <ranges::input_range _Range, class _Allocator, class = enable_if_t<__is_allocator<_Allocator>::value, void>>
map(from_range_t, _Range&&, _Allocator)
-> map<__range_key_type<_Range>, __range_mapped_type<_Range>, less<__range_key_type<_Range>>, _Allocator>;
-# endif
+# endif
template <class _Key, class _Tp, class _Allocator, class = enable_if_t<__is_allocator<_Allocator>::value, void>>
map(initializer_list<pair<_Key, _Tp>>,
_Allocator) -> map<remove_const_t<_Key>, _Tp, less<remove_const_t<_Key>>, _Allocator>;
-#endif
+# endif
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Key, class _Tp, class _Compare, class _Allocator>
map<_Key, _Tp, _Compare, _Allocator>::map(map&& __m, const allocator_type& __a)
: __tree_(std::move(__m.__tree_), typename __base::allocator_type(__a)) {
@@ -1535,7 +1538,7 @@ _Tp& map<_Key, _Tp, _Compare, _Allocator>::operator[](key_type&& __k) {
// NOLINTEND(bugprone-use-after-move)
}
-#else // _LIBCPP_CXX03_LANG
+# else // _LIBCPP_CXX03_LANG
template <class _Key, class _Tp, class _Compare, class _Allocator>
typename map<_Key, _Tp, _Compare, _Allocator>::__node_holder
@@ -1562,7 +1565,7 @@ _Tp& map<_Key, _Tp, _Compare, _Allocator>::operator[](const key_type& __k) {
return __r->__value_.__get_value().second;
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Key, class _Tp, class _Compare, class _Allocator>
_Tp& map<_Key, _Tp, _Compare, _Allocator>::at(const key_type& __k) {
@@ -1588,7 +1591,7 @@ operator==(const map<_Key, _Tp, _Compare, _Allocator>& __x, const map<_Key, _Tp,
return __x.size() == __y.size() && std::equal(__x.begin(), __x.end(), __y.begin());
}
-#if _LIBCPP_STD_VER <= 17
+# if _LIBCPP_STD_VER <= 17
template <class _Key, class _Tp, class _Compare, class _Allocator>
inline _LIBCPP_HIDE_FROM_ABI bool
@@ -1620,7 +1623,7 @@ operator<=(const map<_Key, _Tp, _Compare, _Allocator>& __x, const map<_Key, _Tp,
return !(__y < __x);
}
-#else // #if _LIBCPP_STD_VER <= 17
+# else // #if _LIBCPP_STD_VER <= 17
template <class _Key, class _Tp, class _Compare, class _Allocator>
_LIBCPP_HIDE_FROM_ABI __synth_three_way_result<pair<const _Key, _Tp>>
@@ -1628,7 +1631,7 @@ operator<=>(const map<_Key, _Tp, _Compare, _Allocator>& __x, const map<_Key, _Tp
return std::lexicographical_compare_three_way(__x.begin(), __x.end(), __y.begin(), __y.end(), std::__synth_three_way);
}
-#endif // #if _LIBCPP_STD_VER <= 17
+# endif // #if _LIBCPP_STD_VER <= 17
template <class _Key, class _Tp, class _Compare, class _Allocator>
inline _LIBCPP_HIDE_FROM_ABI void
@@ -1637,13 +1640,13 @@ swap(map<_Key, _Tp, _Compare, _Allocator>& __x, map<_Key, _Tp, _Compare, _Alloca
__x.swap(__y);
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _Key, class _Tp, class _Compare, class _Allocator, class _Predicate>
inline _LIBCPP_HIDE_FROM_ABI typename map<_Key, _Tp, _Compare, _Allocator>::size_type
erase_if(map<_Key, _Tp, _Compare, _Allocator>& __c, _Predicate __pred) {
return std::__libcpp_erase_if_container(__c, __pred);
}
-#endif
+# endif
template <class _Key, class _Tp, class _Compare, class _Allocator>
struct __container_traits<map<_Key, _Tp, _Compare, _Allocator> > {
@@ -1703,9 +1706,9 @@ public:
typedef std::reverse_iterator<iterator> reverse_iterator;
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
typedef __map_node_handle<typename __base::__node, allocator_type> node_type;
-#endif
+# endif
template <class _Key2, class _Value2, class _Comp2, class _Alloc2>
friend class _LIBCPP_TEMPLATE_VIS map;
@@ -1737,7 +1740,7 @@ public:
insert(__f, __l);
}
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<value_type> _Range>
_LIBCPP_HIDE_FROM_ABI
multimap(from_range_t,
@@ -1747,19 +1750,19 @@ public:
: __tree_(__vc(__comp), typename __base::allocator_type(__a)) {
insert_range(std::forward<_Range>(__range));
}
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <class _InputIterator>
_LIBCPP_HIDE_FROM_ABI multimap(_InputIterator __f, _InputIterator __l, const allocator_type& __a)
: multimap(__f, __l, key_compare(), __a) {}
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<value_type> _Range>
_LIBCPP_HIDE_FROM_ABI multimap(from_range_t, _Range&& __range, const allocator_type& __a)
: multimap(from_range, std::forward<_Range>(__range), key_compare(), __a) {}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI multimap(const multimap& __m)
: __tree_(__m.__tree_.value_comp(),
@@ -1768,20 +1771,20 @@ public:
}
_LIBCPP_HIDE_FROM_ABI multimap& operator=(const multimap& __m) {
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
__tree_ = __m.__tree_;
-#else
+# else
if (this != std::addressof(__m)) {
__tree_.clear();
__tree_.value_comp() = __m.__tree_.value_comp();
__tree_.__copy_assign_alloc(__m.__tree_);
insert(__m.begin(), __m.end());
}
-#endif
+# endif
return *this;
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI multimap(multimap&& __m) noexcept(is_nothrow_move_constructible<__base>::value)
: __tree_(std::move(__m.__tree_)) {}
@@ -1804,17 +1807,17 @@ public:
insert(__il.begin(), __il.end());
}
-# if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
_LIBCPP_HIDE_FROM_ABI multimap(initializer_list<value_type> __il, const allocator_type& __a)
: multimap(__il, key_compare(), __a) {}
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI multimap& operator=(initializer_list<value_type> __il) {
__tree_.__assign_multi(__il.begin(), __il.end());
return *this;
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI explicit multimap(const allocator_type& __a) : __tree_(typename __base::allocator_type(__a)) {}
@@ -1848,7 +1851,7 @@ public:
_LIBCPP_HIDE_FROM_ABI key_compare key_comp() const { return __tree_.value_comp().key_comp(); }
_LIBCPP_HIDE_FROM_ABI value_compare value_comp() const { return value_compare(__tree_.value_comp().key_comp()); }
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class... _Args>
_LIBCPP_HIDE_FROM_ABI iterator emplace(_Args&&... __args) {
@@ -1878,7 +1881,7 @@ public:
_LIBCPP_HIDE_FROM_ABI void insert(initializer_list<value_type> __il) { insert(__il.begin(), __il.end()); }
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI iterator insert(const value_type& __v) { return __tree_.__insert_multi(__v); }
@@ -1892,7 +1895,7 @@ public:
__tree_.__insert_multi(__e.__i_, *__f);
}
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<value_type> _Range>
_LIBCPP_HIDE_FROM_ABI void insert_range(_Range&& __range) {
const_iterator __end = cend();
@@ -1900,7 +1903,7 @@ public:
__tree_.__insert_multi(__end.__i_, std::forward<decltype(__element)>(__element));
}
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI iterator erase(const_iterator __p) { return __tree_.erase(__p.__i_); }
_LIBCPP_HIDE_FROM_ABI iterator erase(iterator __p) { return __tree_.erase(__p.__i_); }
@@ -1909,7 +1912,7 @@ public:
return __tree_.erase(__f.__i_, __l.__i_);
}
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
_LIBCPP_HIDE_FROM_ABI iterator insert(node_type&& __nh) {
_LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR(__nh.empty() || __nh.get_allocator() == get_allocator(),
"node_type with incompatible allocator passed to multimap::insert()");
@@ -1950,7 +1953,7 @@ public:
__source.get_allocator() == get_allocator(), "merging container with incompatible allocator");
return __tree_.__node_handle_merge_multi(__source.__tree_);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI void clear() _NOEXCEPT { __tree_.clear(); }
@@ -1960,7 +1963,7 @@ public:
_LIBCPP_HIDE_FROM_ABI iterator find(const key_type& __k) { return __tree_.find(__k); }
_LIBCPP_HIDE_FROM_ABI const_iterator find(const key_type& __k) const { return __tree_.find(__k); }
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <typename _K2, enable_if_t<__is_transparent_v<_Compare, _K2>, int> = 0>
_LIBCPP_HIDE_FROM_ABI iterator find(const _K2& __k) {
return __tree_.find(__k);
@@ -1969,27 +1972,27 @@ public:
_LIBCPP_HIDE_FROM_ABI const_iterator find(const _K2& __k) const {
return __tree_.find(__k);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI size_type count(const key_type& __k) const { return __tree_.__count_multi(__k); }
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <typename _K2, enable_if_t<__is_transparent_v<_Compare, _K2>, int> = 0>
_LIBCPP_HIDE_FROM_ABI size_type count(const _K2& __k) const {
return __tree_.__count_multi(__k);
}
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI bool contains(const key_type& __k) const { return find(__k) != end(); }
template <typename _K2, enable_if_t<__is_transparent_v<_Compare, _K2>, int> = 0>
_LIBCPP_HIDE_FROM_ABI bool contains(const _K2& __k) const {
return find(__k) != end();
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI iterator lower_bound(const key_type& __k) { return __tree_.lower_bound(__k); }
_LIBCPP_HIDE_FROM_ABI const_iterator lower_bound(const key_type& __k) const { return __tree_.lower_bound(__k); }
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <typename _K2, enable_if_t<__is_transparent_v<_Compare, _K2>, int> = 0>
_LIBCPP_HIDE_FROM_ABI iterator lower_bound(const _K2& __k) {
return __tree_.lower_bound(__k);
@@ -1999,11 +2002,11 @@ public:
_LIBCPP_HIDE_FROM_ABI const_iterator lower_bound(const _K2& __k) const {
return __tree_.lower_bound(__k);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI iterator upper_bound(const key_type& __k) { return __tree_.upper_bound(__k); }
_LIBCPP_HIDE_FROM_ABI const_iterator upper_bound(const key_type& __k) const { return __tree_.upper_bound(__k); }
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <typename _K2, enable_if_t<__is_transparent_v<_Compare, _K2>, int> = 0>
_LIBCPP_HIDE_FROM_ABI iterator upper_bound(const _K2& __k) {
return __tree_.upper_bound(__k);
@@ -2012,7 +2015,7 @@ public:
_LIBCPP_HIDE_FROM_ABI const_iterator upper_bound(const _K2& __k) const {
return __tree_.upper_bound(__k);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI pair<iterator, iterator> equal_range(const key_type& __k) {
return __tree_.__equal_range_multi(__k);
@@ -2020,7 +2023,7 @@ public:
_LIBCPP_HIDE_FROM_ABI pair<const_iterator, const_iterator> equal_range(const key_type& __k) const {
return __tree_.__equal_range_multi(__k);
}
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <typename _K2, enable_if_t<__is_transparent_v<_Compare, _K2>, int> = 0>
_LIBCPP_HIDE_FROM_ABI pair<iterator, iterator> equal_range(const _K2& __k) {
return __tree_.__equal_range_multi(__k);
@@ -2029,7 +2032,7 @@ public:
_LIBCPP_HIDE_FROM_ABI pair<const_iterator, const_iterator> equal_range(const _K2& __k) const {
return __tree_.__equal_range_multi(__k);
}
-#endif
+# endif
private:
typedef typename __base::__node __node;
@@ -2040,7 +2043,7 @@ private:
typedef unique_ptr<__node, _Dp> __node_holder;
};
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _InputIterator,
class _Compare = less<__iter_key_type<_InputIterator>>,
class _Allocator = allocator<__iter_to_alloc_type<_InputIterator>>,
@@ -2050,7 +2053,7 @@ template <class _InputIterator,
multimap(_InputIterator, _InputIterator, _Compare = _Compare(), _Allocator = _Allocator())
-> multimap<__iter_key_type<_InputIterator>, __iter_mapped_type<_InputIterator>, _Compare, _Allocator>;
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <ranges::input_range _Range,
class _Compare = less<__range_key_type<_Range>>,
class _Allocator = allocator<__range_to_alloc_type<_Range>>,
@@ -2058,7 +2061,7 @@ template <ranges::input_range _Range,
class = enable_if_t<__is_allocator<_Allocator>::value, void>>
multimap(from_range_t, _Range&&, _Compare = _Compare(), _Allocator = _Allocator())
-> multimap<__range_key_type<_Range>, __range_mapped_type<_Range>, _Compare, _Allocator>;
-# endif
+# endif
template <class _Key,
class _Tp,
@@ -2080,18 +2083,18 @@ multimap(_InputIterator, _InputIterator, _Allocator)
less<__iter_key_type<_InputIterator>>,
_Allocator>;
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <ranges::input_range _Range, class _Allocator, class = enable_if_t<__is_allocator<_Allocator>::value, void>>
multimap(from_range_t, _Range&&, _Allocator)
-> multimap<__range_key_type<_Range>, __range_mapped_type<_Range>, less<__range_key_type<_Range>>, _Allocator>;
-# endif
+# endif
template <class _Key, class _Tp, class _Allocator, class = enable_if_t<__is_allocator<_Allocator>::value, void>>
multimap(initializer_list<pair<_Key, _Tp>>,
_Allocator) -> multimap<remove_const_t<_Key>, _Tp, less<remove_const_t<_Key>>, _Allocator>;
-#endif
+# endif
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Key, class _Tp, class _Compare, class _Allocator>
multimap<_Key, _Tp, _Compare, _Allocator>::multimap(multimap&& __m, const allocator_type& __a)
: __tree_(std::move(__m.__tree_), typename __base::allocator_type(__a)) {
@@ -2101,7 +2104,7 @@ multimap<_Key, _Tp, _Compare, _Allocator>::multimap(multimap&& __m, const alloca
__tree_.__insert_multi(__e.__i_, std::move(__m.__tree_.remove(__m.begin().__i_)->__value_.__move()));
}
}
-#endif
+# endif
template <class _Key, class _Tp, class _Compare, class _Allocator>
inline _LIBCPP_HIDE_FROM_ABI bool
@@ -2109,7 +2112,7 @@ operator==(const multimap<_Key, _Tp, _Compare, _Allocator>& __x, const multimap<
return __x.size() == __y.size() && std::equal(__x.begin(), __x.end(), __y.begin());
}
-#if _LIBCPP_STD_VER <= 17
+# if _LIBCPP_STD_VER <= 17
template <class _Key, class _Tp, class _Compare, class _Allocator>
inline _LIBCPP_HIDE_FROM_ABI bool
@@ -2141,7 +2144,7 @@ operator<=(const multimap<_Key, _Tp, _Compare, _Allocator>& __x, const multimap<
return !(__y < __x);
}
-#else // #if _LIBCPP_STD_VER <= 17
+# else // #if _LIBCPP_STD_VER <= 17
template <class _Key, class _Tp, class _Compare, class _Allocator>
_LIBCPP_HIDE_FROM_ABI __synth_three_way_result<pair<const _Key, _Tp>>
@@ -2150,7 +2153,7 @@ operator<=>(const multimap<_Key, _Tp, _Compare, _Allocator>& __x,
return std::lexicographical_compare_three_way(__x.begin(), __x.end(), __y.begin(), __y.end(), __synth_three_way);
}
-#endif // #if _LIBCPP_STD_VER <= 17
+# endif // #if _LIBCPP_STD_VER <= 17
template <class _Key, class _Tp, class _Compare, class _Allocator>
inline _LIBCPP_HIDE_FROM_ABI void
@@ -2159,13 +2162,13 @@ swap(multimap<_Key, _Tp, _Compare, _Allocator>& __x, multimap<_Key, _Tp, _Compar
__x.swap(__y);
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _Key, class _Tp, class _Compare, class _Allocator, class _Predicate>
inline _LIBCPP_HIDE_FROM_ABI typename multimap<_Key, _Tp, _Compare, _Allocator>::size_type
erase_if(multimap<_Key, _Tp, _Compare, _Allocator>& __c, _Predicate __pred) {
return std::__libcpp_erase_if_container(__c, __pred);
}
-#endif
+# endif
template <class _Key, class _Tp, class _Compare, class _Allocator>
struct __container_traits<multimap<_Key, _Tp, _Compare, _Allocator> > {
@@ -2177,7 +2180,7 @@ struct __container_traits<multimap<_Key, _Tp, _Compare, _Allocator> > {
_LIBCPP_END_NAMESPACE_STD
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
_LIBCPP_BEGIN_NAMESPACE_STD
namespace pmr {
template <class _KeyT, class _ValueT, class _CompareT = std::less<_KeyT>>
@@ -2189,17 +2192,18 @@ using multimap _LIBCPP_AVAILABILITY_PMR =
std::multimap<_KeyT, _ValueT, _CompareT, polymorphic_allocator<std::pair<const _KeyT, _ValueT>>>;
} // namespace pmr
_LIBCPP_END_NAMESPACE_STD
-#endif
+# endif
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <concepts>
-# include <cstdlib>
-# include <functional>
-# include <iterator>
-# include <type_traits>
-# include <utility>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
+# include <cstdlib>
+# include <functional>
+# include <iterator>
+# include <type_traits>
+# include <utility>
+# endif
+#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 509ecc46184d..de2dacde282c 100644
--- a/libcxx/include/math.h
+++ b/libcxx/include/math.h
@@ -291,93 +291,96 @@ long double truncl(long double x);
*/
-# include <__config>
+# 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)
-# pragma GCC system_header
-# endif
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
-# if __has_include_next(<math.h>)
-# include_next <math.h>
-# endif
+# if __has_include_next(<math.h>)
+# include_next <math.h>
+# endif
-# ifdef __cplusplus
+# ifdef __cplusplus
// We support including .h headers inside 'extern "C"' contexts, so switch
// back to C++ linkage before including these C++ headers.
extern "C++" {
-# ifdef fpclassify
-# undef fpclassify
-# endif
-
-# ifdef signbit
-# undef signbit
-# endif
-
-# ifdef isfinite
-# undef isfinite
-# endif
-
-# ifdef isinf
-# undef isinf
-# endif
-
-# ifdef isnan
-# undef isnan
-# endif
-
-# ifdef isnormal
-# undef isnormal
-# endif
-
-# ifdef isgreater
-# undef isgreater
-# endif
-
-# ifdef isgreaterequal
-# undef isgreaterequal
-# endif
-
-# ifdef isless
-# undef isless
-# endif
-
-# ifdef islessequal
-# undef islessequal
-# endif
-
-# ifdef islessgreater
-# undef islessgreater
-# endif
-
-# ifdef isunordered
-# undef isunordered
-# endif
-
-# include <__math/abs.h>
-# include <__math/copysign.h>
-# include <__math/error_functions.h>
-# include <__math/exponential_functions.h>
-# include <__math/fdim.h>
-# include <__math/fma.h>
-# include <__math/gamma.h>
-# include <__math/hyperbolic_functions.h>
-# include <__math/hypot.h>
-# include <__math/inverse_hyperbolic_functions.h>
-# include <__math/inverse_trigonometric_functions.h>
-# include <__math/logarithms.h>
-# include <__math/min_max.h>
-# include <__math/modulo.h>
-# include <__math/remainder.h>
-# include <__math/roots.h>
-# include <__math/rounding_functions.h>
-# include <__math/traits.h>
-# include <__math/trigonometric_functions.h>
-# include <__type_traits/enable_if.h>
-# include <__type_traits/is_floating_point.h>
-# include <__type_traits/is_integral.h>
-# include <stdlib.h>
+# ifdef fpclassify
+# undef fpclassify
+# endif
+
+# ifdef signbit
+# undef signbit
+# endif
+
+# ifdef isfinite
+# undef isfinite
+# endif
+
+# ifdef isinf
+# undef isinf
+# endif
+
+# ifdef isnan
+# undef isnan
+# endif
+
+# ifdef isnormal
+# undef isnormal
+# endif
+
+# ifdef isgreater
+# undef isgreater
+# endif
+
+# ifdef isgreaterequal
+# undef isgreaterequal
+# endif
+
+# ifdef isless
+# undef isless
+# endif
+
+# ifdef islessequal
+# undef islessequal
+# endif
+
+# ifdef islessgreater
+# undef islessgreater
+# endif
+
+# ifdef isunordered
+# undef isunordered
+# endif
+
+# include <__math/abs.h>
+# include <__math/copysign.h>
+# include <__math/error_functions.h>
+# include <__math/exponential_functions.h>
+# include <__math/fdim.h>
+# include <__math/fma.h>
+# include <__math/gamma.h>
+# include <__math/hyperbolic_functions.h>
+# include <__math/hypot.h>
+# include <__math/inverse_hyperbolic_functions.h>
+# include <__math/inverse_trigonometric_functions.h>
+# include <__math/logarithms.h>
+# include <__math/min_max.h>
+# include <__math/modulo.h>
+# include <__math/remainder.h>
+# include <__math/roots.h>
+# include <__math/rounding_functions.h>
+# include <__math/traits.h>
+# include <__math/trigonometric_functions.h>
+# include <__type_traits/enable_if.h>
+# include <__type_traits/is_floating_point.h>
+# include <__type_traits/is_integral.h>
+# include <stdlib.h>
// fpclassify relies on implementation-defined constants, so we can't move it to a detail header
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -415,7 +418,7 @@ using std::__math::fpclassify;
using std::__math::signbit;
// The MSVC runtime already provides these functions as templates
-# ifndef _LIBCPP_MSVCRT
+# ifndef _LIBCPP_MSVCRT
using std::__math::isfinite;
using std::__math::isgreater;
using std::__math::isgreaterequal;
@@ -426,7 +429,7 @@ using std::__math::islessgreater;
using std::__math::isnan;
using std::__math::isnormal;
using std::__math::isunordered;
-# endif // _LIBCPP_MSVCRT
+# endif // _LIBCPP_MSVCRT
// abs
//
@@ -501,7 +504,8 @@ using std::__math::trunc;
} // extern "C++"
-# endif // __cplusplus
+# endif // __cplusplus
+# 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 d6191a197e15..a67ed1834e3b 100644
--- a/libcxx/include/mdspan
+++ b/libcxx/include/mdspan
@@ -408,22 +408,26 @@ namespace std {
#ifndef _LIBCPP_MDSPAN
#define _LIBCPP_MDSPAN
-#include <__config>
-
-#if _LIBCPP_STD_VER >= 23
-# include <__fwd/mdspan.h>
-# include <__mdspan/default_accessor.h>
-# include <__mdspan/extents.h>
-# include <__mdspan/layout_left.h>
-# include <__mdspan/layout_right.h>
-# include <__mdspan/layout_stride.h>
-# include <__mdspan/mdspan.h>
-#endif
-
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/mdspan>
+#else
+# include <__config>
+
+# if _LIBCPP_STD_VER >= 23
+# include <__fwd/mdspan.h>
+# include <__mdspan/default_accessor.h>
+# include <__mdspan/extents.h>
+# include <__mdspan/layout_left.h>
+# include <__mdspan/layout_right.h>
+# include <__mdspan/layout_stride.h>
+# include <__mdspan/mdspan.h>
+# endif
+
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_MDSPAN
diff --git a/libcxx/include/memory b/libcxx/include/memory
index db3386cca480..fc62606ea0fd 100644
--- a/libcxx/include/memory
+++ b/libcxx/include/memory
@@ -934,65 +934,69 @@ template<class Pointer = void, class Smart, class... Args>
// clang-format on
-#include <__config>
-#include <__memory/addressof.h>
-#include <__memory/align.h>
-#include <__memory/allocator.h>
-#include <__memory/allocator_arg_t.h>
-#include <__memory/allocator_traits.h>
-#include <__memory/auto_ptr.h>
-#include <__memory/inout_ptr.h>
-#include <__memory/out_ptr.h>
-#include <__memory/pointer_traits.h>
-#include <__memory/raw_storage_iterator.h>
-#include <__memory/shared_ptr.h>
-#include <__memory/temporary_buffer.h>
-#include <__memory/uninitialized_algorithms.h>
-#include <__memory/unique_ptr.h>
-#include <__memory/uses_allocator.h>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/memory>
+#else
+# include <__config>
+# include <__memory/addressof.h>
+# include <__memory/align.h>
+# include <__memory/allocator.h>
+# include <__memory/allocator_arg_t.h>
+# include <__memory/allocator_traits.h>
+# include <__memory/auto_ptr.h>
+# include <__memory/inout_ptr.h>
+# include <__memory/out_ptr.h>
+# include <__memory/pointer_traits.h>
+# include <__memory/raw_storage_iterator.h>
+# include <__memory/shared_ptr.h>
+# include <__memory/temporary_buffer.h>
+# include <__memory/uninitialized_algorithms.h>
+# include <__memory/unique_ptr.h>
+# include <__memory/uses_allocator.h>
// standard-mandated includes
-#if _LIBCPP_STD_VER >= 17
-# include <__memory/construct_at.h>
-#endif
+# if _LIBCPP_STD_VER >= 17
+# include <__memory/construct_at.h>
+# endif
-#if _LIBCPP_STD_VER >= 20
-# include <__memory/assume_aligned.h>
-# include <__memory/concepts.h>
-# include <__memory/ranges_construct_at.h>
-# include <__memory/ranges_uninitialized_algorithms.h>
-# include <__memory/uses_allocator_construction.h>
-#endif
+# if _LIBCPP_STD_VER >= 20
+# include <__memory/assume_aligned.h>
+# include <__memory/concepts.h>
+# include <__memory/ranges_construct_at.h>
+# include <__memory/ranges_uninitialized_algorithms.h>
+# include <__memory/uses_allocator_construction.h>
+# endif
-#if _LIBCPP_STD_VER >= 23
-# include <__memory/allocate_at_least.h>
-#endif
+# if _LIBCPP_STD_VER >= 23
+# include <__memory/allocate_at_least.h>
+# endif
-#include <version>
+# include <version>
// [memory.syn]
-#include <compare>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <atomic>
-# include <concepts>
-# include <cstddef>
-# include <cstdint>
-# include <cstdlib>
-# include <cstring>
-# include <iosfwd>
-# include <iterator>
-# include <new>
-# include <stdexcept>
-# include <tuple>
-# include <type_traits>
-# include <typeinfo>
-# include <utility>
-#endif
+# include <compare>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
+# include <concepts>
+# include <cstddef>
+# include <cstdint>
+# include <cstdlib>
+# include <cstring>
+# include <iosfwd>
+# include <iterator>
+# include <new>
+# include <stdexcept>
+# include <tuple>
+# include <type_traits>
+# include <typeinfo>
+# include <utility>
+# endif
+#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 e54b7e6e2473..5464fc09c7cd 100644
--- a/libcxx/include/memory_resource
+++ b/libcxx/include/memory_resource
@@ -49,29 +49,33 @@ namespace std::pmr {
*/
-#include <__config>
-
-#if _LIBCPP_STD_VER >= 17
-# include <__memory_resource/memory_resource.h>
-# include <__memory_resource/monotonic_buffer_resource.h>
-# include <__memory_resource/polymorphic_allocator.h>
-# include <__memory_resource/pool_options.h>
-# include <__memory_resource/synchronized_pool_resource.h>
-# include <__memory_resource/unsynchronized_pool_resource.h>
-#endif
-
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER >= 17 && _LIBCPP_STD_VER <= 20
-# include <mutex>
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <stdexcept>
-#endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/memory_resource>
+#else
+# include <__config>
+
+# if _LIBCPP_STD_VER >= 17
+# include <__memory_resource/memory_resource.h>
+# include <__memory_resource/monotonic_buffer_resource.h>
+# include <__memory_resource/polymorphic_allocator.h>
+# include <__memory_resource/pool_options.h>
+# include <__memory_resource/synchronized_pool_resource.h>
+# include <__memory_resource/unsynchronized_pool_resource.h>
+# endif
+
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER >= 17 && _LIBCPP_STD_VER <= 20
+# include <mutex>
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <stdexcept>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif /* _LIBCPP_MEMORY_RESOURCE */
diff --git a/libcxx/include/module.modulemap b/libcxx/include/module.modulemap
index ed2b7fb19216..86efbd36b20d 100644
--- a/libcxx/include/module.modulemap
+++ b/libcxx/include/module.modulemap
@@ -856,13 +856,18 @@ module std [system] {
}
module check_memory_order { header "__atomic/check_memory_order.h" }
module contention_t { header "__atomic/contention_t.h" }
- module cxx_atomic_impl { header "__atomic/cxx_atomic_impl.h" }
module fence { header "__atomic/fence.h" }
module is_always_lock_free { header "__atomic/is_always_lock_free.h" }
module kill_dependency { header "__atomic/kill_dependency.h" }
module memory_order { header "__atomic/memory_order.h" }
module to_gcc_order { header "__atomic/to_gcc_order.h" }
+ module support {
+ header "__atomic/support.h"
+ textual header "__atomic/support/c11.h"
+ textual header "__atomic/support/gcc.h"
+ }
+
header "atomic"
export *
}
@@ -1230,6 +1235,7 @@ module std [system] {
module flat_map {
module flat_map { header "__flat_map/flat_map.h" }
+ module key_value_iterator { header "__flat_map/key_value_iterator.h" }
module sorted_unique { header "__flat_map/sorted_unique.h" }
header "flat_map"
@@ -1460,8 +1466,6 @@ module std [system] {
module locale {
header "locale"
-
- module locale_guard { header "__locale_dir/locale_guard.h" }
module pad_and_output { header "__locale_dir/pad_and_output.h" }
module support {
@@ -1473,6 +1477,7 @@ module std [system] {
textual header "__locale_dir/support/apple.h"
textual header "__locale_dir/support/bsd_like.h"
textual header "__locale_dir/support/freebsd.h"
+ textual header "__locale_dir/support/windows.h"
}
module locale_base_api {
@@ -1483,7 +1488,6 @@ module std [system] {
textual header "__locale_dir/locale_base_api/ibm.h"
textual header "__locale_dir/locale_base_api/musl.h"
textual header "__locale_dir/locale_base_api/openbsd.h"
- textual header "__locale_dir/locale_base_api/win32.h"
}
export *
}
@@ -1597,6 +1601,21 @@ module std [system] {
module new {
header "new"
+ module align_val_t { header "__new/align_val_t.h" }
+ module allocate { header "__new/allocate.h" }
+ module destroying_delete_t { header "__new/destroying_delete_t.h" }
+ module exceptions { header "__new/exceptions.h" }
+ module global_new_delete {
+ header "__new/global_new_delete.h"
+
+ export std.new.nothrow_t
+ }
+ module interference_size { header "__new/interference_size.h" }
+ module launder { header "__new/launder.h" }
+ module new_handler { header "__new/new_handler.h" }
+ module nothrow_t { header "__new/nothrow_t.h" }
+ module placement_new_delete { header "__new/placement_new_delete.h" }
+
export *
}
@@ -2265,15 +2284,15 @@ module std_stdbool_h [system] {
textual header "stdbool.h"
}
module std_stddef_h [system] {
- // <stddef.h>'s __need_* macros require textual inclusion.
+ // <stddef.h> supports being included multiple times with different pre-defined macros
textual header "stddef.h"
}
module std_stdio_h [system] {
- // <stdio.h>'s __need_* macros require textual inclusion.
+ // <stdio.h> supports being included multiple times with different pre-defined macros
textual header "stdio.h"
}
module std_stdlib_h [system] {
- // <stdlib.h>'s __need_* macros require textual inclusion.
+ // <stdlib.h> supports being included multiple times with different pre-defined macros
textual header "stdlib.h"
}
module std_string_h [system] {
@@ -2289,7 +2308,7 @@ module std_uchar_h [system] {
export *
}
module std_wchar_h [system] {
- // <wchar.h>'s __need_* macros require textual inclusion.
+ // <wchar.h> supports being included multiple times with different pre-defined macros
textual header "wchar.h"
}
module std_wctype_h [system] {
diff --git a/libcxx/include/mutex b/libcxx/include/mutex
index ecbfc5607dcc..9b128e8710aa 100644
--- a/libcxx/include/mutex
+++ b/libcxx/include/mutex
@@ -186,34 +186,37 @@ template<class Callable, class ...Args>
*/
-#include <__chrono/steady_clock.h>
-#include <__chrono/time_point.h>
-#include <__condition_variable/condition_variable.h>
-#include <__config>
-#include <__mutex/lock_guard.h>
-#include <__mutex/mutex.h>
-#include <__mutex/once_flag.h>
-#include <__mutex/tag_types.h>
-#include <__mutex/unique_lock.h>
-#include <__thread/id.h>
-#include <__thread/support.h>
-#include <__utility/forward.h>
-#include <limits>
-#ifndef _LIBCPP_CXX03_LANG
-# include <tuple>
-#endif
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
+#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>
+# include <__config>
+# include <__mutex/lock_guard.h>
+# include <__mutex/mutex.h>
+# include <__mutex/once_flag.h>
+# include <__mutex/tag_types.h>
+# include <__mutex/unique_lock.h>
+# include <__thread/id.h>
+# include <__thread/support.h>
+# include <__utility/forward.h>
+# include <limits>
+# ifndef _LIBCPP_CXX03_LANG
+# include <tuple>
+# endif
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
-#if _LIBCPP_HAS_THREADS
+# if _LIBCPP_HAS_THREADS
class _LIBCPP_EXPORTED_FROM_ABI recursive_mutex {
__libcpp_recursive_mutex_t __m_;
@@ -333,7 +336,7 @@ _LIBCPP_HIDE_FROM_ABI int try_lock(_L0& __l0, _L1& __l1) {
return 0;
}
-# ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _L0, class _L1, class _L2, class... _L3>
_LIBCPP_HIDE_FROM_ABI int try_lock(_L0& __l0, _L1& __l1, _L2& __l2, _L3&... __l3) {
@@ -349,7 +352,7 @@ _LIBCPP_HIDE_FROM_ABI int try_lock(_L0& __l0, _L1& __l1, _L2& __l2, _L3&... __l3
return __r;
}
-# endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _L0, class _L1>
_LIBCPP_HIDE_FROM_ABI void lock(_L0& __l0, _L1& __l1) {
@@ -373,7 +376,7 @@ _LIBCPP_HIDE_FROM_ABI void lock(_L0& __l0, _L1& __l1) {
}
}
-# ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _L0, class _L1, class _L2, class... _L3>
void __lock_first(int __i, _L0& __l0, _L1& __l1, _L2& __l2, _L3&... __l3) {
@@ -416,9 +419,9 @@ inline _LIBCPP_HIDE_FROM_ABI void lock(_L0& __l0, _L1& __l1, _L2& __l2, _L3&...
std::__lock_first(0, __l0, __l1, __l2, __l3...);
}
-# endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class... _Mutexes>
class _LIBCPP_TEMPLATE_VIS scoped_lock;
@@ -489,26 +492,27 @@ private:
};
_LIBCPP_CTAD_SUPPORTED_FOR_TYPE(scoped_lock);
-# endif // _LIBCPP_STD_VER >= 17
-#endif // _LIBCPP_HAS_THREADS
+# endif // _LIBCPP_STD_VER >= 17
+# endif // _LIBCPP_HAS_THREADS
_LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <atomic>
-# include <concepts>
-# include <cstdlib>
-# include <cstring>
-# include <ctime>
-# include <initializer_list>
-# include <iosfwd>
-# include <new>
-# include <stdexcept>
-# include <system_error>
-# include <type_traits>
-# include <typeinfo>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
+# include <concepts>
+# include <cstdlib>
+# include <cstring>
+# include <ctime>
+# include <initializer_list>
+# include <iosfwd>
+# include <new>
+# include <stdexcept>
+# include <system_error>
+# include <type_traits>
+# include <typeinfo>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_MUTEX
diff --git a/libcxx/include/new b/libcxx/include/new
index 49e500809e15..4d72ec27675c 100644
--- a/libcxx/include/new
+++ b/libcxx/include/new
@@ -86,290 +86,39 @@ void operator delete[](void* ptr, void*) noexcept;
*/
-#include <__config>
-#include <__cstddef/max_align_t.h>
-#include <__cstddef/size_t.h>
-#include <__exception/exception.h>
-#include <__type_traits/is_function.h>
-#include <__type_traits/is_void.h>
-#include <__verbose_abort>
-#include <version>
-
-#if defined(_LIBCPP_ABI_VCRUNTIME)
-# include <new.h>
-#endif
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#if defined(__cpp_sized_deallocation) && __cpp_sized_deallocation >= 201309L
-# define _LIBCPP_HAS_LANGUAGE_SIZED_DEALLOCATION 1
-#else
-# define _LIBCPP_HAS_LANGUAGE_SIZED_DEALLOCATION 0
-#endif
-
-#if _LIBCPP_STD_VER >= 14 || _LIBCPP_HAS_LANGUAGE_SIZED_DEALLOCATION
-# define _LIBCPP_HAS_LIBRARY_SIZED_DEALLOCATION 1
-#else
-# define _LIBCPP_HAS_LIBRARY_SIZED_DEALLOCATION 0
-#endif
-
-#if _LIBCPP_HAS_LIBRARY_SIZED_DEALLOCATION && _LIBCPP_HAS_LANGUAGE_SIZED_DEALLOCATION
-# define _LIBCPP_HAS_SIZED_DEALLOCATION 1
-#else
-# define _LIBCPP_HAS_SIZED_DEALLOCATION 0
-#endif
-
-namespace std // purposefully not using versioning namespace
-{
-
-#if !defined(_LIBCPP_ABI_VCRUNTIME)
-struct _LIBCPP_EXPORTED_FROM_ABI nothrow_t {
- explicit nothrow_t() = default;
-};
-extern _LIBCPP_EXPORTED_FROM_ABI const nothrow_t nothrow;
-
-class _LIBCPP_EXPORTED_FROM_ABI bad_alloc : public exception {
-public:
- bad_alloc() _NOEXCEPT;
- _LIBCPP_HIDE_FROM_ABI bad_alloc(const bad_alloc&) _NOEXCEPT = default;
- _LIBCPP_HIDE_FROM_ABI bad_alloc& operator=(const bad_alloc&) _NOEXCEPT = default;
- ~bad_alloc() _NOEXCEPT override;
- const char* what() const _NOEXCEPT override;
-};
-
-class _LIBCPP_EXPORTED_FROM_ABI bad_array_new_length : public bad_alloc {
-public:
- bad_array_new_length() _NOEXCEPT;
- _LIBCPP_HIDE_FROM_ABI bad_array_new_length(const bad_array_new_length&) _NOEXCEPT = default;
- _LIBCPP_HIDE_FROM_ABI bad_array_new_length& operator=(const bad_array_new_length&) _NOEXCEPT = default;
- ~bad_array_new_length() _NOEXCEPT override;
- const char* what() const _NOEXCEPT override;
-};
-
-typedef void (*new_handler)();
-_LIBCPP_EXPORTED_FROM_ABI new_handler set_new_handler(new_handler) _NOEXCEPT;
-_LIBCPP_EXPORTED_FROM_ABI new_handler get_new_handler() _NOEXCEPT;
-
-#elif defined(_HAS_EXCEPTIONS) && _HAS_EXCEPTIONS == 0 // !_LIBCPP_ABI_VCRUNTIME
-
-// When _HAS_EXCEPTIONS == 0, these complete definitions are needed,
-// since they would normally be provided in vcruntime_exception.h
-class bad_alloc : public exception {
-public:
- bad_alloc() noexcept : exception("bad allocation") {}
-
-private:
- friend class bad_array_new_length;
-
- bad_alloc(char const* const __message) noexcept : exception(__message) {}
-};
-
-class bad_array_new_length : public bad_alloc {
-public:
- bad_array_new_length() noexcept : bad_alloc("bad array new length") {}
-};
-#endif // defined(_LIBCPP_ABI_VCRUNTIME) && defined(_HAS_EXCEPTIONS) && _HAS_EXCEPTIONS == 0
-
-[[__noreturn__]] _LIBCPP_EXPORTED_FROM_ABI void __throw_bad_alloc(); // not in C++ spec
-
-[[__noreturn__]] inline _LIBCPP_HIDE_FROM_ABI void __throw_bad_array_new_length() {
-#if _LIBCPP_HAS_EXCEPTIONS
- throw bad_array_new_length();
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/new>
#else
- _LIBCPP_VERBOSE_ABORT("bad_array_new_length was thrown in -fno-exceptions mode");
-#endif
-}
-
-#if _LIBCPP_HAS_LIBRARY_ALIGNED_ALLOCATION && !defined(_LIBCPP_ABI_VCRUNTIME)
-# ifndef _LIBCPP_CXX03_LANG
-enum class align_val_t : size_t {};
-# else
-enum align_val_t { __zero = 0, __max = (size_t)-1 };
+# include <__config>
+# include <__new/align_val_t.h>
+# include <__new/allocate.h>
+# include <__new/exceptions.h>
+# include <__new/global_new_delete.h>
+# include <__new/new_handler.h>
+# include <__new/nothrow_t.h>
+# include <__new/placement_new_delete.h>
+
+# if _LIBCPP_STD_VER >= 17
+# include <__new/interference_size.h>
+# include <__new/launder.h>
# endif
-#endif
-#if _LIBCPP_STD_VER >= 20
-// Enable the declaration even if the compiler doesn't support the language
-// feature.
-struct destroying_delete_t {
- explicit destroying_delete_t() = default;
-};
-inline constexpr destroying_delete_t destroying_delete{};
-#endif // _LIBCPP_STD_VER >= 20
-
-} // namespace std
-
-#if defined(_LIBCPP_CXX03_LANG)
-# define _THROW_BAD_ALLOC throw(std::bad_alloc)
-#else
-# define _THROW_BAD_ALLOC
-#endif
-
-#if !defined(_LIBCPP_ABI_VCRUNTIME)
-
-[[__nodiscard__]] _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz) _THROW_BAD_ALLOC;
-[[__nodiscard__]] _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, const std::nothrow_t&) _NOEXCEPT
- _LIBCPP_NOALIAS;
-_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete(void* __p) _NOEXCEPT;
-_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete(void* __p, const std::nothrow_t&) _NOEXCEPT;
-# if _LIBCPP_HAS_LIBRARY_SIZED_DEALLOCATION
-_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete(void* __p, std::size_t __sz) _NOEXCEPT;
+# if _LIBCPP_STD_VER >= 20
+# include <__new/destroying_delete_t.h>
# endif
-[[__nodiscard__]] _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new[](std::size_t __sz) _THROW_BAD_ALLOC;
-[[__nodiscard__]] _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new[](std::size_t __sz, const std::nothrow_t&) _NOEXCEPT
- _LIBCPP_NOALIAS;
-_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete[](void* __p) _NOEXCEPT;
-_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete[](void* __p, const std::nothrow_t&) _NOEXCEPT;
-# if _LIBCPP_HAS_LIBRARY_SIZED_DEALLOCATION
-_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete[](void* __p, std::size_t __sz) _NOEXCEPT;
-# endif
-
-# if _LIBCPP_HAS_LIBRARY_ALIGNED_ALLOCATION
-[[__nodiscard__]] _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new(std::size_t __sz, std::align_val_t) _THROW_BAD_ALLOC;
-[[__nodiscard__]] _LIBCPP_OVERRIDABLE_FUNC_VIS void*
-operator new(std::size_t __sz, std::align_val_t, const std::nothrow_t&) _NOEXCEPT _LIBCPP_NOALIAS;
-_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete(void* __p, std::align_val_t) _NOEXCEPT;
-_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete(void* __p, std::align_val_t, const std::nothrow_t&) _NOEXCEPT;
-# if _LIBCPP_HAS_LIBRARY_SIZED_DEALLOCATION
-_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete(void* __p, std::size_t __sz, std::align_val_t) _NOEXCEPT;
-# endif
+// feature-test macros
+# include <version>
-[[__nodiscard__]] _LIBCPP_OVERRIDABLE_FUNC_VIS void*
-operator new[](std::size_t __sz, std::align_val_t) _THROW_BAD_ALLOC;
-[[__nodiscard__]] _LIBCPP_OVERRIDABLE_FUNC_VIS void*
-operator new[](std::size_t __sz, std::align_val_t, const std::nothrow_t&) _NOEXCEPT _LIBCPP_NOALIAS;
-_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete[](void* __p, std::align_val_t) _NOEXCEPT;
-_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete[](void* __p, std::align_val_t, const std::nothrow_t&) _NOEXCEPT;
-# if _LIBCPP_HAS_LIBRARY_SIZED_DEALLOCATION
-_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete[](void* __p, std::size_t __sz, std::align_val_t) _NOEXCEPT;
-# endif
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
# endif
-[[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 void*
-operator new(std::size_t, void* __p) _NOEXCEPT {
- return __p;
-}
-[[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX26 void*
-operator new[](std::size_t, void* __p) _NOEXCEPT {
- return __p;
-}
-inline _LIBCPP_HIDE_FROM_ABI void operator delete(void*, void*) _NOEXCEPT {}
-inline _LIBCPP_HIDE_FROM_ABI void operator delete[](void*, void*) _NOEXCEPT {}
-
-#endif // !_LIBCPP_ABI_VCRUNTIME
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-_LIBCPP_CONSTEXPR inline _LIBCPP_HIDE_FROM_ABI bool __is_overaligned_for_new(size_t __align) _NOEXCEPT {
-#ifdef __STDCPP_DEFAULT_NEW_ALIGNMENT__
- return __align > __STDCPP_DEFAULT_NEW_ALIGNMENT__;
-#else
- return __align > _LIBCPP_ALIGNOF(max_align_t);
-#endif
-}
-
-template <class... _Args>
-_LIBCPP_HIDE_FROM_ABI void* __libcpp_operator_new(_Args... __args) {
-#if __has_builtin(__builtin_operator_new) && __has_builtin(__builtin_operator_delete)
- return __builtin_operator_new(__args...);
-#else
- return ::operator new(__args...);
-#endif
-}
-
-template <class... _Args>
-_LIBCPP_HIDE_FROM_ABI void __libcpp_operator_delete(_Args... __args) _NOEXCEPT {
-#if __has_builtin(__builtin_operator_new) && __has_builtin(__builtin_operator_delete)
- __builtin_operator_delete(__args...);
-#else
- ::operator delete(__args...);
-#endif
-}
-
-inline _LIBCPP_HIDE_FROM_ABI void* __libcpp_allocate(size_t __size, size_t __align) {
-#if _LIBCPP_HAS_ALIGNED_ALLOCATION
- if (__is_overaligned_for_new(__align)) {
- const align_val_t __align_val = static_cast<align_val_t>(__align);
- return __libcpp_operator_new(__size, __align_val);
- }
-#endif
-
- (void)__align;
- return __libcpp_operator_new(__size);
-}
-
-template <class... _Args>
-_LIBCPP_HIDE_FROM_ABI void __do_deallocate_handle_size(void* __ptr, size_t __size, _Args... __args) _NOEXCEPT {
-#if !_LIBCPP_HAS_SIZED_DEALLOCATION
- (void)__size;
- return std::__libcpp_operator_delete(__ptr, __args...);
-#else
- return std::__libcpp_operator_delete(__ptr, __size, __args...);
-#endif
-}
-
-inline _LIBCPP_HIDE_FROM_ABI void __libcpp_deallocate(void* __ptr, size_t __size, size_t __align) _NOEXCEPT {
-#if !_LIBCPP_HAS_ALIGNED_ALLOCATION
- (void)__align;
- return __do_deallocate_handle_size(__ptr, __size);
-#else
- if (__is_overaligned_for_new(__align)) {
- const align_val_t __align_val = static_cast<align_val_t>(__align);
- return __do_deallocate_handle_size(__ptr, __size, __align_val);
- } else {
- return __do_deallocate_handle_size(__ptr, __size);
- }
-#endif
-}
-
-inline _LIBCPP_HIDE_FROM_ABI void __libcpp_deallocate_unsized(void* __ptr, size_t __align) _NOEXCEPT {
-#if !_LIBCPP_HAS_ALIGNED_ALLOCATION
- (void)__align;
- return __libcpp_operator_delete(__ptr);
-#else
- if (__is_overaligned_for_new(__align)) {
- const align_val_t __align_val = static_cast<align_val_t>(__align);
- return __libcpp_operator_delete(__ptr, __align_val);
- } else {
- return __libcpp_operator_delete(__ptr);
- }
-#endif
-}
-
-template <class _Tp>
-[[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR _Tp* __launder(_Tp* __p) _NOEXCEPT {
- static_assert(!(is_function<_Tp>::value), "can't launder functions");
- static_assert(!is_void<_Tp>::value, "can't launder cv-void");
- return __builtin_launder(__p);
-}
-
-#if _LIBCPP_STD_VER >= 17
-template <class _Tp>
-[[nodiscard]] inline _LIBCPP_HIDE_FROM_ABI constexpr _Tp* launder(_Tp* __p) noexcept {
- return std::__launder(__p);
-}
-#endif
-
-#if _LIBCPP_STD_VER >= 17
-
-# if defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE)
-
-inline constexpr size_t hardware_destructive_interference_size = __GCC_DESTRUCTIVE_SIZE;
-inline constexpr size_t hardware_constructive_interference_size = __GCC_CONSTRUCTIVE_SIZE;
-
-# endif // defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE)
-
-#endif // _LIBCPP_STD_VER >= 17
-
-_LIBCPP_END_NAMESPACE_STD
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstddef>
-# include <cstdlib>
-# include <type_traits>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstddef>
+# include <cstdlib>
+# include <type_traits>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_NEW
diff --git a/libcxx/include/numbers b/libcxx/include/numbers
index 191563c3d8a5..7c9e38ecb9da 100644
--- a/libcxx/include/numbers
+++ b/libcxx/include/numbers
@@ -58,15 +58,18 @@ namespace std::numbers {
}
*/
-#include <__concepts/arithmetic.h>
-#include <__config>
-#include <version>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/numbers>
+#else
+# include <__concepts/arithmetic.h>
+# include <__config>
+# include <version>
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
-# 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
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -154,12 +157,13 @@ inline constexpr double phi = phi_v<double>;
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <concepts>
-# include <cstddef>
-# include <type_traits>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
+# include <cstddef>
+# include <type_traits>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_NUMBERS
diff --git a/libcxx/include/numeric b/libcxx/include/numeric
index 6b92ce3a0712..2f2b86136fb9 100644
--- a/libcxx/include/numeric
+++ b/libcxx/include/numeric
@@ -156,52 +156,56 @@ constexpr T saturate_cast(U x) noexcept; // freestanding, Sin
*/
-#include <__config>
-
-#include <__numeric/accumulate.h>
-#include <__numeric/adjacent_difference.h>
-#include <__numeric/inner_product.h>
-#include <__numeric/iota.h>
-#include <__numeric/partial_sum.h>
-
-#if _LIBCPP_STD_VER >= 17
-# include <__numeric/exclusive_scan.h>
-# include <__numeric/gcd_lcm.h>
-# include <__numeric/inclusive_scan.h>
-# include <__numeric/pstl.h>
-# include <__numeric/reduce.h>
-# include <__numeric/transform_exclusive_scan.h>
-# include <__numeric/transform_inclusive_scan.h>
-# include <__numeric/transform_reduce.h>
-#endif
-
-#if _LIBCPP_STD_VER >= 20
-# include <__numeric/midpoint.h>
-# include <__numeric/saturation_arithmetic.h>
-#endif
-
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 14
-# include <initializer_list>
-# include <limits>
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <climits>
-# include <cmath>
-# include <concepts>
-# include <cstdint>
-# include <execution>
-# include <functional>
-# include <iterator>
-# include <new>
-# include <optional>
-# include <type_traits>
-#endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/numeric>
+#else
+# include <__config>
+
+# include <__numeric/accumulate.h>
+# include <__numeric/adjacent_difference.h>
+# include <__numeric/inner_product.h>
+# include <__numeric/iota.h>
+# include <__numeric/partial_sum.h>
+
+# if _LIBCPP_STD_VER >= 17
+# include <__numeric/exclusive_scan.h>
+# include <__numeric/gcd_lcm.h>
+# include <__numeric/inclusive_scan.h>
+# include <__numeric/pstl.h>
+# include <__numeric/reduce.h>
+# include <__numeric/transform_exclusive_scan.h>
+# include <__numeric/transform_inclusive_scan.h>
+# include <__numeric/transform_reduce.h>
+# endif
+
+# if _LIBCPP_STD_VER >= 20
+# include <__numeric/midpoint.h>
+# include <__numeric/saturation_arithmetic.h>
+# endif
+
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 14
+# include <initializer_list>
+# include <limits>
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <climits>
+# include <cmath>
+# include <concepts>
+# include <cstdint>
+# include <execution>
+# include <functional>
+# include <iterator>
+# include <new>
+# include <optional>
+# include <type_traits>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_NUMERIC
diff --git a/libcxx/include/optional b/libcxx/include/optional
index 7ad6a9e11694..165e0f16cab9 100644
--- a/libcxx/include/optional
+++ b/libcxx/include/optional
@@ -177,69 +177,71 @@ namespace std {
*/
-#include <__assert>
-#include <__compare/compare_three_way_result.h>
-#include <__compare/ordering.h>
-#include <__compare/three_way_comparable.h>
-#include <__concepts/invocable.h>
-#include <__config>
-#include <__exception/exception.h>
-#include <__functional/hash.h>
-#include <__functional/invoke.h>
-#include <__functional/unary_function.h>
-#include <__fwd/functional.h>
-#include <__memory/addressof.h>
-#include <__memory/construct_at.h>
-#include <__tuple/sfinae_helpers.h>
-#include <__type_traits/add_pointer.h>
-#include <__type_traits/conditional.h>
-#include <__type_traits/conjunction.h>
-#include <__type_traits/decay.h>
-#include <__type_traits/disjunction.h>
-#include <__type_traits/enable_if.h>
-#include <__type_traits/invoke.h>
-#include <__type_traits/is_array.h>
-#include <__type_traits/is_assignable.h>
-#include <__type_traits/is_constructible.h>
-#include <__type_traits/is_convertible.h>
-#include <__type_traits/is_destructible.h>
-#include <__type_traits/is_nothrow_assignable.h>
-#include <__type_traits/is_nothrow_constructible.h>
-#include <__type_traits/is_object.h>
-#include <__type_traits/is_reference.h>
-#include <__type_traits/is_same.h>
-#include <__type_traits/is_scalar.h>
-#include <__type_traits/is_swappable.h>
-#include <__type_traits/is_trivially_assignable.h>
-#include <__type_traits/is_trivially_constructible.h>
-#include <__type_traits/is_trivially_destructible.h>
-#include <__type_traits/is_trivially_relocatable.h>
-#include <__type_traits/negation.h>
-#include <__type_traits/remove_const.h>
-#include <__type_traits/remove_cv.h>
-#include <__type_traits/remove_cvref.h>
-#include <__type_traits/remove_reference.h>
-#include <__utility/declval.h>
-#include <__utility/forward.h>
-#include <__utility/in_place.h>
-#include <__utility/move.h>
-#include <__utility/swap.h>
-#include <__verbose_abort>
-#include <initializer_list>
-#include <new>
-#include <version>
+#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>
+# include <__compare/three_way_comparable.h>
+# include <__concepts/invocable.h>
+# include <__config>
+# include <__exception/exception.h>
+# include <__functional/hash.h>
+# include <__functional/invoke.h>
+# include <__functional/unary_function.h>
+# include <__fwd/functional.h>
+# include <__memory/addressof.h>
+# include <__memory/construct_at.h>
+# include <__tuple/sfinae_helpers.h>
+# include <__type_traits/add_pointer.h>
+# include <__type_traits/conditional.h>
+# include <__type_traits/conjunction.h>
+# include <__type_traits/decay.h>
+# include <__type_traits/disjunction.h>
+# include <__type_traits/enable_if.h>
+# include <__type_traits/invoke.h>
+# include <__type_traits/is_array.h>
+# include <__type_traits/is_assignable.h>
+# include <__type_traits/is_constructible.h>
+# include <__type_traits/is_convertible.h>
+# include <__type_traits/is_destructible.h>
+# include <__type_traits/is_nothrow_assignable.h>
+# include <__type_traits/is_nothrow_constructible.h>
+# include <__type_traits/is_object.h>
+# include <__type_traits/is_reference.h>
+# include <__type_traits/is_same.h>
+# include <__type_traits/is_scalar.h>
+# include <__type_traits/is_swappable.h>
+# include <__type_traits/is_trivially_assignable.h>
+# include <__type_traits/is_trivially_constructible.h>
+# include <__type_traits/is_trivially_destructible.h>
+# include <__type_traits/is_trivially_relocatable.h>
+# include <__type_traits/negation.h>
+# include <__type_traits/remove_const.h>
+# include <__type_traits/remove_cv.h>
+# include <__type_traits/remove_cvref.h>
+# include <__type_traits/remove_reference.h>
+# include <__utility/declval.h>
+# include <__utility/forward.h>
+# include <__utility/in_place.h>
+# include <__utility/move.h>
+# include <__utility/swap.h>
+# include <__verbose_abort>
+# include <initializer_list>
+# include <version>
// standard-mandated includes
// [optional.syn]
-#include <compare>
+# include <compare>
-#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
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
namespace std // purposefully not using versioning namespace
{
@@ -256,17 +258,17 @@ public:
} // namespace std
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
_LIBCPP_BEGIN_NAMESPACE_STD
[[noreturn]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS void
__throw_bad_optional_access() {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
throw bad_optional_access();
-# else
+# else
_LIBCPP_VERBOSE_ABORT("bad_optional_access was thrown in -fno-exceptions mode");
-# endif
+# endif
}
struct nullopt_t {
@@ -304,12 +306,12 @@ struct __optional_destruct_base<_Tp, false> {
_LIBCPP_HIDE_FROM_ABI constexpr explicit __optional_destruct_base(in_place_t, _Args&&... __args)
: __val_(std::forward<_Args>(__args)...), __engaged_(true) {}
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <class _Fp, class... _Args>
_LIBCPP_HIDE_FROM_ABI constexpr explicit __optional_destruct_base(
__optional_construct_from_invoke_tag, _Fp&& __f, _Args&&... __args)
: __val_(std::invoke(std::forward<_Fp>(__f), std::forward<_Args>(__args)...)), __engaged_(true) {}
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void reset() noexcept {
if (__engaged_) {
@@ -335,12 +337,12 @@ struct __optional_destruct_base<_Tp, true> {
_LIBCPP_HIDE_FROM_ABI constexpr explicit __optional_destruct_base(in_place_t, _Args&&... __args)
: __val_(std::forward<_Args>(__args)...), __engaged_(true) {}
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <class _Fp, class... _Args>
_LIBCPP_HIDE_FROM_ABI constexpr __optional_destruct_base(
__optional_construct_from_invoke_tag, _Fp&& __f, _Args&&... __args)
: __val_(std::invoke(std::forward<_Fp>(__f), std::forward<_Args>(__args)...)), __engaged_(true) {}
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void reset() noexcept {
if (__engaged_) {
@@ -564,12 +566,12 @@ using __optional_sfinae_assign_base_t =
template <class _Tp>
class optional;
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _Tp>
concept __is_derived_from_optional = requires(const _Tp& __t) { []<class _Up>(const optional<_Up>&) {}(__t); };
-# endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
template <class _Tp>
struct __is_std_optional : false_type {};
@@ -711,14 +713,14 @@ public:
this->__construct_from(std::move(__v));
}
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <class _Tag,
class _Fp,
class... _Args,
__enable_if_t<_IsSame<_Tag, __optional_construct_from_invoke_tag>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI constexpr explicit optional(_Tag, _Fp&& __f, _Args&&... __args)
: __base(__optional_construct_from_invoke_tag{}, std::forward<_Fp>(__f), std::forward<_Args>(__args)...) {}
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 optional& operator=(nullopt_t) noexcept {
reset();
@@ -864,7 +866,7 @@ public:
return this->has_value() ? std::move(this->__get()) : static_cast<value_type>(std::forward<_Up>(__v));
}
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <class _Func>
_LIBCPP_HIDE_FROM_ABI _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS constexpr auto and_then(_Func&& __f) & {
using _Up = invoke_result_t<_Func, value_type&>;
@@ -974,15 +976,15 @@ public:
return std::move(*this);
return std::forward<_Func>(__f)();
}
-# endif // _LIBCPP_STD_VER >= 23
+# endif // _LIBCPP_STD_VER >= 23
using __base::reset;
};
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _Tp>
optional(_Tp) -> optional<_Tp>;
-# endif
+# endif
// Comparisons between optionals
template <class _Tp, class _Up>
@@ -1057,7 +1059,7 @@ operator>=(const optional<_Tp>& __x, const optional<_Up>& __y) {
return *__x >= *__y;
}
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _Tp, three_way_comparable_with<_Tp> _Up>
_LIBCPP_HIDE_FROM_ABI constexpr compare_three_way_result_t<_Tp, _Up>
@@ -1067,7 +1069,7 @@ operator<=>(const optional<_Tp>& __x, const optional<_Up>& __y) {
return __x.has_value() <=> __y.has_value();
}
-# endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
// Comparisons with nullopt
template <class _Tp>
@@ -1075,7 +1077,7 @@ _LIBCPP_HIDE_FROM_ABI constexpr bool operator==(const optional<_Tp>& __x, nullop
return !static_cast<bool>(__x);
}
-# if _LIBCPP_STD_VER <= 17
+# if _LIBCPP_STD_VER <= 17
template <class _Tp>
_LIBCPP_HIDE_FROM_ABI constexpr bool operator==(nullopt_t, const optional<_Tp>& __x) noexcept {
@@ -1132,14 +1134,14 @@ _LIBCPP_HIDE_FROM_ABI constexpr bool operator>=(nullopt_t, const optional<_Tp>&
return !static_cast<bool>(__x);
}
-# else // _LIBCPP_STD_VER <= 17
+# else // _LIBCPP_STD_VER <= 17
template <class _Tp>
_LIBCPP_HIDE_FROM_ABI constexpr strong_ordering operator<=>(const optional<_Tp>& __x, nullopt_t) noexcept {
return __x.has_value() <=> false;
}
-# endif // _LIBCPP_STD_VER <= 17
+# endif // _LIBCPP_STD_VER <= 17
// Comparisons with T
template <class _Tp, class _Up>
@@ -1238,7 +1240,7 @@ operator>=(const _Tp& __v, const optional<_Up>& __x) {
return static_cast<bool>(__x) ? __v >= *__x : true;
}
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _Tp, class _Up>
requires(!__is_derived_from_optional<_Up>) && three_way_comparable_with<_Tp, _Up>
@@ -1247,7 +1249,7 @@ operator<=>(const optional<_Tp>& __x, const _Up& __v) {
return __x.has_value() ? *__x <=> __v : strong_ordering::less;
}
-# endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
template <class _Tp>
inline _LIBCPP_HIDE_FROM_ABI
@@ -1273,10 +1275,10 @@ _LIBCPP_HIDE_FROM_ABI constexpr optional<_Tp> make_optional(initializer_list<_Up
template <class _Tp>
struct _LIBCPP_TEMPLATE_VIS hash< __enable_hash_helper<optional<_Tp>, remove_const_t<_Tp>> > {
-# if _LIBCPP_STD_VER <= 17 || defined(_LIBCPP_ENABLE_CXX20_REMOVED_BINDER_TYPEDEFS)
+# if _LIBCPP_STD_VER <= 17 || defined(_LIBCPP_ENABLE_CXX20_REMOVED_BINDER_TYPEDEFS)
_LIBCPP_DEPRECATED_IN_CXX17 typedef optional<_Tp> argument_type;
_LIBCPP_DEPRECATED_IN_CXX17 typedef size_t result_type;
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI size_t operator()(const optional<_Tp>& __opt) const {
return static_cast<bool>(__opt) ? hash<remove_const_t<_Tp>>()(*__opt) : 0;
@@ -1285,25 +1287,26 @@ struct _LIBCPP_TEMPLATE_VIS hash< __enable_hash_helper<optional<_Tp>, remove_con
_LIBCPP_END_NAMESPACE_STD
-#endif // _LIBCPP_STD_VER >= 17
+# endif // _LIBCPP_STD_VER >= 17
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <atomic>
-# include <climits>
-# include <concepts>
-# include <ctime>
-# include <iterator>
-# include <limits>
-# include <memory>
-# include <ratio>
-# include <stdexcept>
-# include <tuple>
-# include <type_traits>
-# include <typeinfo>
-# include <utility>
-# include <variant>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
+# include <climits>
+# include <concepts>
+# include <ctime>
+# include <iterator>
+# include <limits>
+# include <memory>
+# include <ratio>
+# include <stdexcept>
+# include <tuple>
+# include <type_traits>
+# include <typeinfo>
+# include <utility>
+# include <variant>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_OPTIONAL
diff --git a/libcxx/include/ostream b/libcxx/include/ostream
index a58ac9b944fa..4a627a07a4a2 100644
--- a/libcxx/include/ostream
+++ b/libcxx/include/ostream
@@ -172,35 +172,39 @@ void vprint_nonunicode(ostream& os, string_view fmt, format_args args);
*/
-#include <__config>
-
-#if _LIBCPP_HAS_LOCALIZATION
-
-# include <__ostream/basic_ostream.h>
-
-# if _LIBCPP_STD_VER >= 23
-# include <__ostream/print.h>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/ostream>
+#else
+# include <__config>
+
+# if _LIBCPP_HAS_LOCALIZATION
+
+# include <__ostream/basic_ostream.h>
+
+# if _LIBCPP_STD_VER >= 23
+# include <__ostream/print.h>
+# endif
+
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+
+# endif // _LIBCPP_HAS_LOCALIZATION
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
+# include <concepts>
+# include <cstdio>
+# include <cstdlib>
+# include <format>
+# include <iosfwd>
+# include <iterator>
+# include <print>
+# include <stdexcept>
+# include <type_traits>
# endif
-
-# include <version>
-
-# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-# endif
-
-#endif // _LIBCPP_HAS_LOCALIZATION
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <atomic>
-# include <concepts>
-# include <cstdio>
-# include <cstdlib>
-# include <format>
-# include <iosfwd>
-# include <iterator>
-# include <print>
-# include <stdexcept>
-# include <type_traits>
-#endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_OSTREAM
diff --git a/libcxx/include/print b/libcxx/include/print
index 8a8b686d18f3..1794d6014efc 100644
--- a/libcxx/include/print
+++ b/libcxx/include/print
@@ -33,28 +33,31 @@ namespace std {
}
*/
-#include <__assert>
-#include <__concepts/same_as.h>
-#include <__config>
-#include <__system_error/throw_system_error.h>
-#include <__utility/forward.h>
-#include <cerrno>
-#include <cstdio>
-#include <format>
-#include <string>
-#include <string_view>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/print>
+#else
+# include <__assert>
+# include <__concepts/same_as.h>
+# include <__config>
+# include <__system_error/throw_system_error.h>
+# include <__utility/forward.h>
+# include <cerrno>
+# include <cstdio>
+# include <format>
+# include <string>
+# include <string_view>
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
_LIBCPP_BEGIN_NAMESPACE_STD
-#ifdef _LIBCPP_WIN32API
+# ifdef _LIBCPP_WIN32API
_LIBCPP_EXPORTED_FROM_ABI bool __is_windows_terminal(FILE* __stream);
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
// A wrapper for WriteConsoleW which is used to write to the Windows
// console. This function is in the dylib to avoid pulling in windows.h
// in the library headers. The function itself uses some private parts
@@ -65,14 +68,14 @@ _LIBCPP_EXPORTED_FROM_ABI bool __is_windows_terminal(FILE* __stream);
//
// Note the function is only implemented on the Windows platform.
_LIBCPP_EXPORTED_FROM_ABI void __write_to_windows_console(FILE* __stream, wstring_view __view);
-# endif // _LIBCPP_HAS_WIDE_CHARACTERS
-#elif __has_include(<unistd.h>)
+# endif // _LIBCPP_HAS_WIDE_CHARACTERS
+# elif __has_include(<unistd.h>)
_LIBCPP_EXPORTED_FROM_ABI bool __is_posix_terminal(FILE* __stream);
-#endif // _LIBCPP_WIN32API
+# endif // _LIBCPP_WIN32API
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
-# if _LIBCPP_HAS_UNICODE
+# if _LIBCPP_HAS_UNICODE
// This is the code to transcode UTF-8 to UTF-16. This is used on
// Windows for the native Unicode API. The code is modeled to make it
// easier to extend to
@@ -86,27 +89,27 @@ namespace __unicode {
// The names of these concepts are modelled after P2728R0, but the
// implementation is not. char16_t may contain 32-bits so depending on the
// number of bits is an issue.
-# ifdef _LIBCPP_SHORT_WCHAR
+# ifdef _LIBCPP_SHORT_WCHAR
template <class _Tp>
concept __utf16_code_unit =
same_as<_Tp, char16_t>
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
|| same_as<_Tp, wchar_t>
-# endif
+# endif
;
template <class _Tp>
concept __utf32_code_unit = same_as<_Tp, char32_t>;
-# else // _LIBCPP_SHORT_WCHAR
+# else // _LIBCPP_SHORT_WCHAR
template <class _Tp>
concept __utf16_code_unit = same_as<_Tp, char16_t>;
template <class _Tp>
concept __utf32_code_unit =
same_as<_Tp, char32_t>
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
|| same_as<_Tp, wchar_t>
-# endif
+# endif
;
-# endif // _LIBCPP_SHORT_WCHAR
+# endif // _LIBCPP_SHORT_WCHAR
// Pass by reference since an output_iterator may not be copyable.
template <class _OutIt>
@@ -164,7 +167,7 @@ _LIBCPP_HIDE_FROM_ABI constexpr _OutIt __transcode(_InIt __first, _InIt __last,
} // namespace __unicode
-# endif // _LIBCPP_HAS_UNICODE
+# endif // _LIBCPP_HAS_UNICODE
namespace __print {
@@ -184,30 +187,30 @@ namespace __print {
// (note at the time of writing Clang is hard-coded to UTF-8.)
//
-# if !_LIBCPP_HAS_UNICODE
+# if !_LIBCPP_HAS_UNICODE
inline constexpr bool __use_unicode_execution_charset = false;
-# elif defined(_MSVC_EXECUTION_CHARACTER_SET)
+# elif defined(_MSVC_EXECUTION_CHARACTER_SET)
// This is the same test MSVC STL uses in their implementation of <print>
// See: https://learn.microsoft.com/en-us/windows/win32/intl/code-page-identifiers
inline constexpr bool __use_unicode_execution_charset = _MSVC_EXECUTION_CHARACTER_SET == 65001;
-# else
+# else
inline constexpr bool __use_unicode_execution_charset = true;
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI inline bool __is_terminal([[maybe_unused]] FILE* __stream) {
// The macro _LIBCPP_TESTING_PRINT_IS_TERMINAL is used to change
// the behavior in the test. This is not part of the public API.
-# ifdef _LIBCPP_TESTING_PRINT_IS_TERMINAL
+# ifdef _LIBCPP_TESTING_PRINT_IS_TERMINAL
return _LIBCPP_TESTING_PRINT_IS_TERMINAL(__stream);
-# elif _LIBCPP_AVAILABILITY_HAS_PRINT == 0 || !_LIBCPP_HAS_TERMINAL
+# elif _LIBCPP_AVAILABILITY_HAS_PRINT == 0 || !_LIBCPP_HAS_TERMINAL
return false;
-# elif defined(_LIBCPP_WIN32API)
+# elif defined(_LIBCPP_WIN32API)
return std::__is_windows_terminal(__stream);
-# elif __has_include(<unistd.h>)
+# elif __has_include(<unistd.h>)
return std::__is_posix_terminal(__stream);
-# else
-# error "Provide a way to determine whether a FILE* is a terminal"
-# endif
+# else
+# error "Provide a way to determine whether a FILE* is a terminal"
+# endif
}
template <class = void> // TODO PRINT template or availability markup fires too eagerly (http://llvm.org/PR61563).
@@ -226,7 +229,7 @@ __vprint_nonunicode(FILE* __stream, string_view __fmt, format_args __args, bool
}
}
-# if _LIBCPP_HAS_UNICODE
+# if _LIBCPP_HAS_UNICODE
// Note these helper functions are mainly used to aid testing.
// On POSIX systems and Windows the output is no longer considered a
@@ -243,7 +246,7 @@ __vprint_unicode_posix(FILE* __stream, string_view __fmt, format_args __args, bo
__print::__vprint_nonunicode(__stream, __fmt, __args, __write_nl);
}
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
template <class = void> // TODO PRINT template or availability markup fires too eagerly (http://llvm.org/PR61563).
_LIBCPP_HIDE_FROM_ABI inline void
__vprint_unicode_windows(FILE* __stream, string_view __fmt, format_args __args, bool __write_nl, bool __is_terminal) {
@@ -272,16 +275,16 @@ __vprint_unicode_windows(FILE* __stream, string_view __fmt, format_args __args,
// The macro _LIBCPP_TESTING_PRINT_WRITE_TO_WINDOWS_CONSOLE_FUNCTION is used to change
// the behavior in the test. This is not part of the public API.
-# ifdef _LIBCPP_TESTING_PRINT_WRITE_TO_WINDOWS_CONSOLE_FUNCTION
+# ifdef _LIBCPP_TESTING_PRINT_WRITE_TO_WINDOWS_CONSOLE_FUNCTION
_LIBCPP_TESTING_PRINT_WRITE_TO_WINDOWS_CONSOLE_FUNCTION(__stream, __view);
-# elif defined(_LIBCPP_WIN32API)
+# elif defined(_LIBCPP_WIN32API)
std::__write_to_windows_console(__stream, __view);
-# else
+# else
std::__throw_runtime_error("No defintion of _LIBCPP_TESTING_PRINT_WRITE_TO_WINDOWS_CONSOLE_FUNCTION and "
"__write_to_windows_console is not available.");
-# endif
+# endif
}
-# endif // _LIBCPP_HAS_WIDE_CHARACTERS
+# endif // _LIBCPP_HAS_WIDE_CHARACTERS
template <class = void> // TODO PRINT template or availability markup fires too eagerly (http://llvm.org/PR61563).
_LIBCPP_HIDE_FROM_ABI inline void
@@ -312,29 +315,29 @@ __vprint_unicode([[maybe_unused]] FILE* __stream,
// so there the call can be forwarded to the non_unicode API. On
// Windows there is a different API. This API requires transcoding.
-# ifndef _LIBCPP_WIN32API
+# ifndef _LIBCPP_WIN32API
__print::__vprint_unicode_posix(__stream, __fmt, __args, __write_nl, __print::__is_terminal(__stream));
-# elif _LIBCPP_HAS_WIDE_CHARACTERS
+# elif _LIBCPP_HAS_WIDE_CHARACTERS
__print::__vprint_unicode_windows(__stream, __fmt, __args, __write_nl, __print::__is_terminal(__stream));
-# else
-# error "Windows builds with wchar_t disabled are not supported."
-# endif
+# else
+# error "Windows builds with wchar_t disabled are not supported."
+# endif
}
-# endif // _LIBCPP_HAS_UNICODE
+# endif // _LIBCPP_HAS_UNICODE
} // namespace __print
template <class... _Args>
_LIBCPP_HIDE_FROM_ABI void print(FILE* __stream, format_string<_Args...> __fmt, _Args&&... __args) {
-# if _LIBCPP_HAS_UNICODE
+# if _LIBCPP_HAS_UNICODE
if constexpr (__print::__use_unicode_execution_charset)
__print::__vprint_unicode(__stream, __fmt.get(), std::make_format_args(__args...), false);
else
__print::__vprint_nonunicode(__stream, __fmt.get(), std::make_format_args(__args...), false);
-# else // _LIBCPP_HAS_UNICODE
+# else // _LIBCPP_HAS_UNICODE
__print::__vprint_nonunicode(__stream, __fmt.get(), std::make_format_args(__args...), false);
-# endif // _LIBCPP_HAS_UNICODE
+# endif // _LIBCPP_HAS_UNICODE
}
template <class... _Args>
@@ -344,7 +347,7 @@ _LIBCPP_HIDE_FROM_ABI void print(format_string<_Args...> __fmt, _Args&&... __arg
template <class... _Args>
_LIBCPP_HIDE_FROM_ABI void println(FILE* __stream, format_string<_Args...> __fmt, _Args&&... __args) {
-# if _LIBCPP_HAS_UNICODE
+# if _LIBCPP_HAS_UNICODE
// Note the wording in the Standard is inefficient. The output of
// std::format is a std::string which is then copied. This solution
// just appends a newline at the end of the output.
@@ -352,9 +355,9 @@ _LIBCPP_HIDE_FROM_ABI void println(FILE* __stream, format_string<_Args...> __fmt
__print::__vprint_unicode(__stream, __fmt.get(), std::make_format_args(__args...), true);
else
__print::__vprint_nonunicode(__stream, __fmt.get(), std::make_format_args(__args...), true);
-# else // _LIBCPP_HAS_UNICODE
+# else // _LIBCPP_HAS_UNICODE
__print::__vprint_nonunicode(__stream, __fmt.get(), std::make_format_args(__args...), true);
-# endif // _LIBCPP_HAS_UNICODE
+# endif // _LIBCPP_HAS_UNICODE
}
template <class = void> // TODO PRINT template or availability markup fires too eagerly (http://llvm.org/PR61563).
@@ -372,7 +375,7 @@ _LIBCPP_HIDE_FROM_ABI void println(format_string<_Args...> __fmt, _Args&&... __a
std::println(stdout, __fmt, std::forward<_Args>(__args)...);
}
-# if _LIBCPP_HAS_UNICODE
+# if _LIBCPP_HAS_UNICODE
template <class = void> // TODO PRINT template or availability markup fires too eagerly (http://llvm.org/PR61563).
_LIBCPP_HIDE_FROM_ABI inline void vprint_unicode(FILE* __stream, string_view __fmt, format_args __args) {
__print::__vprint_unicode(__stream, __fmt, __args, false);
@@ -383,7 +386,7 @@ _LIBCPP_HIDE_FROM_ABI inline void vprint_unicode(string_view __fmt, format_args
std::vprint_unicode(stdout, __fmt, __args);
}
-# endif // _LIBCPP_HAS_UNICODE
+# endif // _LIBCPP_HAS_UNICODE
template <class = void> // TODO PRINT template or availability markup fires too eagerly (http://llvm.org/PR61563).
_LIBCPP_HIDE_FROM_ABI inline void vprint_nonunicode(FILE* __stream, string_view __fmt, format_args __args) {
@@ -395,8 +398,10 @@ _LIBCPP_HIDE_FROM_ABI inline void vprint_nonunicode(string_view __fmt, format_ar
std::vprint_nonunicode(stdout, __fmt, __args);
}
-#endif // _LIBCPP_STD_VER >= 23
+# endif // _LIBCPP_STD_VER >= 23
_LIBCPP_END_NAMESPACE_STD
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+
#endif // _LIBCPP_PRINT
diff --git a/libcxx/include/queue b/libcxx/include/queue
index db9ad26eaedd..ff69d75591de 100644
--- a/libcxx/include/queue
+++ b/libcxx/include/queue
@@ -254,38 +254,41 @@ template <class T, class Container, class Compare>
*/
-#include <__algorithm/make_heap.h>
-#include <__algorithm/pop_heap.h>
-#include <__algorithm/push_heap.h>
-#include <__algorithm/ranges_copy.h>
-#include <__config>
-#include <__functional/operations.h>
-#include <__fwd/deque.h>
-#include <__fwd/queue.h>
-#include <__iterator/back_insert_iterator.h>
-#include <__iterator/iterator_traits.h>
-#include <__memory/uses_allocator.h>
-#include <__ranges/access.h>
-#include <__ranges/concepts.h>
-#include <__ranges/container_compatible_range.h>
-#include <__ranges/from_range.h>
-#include <__utility/forward.h>
-#include <deque>
-#include <vector>
-#include <version>
+#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>
+# include <__algorithm/ranges_copy.h>
+# include <__config>
+# include <__functional/operations.h>
+# include <__fwd/deque.h>
+# include <__fwd/queue.h>
+# include <__iterator/back_insert_iterator.h>
+# include <__iterator/iterator_traits.h>
+# include <__memory/uses_allocator.h>
+# include <__ranges/access.h>
+# include <__ranges/concepts.h>
+# include <__ranges/container_compatible_range.h>
+# include <__ranges/from_range.h>
+# include <__utility/forward.h>
+# include <deque>
+# include <vector>
+# include <version>
// standard-mandated includes
// [queue.syn]
-#include <compare>
-#include <initializer_list>
+# include <compare>
+# include <initializer_list>
-#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
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -313,7 +316,7 @@ public:
_LIBCPP_HIDE_FROM_ABI queue(const queue& __q) : c(__q.c) {}
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <class _InputIterator, __enable_if_t<__has_input_iterator_category<_InputIterator>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI queue(_InputIterator __first, _InputIterator __last) : c(__first, __last) {}
@@ -333,14 +336,14 @@ public:
_LIBCPP_HIDE_FROM_ABI queue(from_range_t, _Range&& __range, const _Alloc& __alloc)
: c(from_range, std::forward<_Range>(__range), __alloc) {}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI queue& operator=(const queue& __q) {
c = __q.c;
return *this;
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI queue(queue&& __q) noexcept(is_nothrow_move_constructible<container_type>::value)
: c(std::move(__q.c)) {}
@@ -348,12 +351,12 @@ public:
c = std::move(__q.c);
return *this;
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI explicit queue(const container_type& __c) : c(__c) {}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI explicit queue(container_type&& __c) : c(std::move(__c)) {}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Alloc, __enable_if_t<uses_allocator<container_type, _Alloc>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI explicit queue(const _Alloc& __a) : c(__a) {}
@@ -364,13 +367,13 @@ public:
template <class _Alloc, __enable_if_t<uses_allocator<container_type, _Alloc>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI queue(const container_type& __c, const _Alloc& __a) : c(__c, __a) {}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Alloc, __enable_if_t<uses_allocator<container_type, _Alloc>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI queue(container_type&& __c, const _Alloc& __a) : c(std::move(__c), __a) {}
template <class _Alloc, __enable_if_t<uses_allocator<container_type, _Alloc>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI queue(queue&& __q, const _Alloc& __a) : c(std::move(__q.c), __a) {}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI bool empty() const { return c.empty(); }
_LIBCPP_HIDE_FROM_ABI size_type size() const { return c.size(); }
@@ -381,10 +384,10 @@ public:
_LIBCPP_HIDE_FROM_ABI const_reference back() const { return c.back(); }
_LIBCPP_HIDE_FROM_ABI void push(const value_type& __v) { c.push_back(__v); }
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI void push(value_type&& __v) { c.push_back(std::move(__v)); }
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<_Tp> _Range>
_LIBCPP_HIDE_FROM_ABI void push_range(_Range&& __range) {
if constexpr (requires(container_type& __c) { __c.append_range(std::forward<_Range>(__range)); }) {
@@ -393,22 +396,22 @@ public:
ranges::copy(std::forward<_Range>(__range), std::back_inserter(c));
}
}
-# endif
+# endif
template <class... _Args>
_LIBCPP_HIDE_FROM_ABI
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
decltype(auto)
emplace(_Args&&... __args) {
return c.emplace_back(std::forward<_Args>(__args)...);
}
-# else
+# else
void
emplace(_Args&&... __args) {
c.emplace_back(std::forward<_Args>(__args)...);
}
-# endif
-#endif // _LIBCPP_CXX03_LANG
+# endif
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI void pop() { c.pop_front(); }
_LIBCPP_HIDE_FROM_ABI void swap(queue& __q) _NOEXCEPT_(__is_nothrow_swappable_v<container_type>) {
@@ -427,7 +430,7 @@ public:
operator<(const queue<_T1, _OtherContainer>& __x, const queue<_T1, _OtherContainer>& __y);
};
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _Container, class = enable_if_t<!__is_allocator<_Container>::value> >
queue(_Container) -> queue<typename _Container::value_type, _Container>;
@@ -436,9 +439,9 @@ template <class _Container,
class = enable_if_t<!__is_allocator<_Container>::value>,
class = enable_if_t<uses_allocator<_Container, _Alloc>::value> >
queue(_Container, _Alloc) -> queue<typename _Container::value_type, _Container>;
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <class _InputIterator, __enable_if_t<__has_input_iterator_category<_InputIterator>::value, int> = 0>
queue(_InputIterator, _InputIterator) -> queue<__iter_value_type<_InputIterator>>;
@@ -457,7 +460,7 @@ template <ranges::input_range _Range, class _Alloc, __enable_if_t<__is_allocator
queue(from_range_t,
_Range&&,
_Alloc) -> queue<ranges::range_value_t<_Range>, deque<ranges::range_value_t<_Range>, _Alloc>>;
-#endif
+# endif
template <class _Tp, class _Container>
inline _LIBCPP_HIDE_FROM_ABI bool operator==(const queue<_Tp, _Container>& __x, const queue<_Tp, _Container>& __y) {
@@ -489,7 +492,7 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator<=(const queue<_Tp, _Container>& __x,
return !(__y < __x);
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _Tp, three_way_comparable _Container>
_LIBCPP_HIDE_FROM_ABI compare_three_way_result_t<_Container>
@@ -498,7 +501,7 @@ operator<=>(const queue<_Tp, _Container>& __x, const queue<_Tp, _Container>& __y
return __x.__get_container() <=> __y.__get_container();
}
-#endif
+# endif
template <class _Tp, class _Container, __enable_if_t<__is_swappable_v<_Container>, int> = 0>
inline _LIBCPP_HIDE_FROM_ABI void swap(queue<_Tp, _Container>& __x, queue<_Tp, _Container>& __y)
@@ -538,7 +541,7 @@ public:
return *this;
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI priority_queue(priority_queue&& __q) noexcept(
is_nothrow_move_constructible<container_type>::value && is_nothrow_move_constructible<value_compare>::value)
: c(std::move(__q.c)), comp(std::move(__q.comp)) {}
@@ -549,13 +552,13 @@ public:
comp = std::move(__q.comp);
return *this;
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI explicit priority_queue(const value_compare& __comp) : c(), comp(__comp) {}
_LIBCPP_HIDE_FROM_ABI priority_queue(const value_compare& __comp, const container_type& __c);
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI priority_queue(const value_compare& __comp, container_type&& __c);
-#endif
+# endif
template <class _InputIter, __enable_if_t<__has_input_iterator_category<_InputIter>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI priority_queue(_InputIter __f, _InputIter __l, const value_compare& __comp = value_compare());
@@ -563,19 +566,19 @@ public:
_LIBCPP_HIDE_FROM_ABI
priority_queue(_InputIter __f, _InputIter __l, const value_compare& __comp, const container_type& __c);
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _InputIter, __enable_if_t<__has_input_iterator_category<_InputIter>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI
priority_queue(_InputIter __f, _InputIter __l, const value_compare& __comp, container_type&& __c);
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<_Tp> _Range>
_LIBCPP_HIDE_FROM_ABI priority_queue(from_range_t, _Range&& __range, const value_compare& __comp = value_compare())
: c(from_range, std::forward<_Range>(__range)), comp(__comp) {
std::make_heap(c.begin(), c.end(), comp);
}
-#endif
+# endif
template <class _Alloc, __enable_if_t<uses_allocator<container_type, _Alloc>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI explicit priority_queue(const _Alloc& __a);
@@ -589,13 +592,13 @@ public:
template <class _Alloc, __enable_if_t<uses_allocator<container_type, _Alloc>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI priority_queue(const priority_queue& __q, const _Alloc& __a);
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Alloc, __enable_if_t<uses_allocator<container_type, _Alloc>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI priority_queue(const value_compare& __comp, container_type&& __c, const _Alloc& __a);
template <class _Alloc, __enable_if_t<uses_allocator<container_type, _Alloc>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI priority_queue(priority_queue&& __q, const _Alloc& __a);
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <
class _InputIter,
@@ -619,7 +622,7 @@ public:
_LIBCPP_HIDE_FROM_ABI priority_queue(
_InputIter __f, _InputIter __l, const value_compare& __comp, const container_type& __c, const _Alloc& __a);
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <
class _InputIter,
class _Alloc,
@@ -627,9 +630,9 @@ public:
int> = 0>
_LIBCPP_HIDE_FROM_ABI
priority_queue(_InputIter __f, _InputIter __l, const value_compare& __comp, container_type&& __c, const _Alloc& __a);
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<_Tp> _Range,
class _Alloc,
@@ -647,17 +650,17 @@ public:
std::make_heap(c.begin(), c.end(), comp);
}
-#endif
+# endif
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI bool empty() const { return c.empty(); }
_LIBCPP_HIDE_FROM_ABI size_type size() const { return c.size(); }
_LIBCPP_HIDE_FROM_ABI const_reference top() const { return c.front(); }
_LIBCPP_HIDE_FROM_ABI void push(const value_type& __v);
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI void push(value_type&& __v);
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<_Tp> _Range>
_LIBCPP_HIDE_FROM_ABI void push_range(_Range&& __range) {
if constexpr (requires(container_type& __c) { __c.append_range(std::forward<_Range>(__range)); }) {
@@ -668,11 +671,11 @@ public:
std::make_heap(c.begin(), c.end(), comp);
}
-# endif
+# endif
template <class... _Args>
_LIBCPP_HIDE_FROM_ABI void emplace(_Args&&... __args);
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI void pop();
_LIBCPP_HIDE_FROM_ABI void swap(priority_queue& __q)
@@ -681,7 +684,7 @@ public:
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const _Container& __get_container() const { return c; }
};
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _Compare,
class _Container,
class = enable_if_t<!__is_allocator<_Compare>::value>,
@@ -735,9 +738,9 @@ template <class _InputIterator,
class = enable_if_t<uses_allocator<_Container, _Alloc>::value> >
priority_queue(_InputIterator, _InputIterator, _Compare, _Container, _Alloc)
-> priority_queue<typename _Container::value_type, _Container, _Compare>;
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <ranges::input_range _Range,
class _Compare = less<ranges::range_value_t<_Range>>,
@@ -757,7 +760,7 @@ template <ranges::input_range _Range, class _Alloc, class = enable_if_t<__is_all
priority_queue(from_range_t, _Range&&, _Alloc)
-> priority_queue<ranges::range_value_t<_Range>, vector<ranges::range_value_t<_Range>, _Alloc>>;
-#endif
+# endif
template <class _Tp, class _Container, class _Compare>
inline priority_queue<_Tp, _Container, _Compare>::priority_queue(const _Compare& __comp, const container_type& __c)
@@ -765,7 +768,7 @@ inline priority_queue<_Tp, _Container, _Compare>::priority_queue(const _Compare&
std::make_heap(c.begin(), c.end(), comp);
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Tp, class _Container, class _Compare>
inline priority_queue<_Tp, _Container, _Compare>::priority_queue(const value_compare& __comp, container_type&& __c)
@@ -773,7 +776,7 @@ inline priority_queue<_Tp, _Container, _Compare>::priority_queue(const value_com
std::make_heap(c.begin(), c.end(), comp);
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Tp, class _Container, class _Compare>
template <class _InputIter, __enable_if_t<__has_input_iterator_category<_InputIter>::value, int> >
@@ -792,7 +795,7 @@ inline priority_queue<_Tp, _Container, _Compare>::priority_queue(
std::make_heap(c.begin(), c.end(), comp);
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Tp, class _Container, class _Compare>
template <class _InputIter, __enable_if_t<__has_input_iterator_category<_InputIter>::value, int> >
@@ -803,7 +806,7 @@ inline priority_queue<_Tp, _Container, _Compare>::priority_queue(
std::make_heap(c.begin(), c.end(), comp);
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Tp, class _Container, class _Compare>
template <class _Alloc, __enable_if_t<uses_allocator<_Container, _Alloc>::value, int> >
@@ -827,7 +830,7 @@ template <class _Alloc, __enable_if_t<uses_allocator<_Container, _Alloc>::value,
inline priority_queue<_Tp, _Container, _Compare>::priority_queue(const priority_queue& __q, const _Alloc& __a)
: c(__q.c, __a), comp(__q.comp) {}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Tp, class _Container, class _Compare>
template <class _Alloc, __enable_if_t<uses_allocator<_Container, _Alloc>::value, int> >
@@ -842,7 +845,7 @@ template <class _Alloc, __enable_if_t<uses_allocator<_Container, _Alloc>::value,
inline priority_queue<_Tp, _Container, _Compare>::priority_queue(priority_queue&& __q, const _Alloc& __a)
: c(std::move(__q.c), __a), comp(std::move(__q.comp)) {}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Tp, class _Container, class _Compare>
template <
@@ -877,7 +880,7 @@ inline priority_queue<_Tp, _Container, _Compare>::priority_queue(
std::make_heap(c.begin(), c.end(), comp);
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Tp, class _Container, class _Compare>
template <
class _InputIter,
@@ -889,7 +892,7 @@ inline priority_queue<_Tp, _Container, _Compare>::priority_queue(
c.insert(c.end(), __f, __l);
std::make_heap(c.begin(), c.end(), comp);
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Tp, class _Container, class _Compare>
inline void priority_queue<_Tp, _Container, _Compare>::push(const value_type& __v) {
@@ -897,7 +900,7 @@ inline void priority_queue<_Tp, _Container, _Compare>::push(const value_type& __
std::push_heap(c.begin(), c.end(), comp);
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Tp, class _Container, class _Compare>
inline void priority_queue<_Tp, _Container, _Compare>::push(value_type&& __v) {
@@ -912,7 +915,7 @@ inline void priority_queue<_Tp, _Container, _Compare>::emplace(_Args&&... __args
std::push_heap(c.begin(), c.end(), comp);
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Tp, class _Container, class _Compare>
inline void priority_queue<_Tp, _Container, _Compare>::pop() {
@@ -946,11 +949,12 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <concepts>
-# include <cstdlib>
-# include <functional>
-# include <type_traits>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
+# include <cstdlib>
+# include <functional>
+# include <type_traits>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_QUEUE
diff --git a/libcxx/include/random b/libcxx/include/random
index 6cc3760c20e1..a2fc2bd5197e 100644
--- a/libcxx/include/random
+++ b/libcxx/include/random
@@ -1677,66 +1677,70 @@ class piecewise_linear_distribution
} // std
*/
-#include <__config>
-#include <__random/bernoulli_distribution.h>
-#include <__random/binomial_distribution.h>
-#include <__random/cauchy_distribution.h>
-#include <__random/chi_squared_distribution.h>
-#include <__random/default_random_engine.h>
-#include <__random/discard_block_engine.h>
-#include <__random/discrete_distribution.h>
-#include <__random/exponential_distribution.h>
-#include <__random/extreme_value_distribution.h>
-#include <__random/fisher_f_distribution.h>
-#include <__random/gamma_distribution.h>
-#include <__random/generate_canonical.h>
-#include <__random/geometric_distribution.h>
-#include <__random/independent_bits_engine.h>
-#include <__random/is_seed_sequence.h>
-#include <__random/knuth_b.h>
-#include <__random/linear_congruential_engine.h>
-#include <__random/lognormal_distribution.h>
-#include <__random/mersenne_twister_engine.h>
-#include <__random/negative_binomial_distribution.h>
-#include <__random/normal_distribution.h>
-#include <__random/piecewise_constant_distribution.h>
-#include <__random/piecewise_linear_distribution.h>
-#include <__random/poisson_distribution.h>
-#include <__random/random_device.h>
-#include <__random/ranlux.h>
-#include <__random/seed_seq.h>
-#include <__random/shuffle_order_engine.h>
-#include <__random/student_t_distribution.h>
-#include <__random/subtract_with_carry_engine.h>
-#include <__random/uniform_int_distribution.h>
-#include <__random/uniform_random_bit_generator.h>
-#include <__random/uniform_real_distribution.h>
-#include <__random/weibull_distribution.h>
-#include <version>
+#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>
+# include <__random/cauchy_distribution.h>
+# include <__random/chi_squared_distribution.h>
+# include <__random/default_random_engine.h>
+# include <__random/discard_block_engine.h>
+# include <__random/discrete_distribution.h>
+# include <__random/exponential_distribution.h>
+# include <__random/extreme_value_distribution.h>
+# include <__random/fisher_f_distribution.h>
+# include <__random/gamma_distribution.h>
+# include <__random/generate_canonical.h>
+# include <__random/geometric_distribution.h>
+# include <__random/independent_bits_engine.h>
+# include <__random/is_seed_sequence.h>
+# include <__random/knuth_b.h>
+# include <__random/linear_congruential_engine.h>
+# include <__random/lognormal_distribution.h>
+# include <__random/mersenne_twister_engine.h>
+# include <__random/negative_binomial_distribution.h>
+# include <__random/normal_distribution.h>
+# include <__random/piecewise_constant_distribution.h>
+# include <__random/piecewise_linear_distribution.h>
+# include <__random/poisson_distribution.h>
+# include <__random/random_device.h>
+# include <__random/ranlux.h>
+# include <__random/seed_seq.h>
+# include <__random/shuffle_order_engine.h>
+# include <__random/student_t_distribution.h>
+# include <__random/subtract_with_carry_engine.h>
+# include <__random/uniform_int_distribution.h>
+# include <__random/uniform_random_bit_generator.h>
+# include <__random/uniform_real_distribution.h>
+# include <__random/weibull_distribution.h>
+# include <version>
// standard-mandated includes
// [rand.synopsis]
-#include <initializer_list>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <algorithm>
-# include <climits>
-# include <cmath>
-# include <concepts>
-# include <cstddef>
-# include <cstdint>
-# include <cstdlib>
-# include <iosfwd>
-# include <limits>
-# include <numeric>
-# include <string>
-# include <type_traits>
-# include <vector>
-#endif
+# include <initializer_list>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <algorithm>
+# include <climits>
+# include <cmath>
+# include <concepts>
+# include <cstddef>
+# include <cstdint>
+# include <cstdlib>
+# include <iosfwd>
+# include <limits>
+# include <numeric>
+# include <string>
+# include <type_traits>
+# include <vector>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_RANDOM
diff --git a/libcxx/include/ranges b/libcxx/include/ranges
index d8ee6f75e8b2..9ef614d21f52 100644
--- a/libcxx/include/ranges
+++ b/libcxx/include/ranges
@@ -380,76 +380,80 @@ namespace std {
}
*/
-#include <__config>
-
-#if _LIBCPP_STD_VER >= 20
-# include <__ranges/access.h>
-# include <__ranges/all.h>
-# include <__ranges/common_view.h>
-# include <__ranges/concepts.h>
-# include <__ranges/counted.h>
-# include <__ranges/dangling.h>
-# include <__ranges/data.h>
-# include <__ranges/drop_view.h>
-# include <__ranges/drop_while_view.h>
-# include <__ranges/elements_view.h>
-# include <__ranges/empty.h>
-# include <__ranges/empty_view.h>
-# include <__ranges/enable_borrowed_range.h>
-# include <__ranges/enable_view.h>
-# include <__ranges/filter_view.h>
-# include <__ranges/iota_view.h>
-# include <__ranges/join_view.h>
-# include <__ranges/lazy_split_view.h>
-# include <__ranges/rbegin.h>
-# include <__ranges/ref_view.h>
-# include <__ranges/rend.h>
-# include <__ranges/reverse_view.h>
-# include <__ranges/single_view.h>
-# include <__ranges/size.h>
-# include <__ranges/split_view.h>
-# include <__ranges/subrange.h>
-# include <__ranges/take_view.h>
-# include <__ranges/take_while_view.h>
-# include <__ranges/transform_view.h>
-# include <__ranges/view_interface.h>
-# include <__ranges/views.h>
-
-# if _LIBCPP_HAS_LOCALIZATION
-# include <__ranges/istream_view.h>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/ranges>
+#else
+# include <__config>
+
+# if _LIBCPP_STD_VER >= 20
+# include <__ranges/access.h>
+# include <__ranges/all.h>
+# include <__ranges/common_view.h>
+# include <__ranges/concepts.h>
+# include <__ranges/counted.h>
+# include <__ranges/dangling.h>
+# include <__ranges/data.h>
+# include <__ranges/drop_view.h>
+# include <__ranges/drop_while_view.h>
+# include <__ranges/elements_view.h>
+# include <__ranges/empty.h>
+# include <__ranges/empty_view.h>
+# include <__ranges/enable_borrowed_range.h>
+# include <__ranges/enable_view.h>
+# include <__ranges/filter_view.h>
+# include <__ranges/iota_view.h>
+# include <__ranges/join_view.h>
+# include <__ranges/lazy_split_view.h>
+# include <__ranges/rbegin.h>
+# include <__ranges/ref_view.h>
+# include <__ranges/rend.h>
+# include <__ranges/reverse_view.h>
+# include <__ranges/single_view.h>
+# include <__ranges/size.h>
+# include <__ranges/split_view.h>
+# include <__ranges/subrange.h>
+# include <__ranges/take_view.h>
+# include <__ranges/take_while_view.h>
+# include <__ranges/transform_view.h>
+# include <__ranges/view_interface.h>
+# include <__ranges/views.h>
+
+# if _LIBCPP_HAS_LOCALIZATION
+# include <__ranges/istream_view.h>
+# endif
# endif
-#endif
-#if _LIBCPP_STD_VER >= 23
-# include <__ranges/as_rvalue_view.h>
-# include <__ranges/chunk_by_view.h>
-# include <__ranges/from_range.h>
-# include <__ranges/repeat_view.h>
-# include <__ranges/to.h>
-# include <__ranges/zip_view.h>
-#endif
+# if _LIBCPP_STD_VER >= 23
+# include <__ranges/as_rvalue_view.h>
+# include <__ranges/chunk_by_view.h>
+# include <__ranges/from_range.h>
+# include <__ranges/repeat_view.h>
+# include <__ranges/to.h>
+# include <__ranges/zip_view.h>
+# endif
-#include <version>
+# include <version>
// standard-mandated includes
// [ranges.syn]
-#include <compare>
-#include <initializer_list>
-#include <iterator>
+# include <compare>
+# include <initializer_list>
+# include <iterator>
// [tuple.helper]
-#include <__tuple/tuple_element.h>
-#include <__tuple/tuple_size.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstdlib>
-# include <iosfwd>
-# include <type_traits>
-#endif
+# include <__tuple/tuple_element.h>
+# include <__tuple/tuple_size.h>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstdlib>
+# include <iosfwd>
+# include <type_traits>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_RANGES
diff --git a/libcxx/include/ratio b/libcxx/include/ratio
index bd262437db34..b35e2bd9dad6 100644
--- a/libcxx/include/ratio
+++ b/libcxx/include/ratio
@@ -81,18 +81,21 @@ using quetta = ratio <1'000'000'000'000'000'000'000'000'000'000, 1>; // Since C+
}
*/
-#include <__config>
-#include <__type_traits/integral_constant.h>
-#include <climits>
-#include <cstdint>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/ratio>
+#else
+# include <__config>
+# include <__type_traits/integral_constant.h>
+# include <climits>
+# include <cstdint>
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -279,17 +282,17 @@ public:
__ll_mul<_R2::den / __gcd_n1_d2, _R1::den / __gcd_d1_n2>::value >::type type;
};
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _R1, class _R2>
using ratio_multiply = typename __ratio_multiply<_R1, _R2>::type;
-#else // _LIBCPP_CXX03_LANG
+# else // _LIBCPP_CXX03_LANG
template <class _R1, class _R2>
struct _LIBCPP_TEMPLATE_VIS ratio_multiply : public __ratio_multiply<_R1, _R2>::type {};
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _R1, class _R2>
struct __ratio_divide {
@@ -305,17 +308,17 @@ public:
__ll_mul<_R2::num / __gcd_n1_n2, _R1::den / __gcd_d1_d2>::value >::type type;
};
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _R1, class _R2>
using ratio_divide = typename __ratio_divide<_R1, _R2>::type;
-#else // _LIBCPP_CXX03_LANG
+# else // _LIBCPP_CXX03_LANG
template <class _R1, class _R2>
struct _LIBCPP_TEMPLATE_VIS ratio_divide : public __ratio_divide<_R1, _R2>::type {};
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _R1, class _R2>
struct __ratio_add {
@@ -334,17 +337,17 @@ public:
_R2::den > >::type type;
};
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _R1, class _R2>
using ratio_add = typename __ratio_add<_R1, _R2>::type;
-#else // _LIBCPP_CXX03_LANG
+# else // _LIBCPP_CXX03_LANG
template <class _R1, class _R2>
struct _LIBCPP_TEMPLATE_VIS ratio_add : public __ratio_add<_R1, _R2>::type {};
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _R1, class _R2>
struct __ratio_subtract {
@@ -363,17 +366,17 @@ public:
_R2::den > >::type type;
};
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _R1, class _R2>
using ratio_subtract = typename __ratio_subtract<_R1, _R2>::type;
-#else // _LIBCPP_CXX03_LANG
+# else // _LIBCPP_CXX03_LANG
template <class _R1, class _R2>
struct _LIBCPP_TEMPLATE_VIS ratio_subtract : public __ratio_subtract<_R1, _R2>::type {};
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
// ratio_equal
@@ -464,7 +467,7 @@ struct _LIBCPP_TEMPLATE_VIS ratio_greater_equal : _BoolConstant<!ratio_less<_R1,
template <class _R1, class _R2>
using __ratio_gcd = ratio<__static_gcd<_R1::num, _R2::num>, __static_lcm<_R1::den, _R2::den> >;
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _R1, class _R2>
inline constexpr bool ratio_equal_v = ratio_equal<_R1, _R2>::value;
@@ -482,14 +485,15 @@ inline constexpr bool ratio_greater_v = ratio_greater<_R1, _R2>::value;
template <class _R1, class _R2>
inline constexpr bool ratio_greater_equal_v = ratio_greater_equal<_R1, _R2>::value;
-#endif
+# endif
_LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <type_traits>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <type_traits>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_RATIO
diff --git a/libcxx/include/regex b/libcxx/include/regex
index bd75e8de7db4..15ec15a6985e 100644
--- a/libcxx/include/regex
+++ b/libcxx/include/regex
@@ -789,48 +789,51 @@ typedef regex_token_iterator<wstring::const_iterator> wsregex_token_iterator;
} // std
*/
-#include <__algorithm/find.h>
-#include <__algorithm/search.h>
-#include <__assert>
-#include <__config>
-#include <__iterator/back_insert_iterator.h>
-#include <__iterator/default_sentinel.h>
-#include <__iterator/wrap_iter.h>
-#include <__locale>
-#include <__memory/shared_ptr.h>
-#include <__memory_resource/polymorphic_allocator.h>
-#include <__type_traits/is_swappable.h>
-#include <__utility/move.h>
-#include <__utility/pair.h>
-#include <__utility/swap.h>
-#include <__verbose_abort>
-#include <deque>
-#include <stdexcept>
-#include <string>
-#include <vector>
-#include <version>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/regex>
+#else
+# include <__algorithm/find.h>
+# include <__algorithm/search.h>
+# include <__assert>
+# include <__config>
+# include <__iterator/back_insert_iterator.h>
+# include <__iterator/default_sentinel.h>
+# include <__iterator/wrap_iter.h>
+# include <__locale>
+# include <__memory/shared_ptr.h>
+# include <__memory_resource/polymorphic_allocator.h>
+# include <__type_traits/is_swappable.h>
+# include <__utility/move.h>
+# include <__utility/pair.h>
+# include <__utility/swap.h>
+# include <__verbose_abort>
+# include <deque>
+# include <stdexcept>
+# include <string>
+# include <vector>
+# include <version>
// standard-mandated includes
// [iterator.range]
-#include <__iterator/access.h>
-#include <__iterator/data.h>
-#include <__iterator/empty.h>
-#include <__iterator/reverse_access.h>
-#include <__iterator/size.h>
+# include <__iterator/access.h>
+# include <__iterator/data.h>
+# include <__iterator/empty.h>
+# include <__iterator/reverse_access.h>
+# include <__iterator/size.h>
// [re.syn]
-#include <compare>
-#include <initializer_list>
+# include <compare>
+# include <initializer_list>
-#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
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
-#define _LIBCPP_REGEX_COMPLEXITY_FACTOR 4096
+# define _LIBCPP_REGEX_COMPLEXITY_FACTOR 4096
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -843,11 +846,11 @@ enum syntax_option_type {
nosubs = 1 << 1,
optimize = 1 << 2,
collate = 1 << 3,
-#ifdef _LIBCPP_ABI_REGEX_CONSTANTS_NONZERO
+# ifdef _LIBCPP_ABI_REGEX_CONSTANTS_NONZERO
ECMAScript = 1 << 9,
-#else
+# else
ECMAScript = 0,
-#endif
+# endif
basic = 1 << 4,
extended = 1 << 5,
awk = 1 << 6,
@@ -858,11 +861,11 @@ enum syntax_option_type {
};
_LIBCPP_HIDE_FROM_ABI inline _LIBCPP_CONSTEXPR syntax_option_type __get_grammar(syntax_option_type __g) {
-#ifdef _LIBCPP_ABI_REGEX_CONSTANTS_NONZERO
+# ifdef _LIBCPP_ABI_REGEX_CONSTANTS_NONZERO
return static_cast<syntax_option_type>(__g & 0x3F0);
-#else
+# else
return static_cast<syntax_option_type>(__g & 0x1F0);
-#endif
+# endif
}
inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR syntax_option_type operator~(syntax_option_type __x) {
@@ -984,11 +987,11 @@ public:
template <regex_constants::error_type _Ev>
[[__noreturn__]] inline _LIBCPP_HIDE_FROM_ABI void __throw_regex_error() {
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
throw regex_error(_Ev);
-#else
+# else
_LIBCPP_VERBOSE_ABORT("regex_error was thrown in -fno-exceptions mode");
-#endif
+# endif
}
template <class _CharT>
@@ -997,7 +1000,7 @@ public:
typedef _CharT char_type;
typedef basic_string<char_type> string_type;
typedef locale locale_type;
-#if defined(__BIONIC__) || defined(_NEWLIB_VERSION)
+# if defined(__BIONIC__) || defined(_NEWLIB_VERSION)
// Originally bionic's ctype_base used its own ctype masks because the
// builtin ctype implementation wasn't in libc++ yet. Bionic's ctype mask
// was only 8 bits wide and already saturated, so it used a wider type here
@@ -1012,9 +1015,9 @@ public:
// often used for space constrained environments, so it makes sense not to
// duplicate the ctype table.
typedef uint16_t char_class_type;
-#else
+# else
typedef ctype_base::mask char_class_type;
-#endif
+# endif
static const char_class_type __regex_word = ctype_base::__regex_word;
@@ -1054,30 +1057,30 @@ private:
template <class _ForwardIterator>
string_type __transform_primary(_ForwardIterator __f, _ForwardIterator __l, char) const;
-#if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
template <class _ForwardIterator>
string_type __transform_primary(_ForwardIterator __f, _ForwardIterator __l, wchar_t) const;
-#endif
+# endif
template <class _ForwardIterator>
string_type __lookup_collatename(_ForwardIterator __f, _ForwardIterator __l, char) const;
-#if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
template <class _ForwardIterator>
string_type __lookup_collatename(_ForwardIterator __f, _ForwardIterator __l, wchar_t) const;
-#endif
+# endif
template <class _ForwardIterator>
char_class_type __lookup_classname(_ForwardIterator __f, _ForwardIterator __l, bool __icase, char) const;
-#if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
template <class _ForwardIterator>
char_class_type __lookup_classname(_ForwardIterator __f, _ForwardIterator __l, bool __icase, wchar_t) const;
-#endif
+# endif
static int __regex_traits_value(unsigned char __ch, int __radix);
_LIBCPP_HIDE_FROM_ABI int __regex_traits_value(char __ch, int __radix) const {
return __regex_traits_value(static_cast<unsigned char>(__ch), __radix);
}
-#if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
_LIBCPP_HIDE_FROM_ABI int __regex_traits_value(wchar_t __ch, int __radix) const;
-#endif
+# endif
};
template <class _CharT>
@@ -1136,7 +1139,7 @@ regex_traits<_CharT>::__transform_primary(_ForwardIterator __f, _ForwardIterator
return __d;
}
-#if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
template <class _CharT>
template <class _ForwardIterator>
typename regex_traits<_CharT>::string_type
@@ -1155,7 +1158,7 @@ regex_traits<_CharT>::__transform_primary(_ForwardIterator __f, _ForwardIterator
}
return __d;
}
-#endif
+# endif
// lookup_collatename is very FreeBSD-specific
@@ -1180,7 +1183,7 @@ regex_traits<_CharT>::__lookup_collatename(_ForwardIterator __f, _ForwardIterato
return __r;
}
-#if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
template <class _CharT>
template <class _ForwardIterator>
typename regex_traits<_CharT>::string_type
@@ -1208,7 +1211,7 @@ regex_traits<_CharT>::__lookup_collatename(_ForwardIterator __f, _ForwardIterato
}
return __r;
}
-#endif // _LIBCPP_HAS_WIDE_CHARACTERS
+# endif // _LIBCPP_HAS_WIDE_CHARACTERS
// lookup_classname
@@ -1223,7 +1226,7 @@ regex_traits<_CharT>::__lookup_classname(_ForwardIterator __f, _ForwardIterator
return std::__get_classname(__s.c_str(), __icase);
}
-#if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
template <class _CharT>
template <class _ForwardIterator>
typename regex_traits<_CharT>::char_class_type
@@ -1239,7 +1242,7 @@ regex_traits<_CharT>::__lookup_classname(_ForwardIterator __f, _ForwardIterator
}
return __get_classname(__n.c_str(), __icase);
}
-#endif // _LIBCPP_HAS_WIDE_CHARACTERS
+# endif // _LIBCPP_HAS_WIDE_CHARACTERS
template <class _CharT>
bool regex_traits<_CharT>::isctype(char_type __c, char_class_type __m) const {
@@ -1250,28 +1253,28 @@ bool regex_traits<_CharT>::isctype(char_type __c, char_class_type __m) const {
inline _LIBCPP_HIDE_FROM_ABI bool __is_07(unsigned char __c) {
return (__c & 0xF8u) ==
-#if defined(__MVS__) && !defined(__NATIVE_ASCII_F)
+# if defined(__MVS__) && !defined(__NATIVE_ASCII_F)
0xF0;
-#else
+# else
0x30;
-#endif
+# endif
}
inline _LIBCPP_HIDE_FROM_ABI bool __is_89(unsigned char __c) {
return (__c & 0xFEu) ==
-#if defined(__MVS__) && !defined(__NATIVE_ASCII_F)
+# if defined(__MVS__) && !defined(__NATIVE_ASCII_F)
0xF8;
-#else
+# else
0x38;
-#endif
+# endif
}
inline _LIBCPP_HIDE_FROM_ABI unsigned char __to_lower(unsigned char __c) {
-#if defined(__MVS__) && !defined(__NATIVE_ASCII_F)
+# if defined(__MVS__) && !defined(__NATIVE_ASCII_F)
return __c & 0xBF;
-#else
+# else
return __c | 0x20;
-#endif
+# endif
}
template <class _CharT>
@@ -1290,12 +1293,12 @@ int regex_traits<_CharT>::__regex_traits_value(unsigned char __ch, int __radix)
return -1;
}
-#if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
template <class _CharT>
inline int regex_traits<_CharT>::__regex_traits_value(wchar_t __ch, int __radix) const {
return __regex_traits_value(static_cast<unsigned char>(__ct_->narrow(__ch, char_type())), __radix);
}
-#endif
+# endif
template <class _CharT>
class __node;
@@ -1938,10 +1941,10 @@ public:
template <>
_LIBCPP_EXPORTED_FROM_ABI void __match_any_but_newline<char>::__exec(__state&) const;
-#if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
template <>
_LIBCPP_EXPORTED_FROM_ABI void __match_any_but_newline<wchar_t>::__exec(__state&) const;
-#endif
+# endif
// __match_char
@@ -2262,9 +2265,9 @@ template <class _CharT, class _Traits = regex_traits<_CharT> >
class _LIBCPP_TEMPLATE_VIS basic_regex;
typedef basic_regex<char> regex;
-#if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
typedef basic_regex<wchar_t> wregex;
-#endif
+# endif
template <class _CharT, class _Traits>
class _LIBCPP_TEMPLATE_VIS _LIBCPP_PREFERRED_NAME(regex)
@@ -2335,21 +2338,21 @@ public:
: __flags_(__f), __marked_count_(0), __loop_count_(0), __open_count_(0), __end_(nullptr) {
__init(__first, __last);
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI basic_regex(initializer_list<value_type> __il, flag_type __f = regex_constants::ECMAScript)
: __flags_(__f), __marked_count_(0), __loop_count_(0), __open_count_(0), __end_(nullptr) {
__init(__il.begin(), __il.end());
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
// ~basic_regex() = default;
// basic_regex& operator=(const basic_regex&) = default;
// basic_regex& operator=(basic_regex&&) = default;
_LIBCPP_HIDE_FROM_ABI basic_regex& operator=(const value_type* __p) { return assign(__p); }
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI basic_regex& operator=(initializer_list<value_type> __il) { return assign(__il); }
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _ST, class _SA>
_LIBCPP_HIDE_FROM_ABI basic_regex& operator=(const basic_string<value_type, _ST, _SA>& __p) {
return assign(__p);
@@ -2357,9 +2360,9 @@ public:
// assign:
_LIBCPP_HIDE_FROM_ABI basic_regex& assign(const basic_regex& __that) { return *this = __that; }
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI basic_regex& assign(basic_regex&& __that) _NOEXCEPT { return *this = std::move(__that); }
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI basic_regex& assign(const value_type* __p, flag_type __f = regex_constants::ECMAScript) {
return assign(__p, __p + __traits_.length(__p), __f);
}
@@ -2396,14 +2399,14 @@ public:
return assign(basic_regex(__first, __last, __f));
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI basic_regex&
assign(initializer_list<value_type> __il, flag_type __f = regex_constants::ECMAScript) {
return assign(__il.begin(), __il.end(), __f);
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
// const operations:
_LIBCPP_HIDE_FROM_ABI unsigned mark_count() const { return __marked_count_; }
@@ -2644,11 +2647,11 @@ private:
friend class __lookahead;
};
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _ForwardIterator, __enable_if_t<__has_forward_iterator_category<_ForwardIterator>::value, int> = 0>
basic_regex(_ForwardIterator, _ForwardIterator, regex_constants::syntax_option_type = regex_constants::ECMAScript)
-> basic_regex<typename iterator_traits<_ForwardIterator>::value_type>;
-#endif
+# endif
template <class _CharT, class _Traits>
const regex_constants::syntax_option_type basic_regex<_CharT, _Traits>::icase;
@@ -4181,10 +4184,10 @@ void basic_regex<_CharT, _Traits>::__push_lookahead(const basic_regex& __exp, bo
typedef sub_match<const char*> csub_match;
typedef sub_match<string::const_iterator> ssub_match;
-#if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
typedef sub_match<const wchar_t*> wcsub_match;
typedef sub_match<wstring::const_iterator> wssub_match;
-#endif
+# endif
template <class _BidirectionalIterator>
class _LIBCPP_TEMPLATE_VIS _LIBCPP_PREFERRED_NAME(csub_match)
@@ -4224,7 +4227,7 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator==(const sub_match<_BiIter>& __x, cons
return __x.compare(__y) == 0;
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _BiIter>
using __sub_match_cat = compare_three_way_result_t<basic_string<typename iterator_traits<_BiIter>::value_type>>;
@@ -4232,7 +4235,7 @@ template <class _BiIter>
_LIBCPP_HIDE_FROM_ABI auto operator<=>(const sub_match<_BiIter>& __x, const sub_match<_BiIter>& __y) {
return static_cast<__sub_match_cat<_BiIter>>(__x.compare(__y) <=> 0);
}
-#else // _LIBCPP_STD_VER >= 20
+# else // _LIBCPP_STD_VER >= 20
template <class _BiIter>
inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const sub_match<_BiIter>& __x, const sub_match<_BiIter>& __y) {
return !(__x == __y);
@@ -4299,7 +4302,7 @@ operator<=(const basic_string<typename iterator_traits<_BiIter>::value_type, _ST
const sub_match<_BiIter>& __y) {
return !(__y < __x);
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
template <class _BiIter, class _ST, class _SA>
inline _LIBCPP_HIDE_FROM_ABI bool
@@ -4308,7 +4311,7 @@ operator==(const sub_match<_BiIter>& __x,
return __x.compare(typename sub_match<_BiIter>::string_type(__y.data(), __y.size())) == 0;
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _BiIter, class _ST, class _SA>
_LIBCPP_HIDE_FROM_ABI auto
operator<=>(const sub_match<_BiIter>& __x,
@@ -4316,7 +4319,7 @@ operator<=>(const sub_match<_BiIter>& __x,
return static_cast<__sub_match_cat<_BiIter>>(
__x.compare(typename sub_match<_BiIter>::string_type(__y.data(), __y.size())) <=> 0);
}
-#else // _LIBCPP_STD_VER >= 20
+# else // _LIBCPP_STD_VER >= 20
template <class _BiIter, class _ST, class _SA>
inline _LIBCPP_HIDE_FROM_ABI bool
operator!=(const sub_match<_BiIter>& __x,
@@ -4387,7 +4390,7 @@ inline _LIBCPP_HIDE_FROM_ABI bool
operator<=(typename iterator_traits<_BiIter>::value_type const* __x, const sub_match<_BiIter>& __y) {
return !(__y < __x);
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
template <class _BiIter>
inline _LIBCPP_HIDE_FROM_ABI bool
@@ -4395,13 +4398,13 @@ operator==(const sub_match<_BiIter>& __x, typename iterator_traits<_BiIter>::val
return __x.compare(__y) == 0;
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _BiIter>
_LIBCPP_HIDE_FROM_ABI auto
operator<=>(const sub_match<_BiIter>& __x, typename iterator_traits<_BiIter>::value_type const* __y) {
return static_cast<__sub_match_cat<_BiIter>>(__x.compare(__y) <=> 0);
}
-#else // _LIBCPP_STD_VER >= 20
+# else // _LIBCPP_STD_VER >= 20
template <class _BiIter>
inline _LIBCPP_HIDE_FROM_ABI bool
operator!=(const sub_match<_BiIter>& __x, typename iterator_traits<_BiIter>::value_type const* __y) {
@@ -4469,7 +4472,7 @@ inline _LIBCPP_HIDE_FROM_ABI bool
operator<=(typename iterator_traits<_BiIter>::value_type const& __x, const sub_match<_BiIter>& __y) {
return !(__y < __x);
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
template <class _BiIter>
inline _LIBCPP_HIDE_FROM_ABI bool
@@ -4478,14 +4481,14 @@ operator==(const sub_match<_BiIter>& __x, typename iterator_traits<_BiIter>::val
return __x.compare(string_type(1, __y)) == 0;
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _BiIter>
_LIBCPP_HIDE_FROM_ABI auto
operator<=>(const sub_match<_BiIter>& __x, typename iterator_traits<_BiIter>::value_type const& __y) {
using string_type = basic_string<typename iterator_traits<_BiIter>::value_type>;
return static_cast<__sub_match_cat<_BiIter>>(__x.compare(string_type(1, __y)) <=> 0);
}
-#else // _LIBCPP_STD_VER >= 20
+# else // _LIBCPP_STD_VER >= 20
template <class _BiIter>
inline _LIBCPP_HIDE_FROM_ABI bool
operator!=(const sub_match<_BiIter>& __x, typename iterator_traits<_BiIter>::value_type const& __y) {
@@ -4516,7 +4519,7 @@ inline _LIBCPP_HIDE_FROM_ABI bool
operator<=(const sub_match<_BiIter>& __x, typename iterator_traits<_BiIter>::value_type const& __y) {
return !(__y < __x);
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
template <class _CharT, class _ST, class _BiIter>
inline _LIBCPP_HIDE_FROM_ABI basic_ostream<_CharT, _ST>&
@@ -4526,10 +4529,10 @@ operator<<(basic_ostream<_CharT, _ST>& __os, const sub_match<_BiIter>& __m) {
typedef match_results<const char*> cmatch;
typedef match_results<string::const_iterator> smatch;
-#if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
typedef match_results<const wchar_t*> wcmatch;
typedef match_results<wstring::const_iterator> wsmatch;
-#endif
+# endif
template <class _BidirectionalIterator, class _Allocator>
class _LIBCPP_TEMPLATE_VIS _LIBCPP_PREFERRED_NAME(cmatch) _LIBCPP_IF_WIDE_CHARACTERS(_LIBCPP_PREFERRED_NAME(wcmatch))
@@ -4559,12 +4562,12 @@ public:
typedef basic_string<char_type> string_type;
// construct/copy/destroy:
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
match_results() : match_results(allocator_type()) {}
explicit match_results(const allocator_type& __a);
-#else
+# else
explicit match_results(const allocator_type& __a = allocator_type());
-#endif
+# endif
// match_results(const match_results&) = default;
// match_results& operator=(const match_results&) = default;
@@ -4814,13 +4817,13 @@ _LIBCPP_HIDE_FROM_ABI bool operator==(const match_results<_BidirectionalIterator
return __x.__matches_ == __y.__matches_ && __x.__prefix_ == __y.__prefix_ && __x.__suffix_ == __y.__suffix_;
}
-#if _LIBCPP_STD_VER < 20
+# if _LIBCPP_STD_VER < 20
template <class _BidirectionalIterator, class _Allocator>
inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const match_results<_BidirectionalIterator, _Allocator>& __x,
const match_results<_BidirectionalIterator, _Allocator>& __y) {
return !(__x == __y);
}
-#endif
+# endif
template <class _BidirectionalIterator, class _Allocator>
inline _LIBCPP_HIDE_FROM_ABI void
@@ -5232,13 +5235,13 @@ regex_search(const basic_string<_CharT, _ST, _SA>& __s,
return __r;
}
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <class _ST, class _SA, class _Ap, class _Cp, class _Tp>
bool regex_search(const basic_string<_Cp, _ST, _SA>&& __s,
match_results<typename basic_string<_Cp, _ST, _SA>::const_iterator, _Ap>&,
const basic_regex<_Cp, _Tp>& __e,
regex_constants::match_flag_type __flags = regex_constants::match_default) = delete;
-#endif
+# endif
// regex_match
@@ -5287,14 +5290,14 @@ regex_match(const basic_string<_CharT, _ST, _SA>& __s,
return std::regex_match(__s.begin(), __s.end(), __m, __e, __flags);
}
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <class _ST, class _SA, class _Allocator, class _CharT, class _Traits>
inline _LIBCPP_HIDE_FROM_ABI bool
regex_match(const basic_string<_CharT, _ST, _SA>&& __s,
match_results<typename basic_string<_CharT, _ST, _SA>::const_iterator, _Allocator>& __m,
const basic_regex<_CharT, _Traits>& __e,
regex_constants::match_flag_type __flags = regex_constants::match_default) = delete;
-#endif
+# endif
template <class _CharT, class _Traits>
inline _LIBCPP_HIDE_FROM_ABI bool
@@ -5321,10 +5324,10 @@ class _LIBCPP_TEMPLATE_VIS regex_iterator;
typedef regex_iterator<const char*> cregex_iterator;
typedef regex_iterator<string::const_iterator> sregex_iterator;
-#if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
typedef regex_iterator<const wchar_t*> wcregex_iterator;
typedef regex_iterator<wstring::const_iterator> wsregex_iterator;
-#endif
+# endif
template <class _BidirectionalIterator, class _CharT, class _Traits>
class _LIBCPP_TEMPLATE_VIS _LIBCPP_PREFERRED_NAME(cregex_iterator)
@@ -5337,9 +5340,9 @@ public:
typedef const value_type* pointer;
typedef const value_type& reference;
typedef forward_iterator_tag iterator_category;
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
typedef input_iterator_tag iterator_concept;
-#endif
+# endif
private:
_BidirectionalIterator __begin_;
@@ -5354,20 +5357,20 @@ public:
_BidirectionalIterator __b,
const regex_type& __re,
regex_constants::match_flag_type __m = regex_constants::match_default);
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
regex_iterator(_BidirectionalIterator __a,
_BidirectionalIterator __b,
const regex_type&& __re,
regex_constants::match_flag_type __m = regex_constants::match_default) = delete;
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI bool operator==(const regex_iterator& __x) const;
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI bool operator==(default_sentinel_t) const { return *this == regex_iterator(); }
-#endif
-#if _LIBCPP_STD_VER < 20
+# endif
+# if _LIBCPP_STD_VER < 20
_LIBCPP_HIDE_FROM_ABI bool operator!=(const regex_iterator& __x) const { return !(*this == __x); }
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI reference operator*() const { return __match_; }
_LIBCPP_HIDE_FROM_ABI pointer operator->() const { return std::addressof(__match_); }
@@ -5451,10 +5454,10 @@ class _LIBCPP_TEMPLATE_VIS regex_token_iterator;
typedef regex_token_iterator<const char*> cregex_token_iterator;
typedef regex_token_iterator<string::const_iterator> sregex_token_iterator;
-#if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
typedef regex_token_iterator<const wchar_t*> wcregex_token_iterator;
typedef regex_token_iterator<wstring::const_iterator> wsregex_token_iterator;
-#endif
+# endif
template <class _BidirectionalIterator, class _CharT, class _Traits>
class _LIBCPP_TEMPLATE_VIS _LIBCPP_PREFERRED_NAME(cregex_token_iterator)
@@ -5468,9 +5471,9 @@ public:
typedef const value_type* pointer;
typedef const value_type& reference;
typedef forward_iterator_tag iterator_category;
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
typedef input_iterator_tag iterator_concept;
-#endif
+# endif
private:
typedef regex_iterator<_BidirectionalIterator, _CharT, _Traits> _Position;
@@ -5488,69 +5491,69 @@ public:
const regex_type& __re,
int __submatch = 0,
regex_constants::match_flag_type __m = regex_constants::match_default);
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
regex_token_iterator(_BidirectionalIterator __a,
_BidirectionalIterator __b,
const regex_type&& __re,
int __submatch = 0,
regex_constants::match_flag_type __m = regex_constants::match_default) = delete;
-#endif
+# endif
regex_token_iterator(_BidirectionalIterator __a,
_BidirectionalIterator __b,
const regex_type& __re,
const vector<int>& __submatches,
regex_constants::match_flag_type __m = regex_constants::match_default);
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
regex_token_iterator(_BidirectionalIterator __a,
_BidirectionalIterator __b,
const regex_type&& __re,
const vector<int>& __submatches,
regex_constants::match_flag_type __m = regex_constants::match_default) = delete;
-#endif
+# endif
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
regex_token_iterator(_BidirectionalIterator __a,
_BidirectionalIterator __b,
const regex_type& __re,
initializer_list<int> __submatches,
regex_constants::match_flag_type __m = regex_constants::match_default);
-# if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
regex_token_iterator(_BidirectionalIterator __a,
_BidirectionalIterator __b,
const regex_type&& __re,
initializer_list<int> __submatches,
regex_constants::match_flag_type __m = regex_constants::match_default) = delete;
-# endif
-#endif // _LIBCPP_CXX03_LANG
+# endif
+# endif // _LIBCPP_CXX03_LANG
template <size_t _Np>
regex_token_iterator(_BidirectionalIterator __a,
_BidirectionalIterator __b,
const regex_type& __re,
const int (&__submatches)[_Np],
regex_constants::match_flag_type __m = regex_constants::match_default);
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <size_t _Np>
regex_token_iterator(_BidirectionalIterator __a,
_BidirectionalIterator __b,
const regex_type&& __re,
const int (&__submatches)[_Np],
regex_constants::match_flag_type __m = regex_constants::match_default) = delete;
-#endif
+# endif
regex_token_iterator(const regex_token_iterator&);
regex_token_iterator& operator=(const regex_token_iterator&);
_LIBCPP_HIDE_FROM_ABI bool operator==(const regex_token_iterator& __x) const;
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI _LIBCPP_HIDE_FROM_ABI bool operator==(default_sentinel_t) const {
return *this == regex_token_iterator();
}
-#endif
-#if _LIBCPP_STD_VER < 20
+# endif
+# if _LIBCPP_STD_VER < 20
_LIBCPP_HIDE_FROM_ABI bool operator!=(const regex_token_iterator& __x) const { return !(*this == __x); }
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI const value_type& operator*() const { return *__result_; }
_LIBCPP_HIDE_FROM_ABI const value_type* operator->() const { return __result_; }
@@ -5612,7 +5615,7 @@ regex_token_iterator<_BidirectionalIterator, _CharT, _Traits>::regex_token_itera
__init(__a, __b);
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _BidirectionalIterator, class _CharT, class _Traits>
regex_token_iterator<_BidirectionalIterator, _CharT, _Traits>::regex_token_iterator(
@@ -5625,7 +5628,7 @@ regex_token_iterator<_BidirectionalIterator, _CharT, _Traits>::regex_token_itera
__init(__a, __b);
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _BidirectionalIterator, class _CharT, class _Traits>
template <size_t _Np>
@@ -5800,7 +5803,7 @@ regex_replace(const _CharT* __s,
_LIBCPP_END_NAMESPACE_STD
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
_LIBCPP_BEGIN_NAMESPACE_STD
namespace pmr {
template <class _BidirT>
@@ -5810,27 +5813,28 @@ using match_results _LIBCPP_AVAILABILITY_PMR =
using cmatch _LIBCPP_AVAILABILITY_PMR = match_results<const char*>;
using smatch _LIBCPP_AVAILABILITY_PMR = match_results<std::pmr::string::const_iterator>;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
using wcmatch _LIBCPP_AVAILABILITY_PMR = match_results<const wchar_t*>;
using wsmatch _LIBCPP_AVAILABILITY_PMR = match_results<std::pmr::wstring::const_iterator>;
-# endif
+# endif
} // namespace pmr
_LIBCPP_END_NAMESPACE_STD
-#endif
+# endif
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <atomic>
-# include <concepts>
-# include <cstdlib>
-# include <iosfwd>
-# include <iterator>
-# include <mutex>
-# include <new>
-# include <type_traits>
-# include <typeinfo>
-# include <utility>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
+# include <concepts>
+# include <cstdlib>
+# include <iosfwd>
+# include <iterator>
+# include <mutex>
+# include <new>
+# include <type_traits>
+# include <typeinfo>
+# include <utility>
+# endif
+#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 13e43c2f15ac..94a35f64603b 100644
--- a/libcxx/include/scoped_allocator
+++ b/libcxx/include/scoped_allocator
@@ -109,32 +109,35 @@ template <class OuterA1, class OuterA2, class... InnerAllocs>
*/
-#include <__config>
-#include <__memory/allocator_traits.h>
-#include <__memory/uses_allocator_construction.h>
-#include <__type_traits/common_type.h>
-#include <__type_traits/enable_if.h>
-#include <__type_traits/integral_constant.h>
-#include <__type_traits/is_constructible.h>
-#include <__type_traits/remove_reference.h>
-#include <__utility/declval.h>
-#include <__utility/forward.h>
-#include <__utility/move.h>
-#include <__utility/pair.h>
-#include <__utility/piecewise_construct.h>
-#include <tuple>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
+#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>
+# include <__type_traits/common_type.h>
+# include <__type_traits/enable_if.h>
+# include <__type_traits/integral_constant.h>
+# include <__type_traits/is_constructible.h>
+# include <__type_traits/remove_reference.h>
+# include <__utility/declval.h>
+# include <__utility/forward.h>
+# include <__utility/move.h>
+# include <__utility/pair.h>
+# include <__utility/piecewise_construct.h>
+# include <tuple>
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
-#if !defined(_LIBCPP_CXX03_LANG)
+# if !defined(_LIBCPP_CXX03_LANG)
// scoped_allocator_adaptor
@@ -404,7 +407,7 @@ public:
return allocator_traits<outer_allocator_type>::max_size(outer_allocator());
}
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _Type, class... _Args>
_LIBCPP_HIDE_FROM_ABI void construct(_Type* __ptr, _Args&&... __args) {
using _OM = __outermost<outer_allocator_type>;
@@ -415,7 +418,7 @@ public:
},
std::uses_allocator_construction_args<_Type>(inner_allocator(), std::forward<_Args>(__args)...));
}
-# else
+# else
template <class _Tp, class... _Args>
_LIBCPP_HIDE_FROM_ABI void construct(_Tp* __p, _Args&&... __args) {
__construct(__uses_alloc_ctor<_Tp, inner_allocator_type&, _Args...>(), __p, std::forward<_Args>(__args)...);
@@ -462,7 +465,7 @@ public:
std::forward_as_tuple(std::forward<_Up>(__x.first)),
std::forward_as_tuple(std::forward<_Vp>(__x.second)));
}
-# endif
+# endif
template <class _Tp>
_LIBCPP_HIDE_FROM_ABI void destroy(_Tp* __p) {
@@ -522,10 +525,10 @@ private:
friend class __scoped_allocator_storage;
};
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _OuterAlloc, class... _InnerAllocs>
scoped_allocator_adaptor(_OuterAlloc, _InnerAllocs...) -> scoped_allocator_adaptor<_OuterAlloc, _InnerAllocs...>;
-# endif
+# endif
template <class _OuterA1, class _OuterA2>
inline _LIBCPP_HIDE_FROM_ABI bool
@@ -540,7 +543,7 @@ operator==(const scoped_allocator_adaptor<_OuterA1, _InnerA0, _InnerAllocs...>&
return __a.outer_allocator() == __b.outer_allocator() && __a.inner_allocator() == __b.inner_allocator();
}
-# if _LIBCPP_STD_VER <= 17
+# if _LIBCPP_STD_VER <= 17
template <class _OuterA1, class _OuterA2, class... _InnerAllocs>
inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const scoped_allocator_adaptor<_OuterA1, _InnerAllocs...>& __a,
@@ -548,26 +551,27 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const scoped_allocator_adaptor<_Out
return !(__a == __b);
}
-# endif // _LIBCPP_STD_VER <= 17
+# endif // _LIBCPP_STD_VER <= 17
-#endif // !defined(_LIBCPP_CXX03_LANG)
+# endif // !defined(_LIBCPP_CXX03_LANG)
_LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <atomic>
-# include <climits>
-# include <concepts>
-# include <cstring>
-# include <ctime>
-# include <iterator>
-# include <memory>
-# include <ratio>
-# include <stdexcept>
-# include <type_traits>
-# include <variant>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
+# include <climits>
+# include <concepts>
+# include <cstring>
+# include <ctime>
+# include <iterator>
+# include <memory>
+# include <ratio>
+# include <stdexcept>
+# include <type_traits>
+# include <variant>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_SCOPED_ALLOCATOR
diff --git a/libcxx/include/semaphore b/libcxx/include/semaphore
index 94752a92ca5c..4194dbe91b48 100644
--- a/libcxx/include/semaphore
+++ b/libcxx/include/semaphore
@@ -45,30 +45,33 @@ using binary_semaphore = counting_semaphore<1>; // since C++20
*/
-#include <__config>
-
-#if _LIBCPP_HAS_THREADS
-
-# include <__assert>
-# include <__atomic/atomic.h>
-# include <__atomic/atomic_sync.h>
-# include <__atomic/memory_order.h>
-# include <__chrono/time_point.h>
-# include <__cstddef/ptrdiff_t.h>
-# include <__thread/poll_with_backoff.h>
-# include <__thread/support.h>
-# include <__thread/timed_backoff_policy.h>
-# include <limits>
-# include <version>
-
-# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-# endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/semaphore>
+#else
+# include <__config>
+
+# if _LIBCPP_HAS_THREADS
+
+# include <__assert>
+# include <__atomic/atomic.h>
+# include <__atomic/atomic_sync.h>
+# include <__atomic/memory_order.h>
+# include <__chrono/time_point.h>
+# include <__cstddef/ptrdiff_t.h>
+# include <__thread/poll_with_backoff.h>
+# include <__thread/support.h>
+# include <__thread/timed_backoff_policy.h>
+# include <limits>
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
_LIBCPP_PUSH_MACROS
-# include <__undef_macros>
+# include <__undef_macros>
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -80,7 +83,7 @@ functions. It avoids contention against users' own use of those facilities.
*/
-# define _LIBCPP_SEMAPHORE_MAX (numeric_limits<ptrdiff_t>::max())
+# define _LIBCPP_SEMAPHORE_MAX (numeric_limits<ptrdiff_t>::max())
class __atomic_semaphore_base {
atomic<ptrdiff_t> __a_;
@@ -174,15 +177,16 @@ using binary_semaphore = counting_semaphore<1>;
_LIBCPP_END_NAMESPACE_STD
-# endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_POP_MACROS
-#endif // _LIBCPP_HAS_THREADS
+# endif // _LIBCPP_HAS_THREADS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <atomic>
-# include <cstddef>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
+# include <cstddef>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_SEMAPHORE
diff --git a/libcxx/include/set b/libcxx/include/set
index 5db0db8086de..2784e82760d7 100644
--- a/libcxx/include/set
+++ b/libcxx/include/set
@@ -512,57 +512,60 @@ erase_if(multiset<Key, Compare, Allocator>& c, Predicate pred); // C++20
*/
-#include <__algorithm/equal.h>
-#include <__algorithm/lexicographical_compare.h>
-#include <__algorithm/lexicographical_compare_three_way.h>
-#include <__assert>
-#include <__config>
-#include <__functional/is_transparent.h>
-#include <__functional/operations.h>
-#include <__iterator/erase_if_container.h>
-#include <__iterator/iterator_traits.h>
-#include <__iterator/ranges_iterator_traits.h>
-#include <__iterator/reverse_iterator.h>
-#include <__memory/allocator.h>
-#include <__memory/allocator_traits.h>
-#include <__memory_resource/polymorphic_allocator.h>
-#include <__node_handle>
-#include <__ranges/concepts.h>
-#include <__ranges/container_compatible_range.h>
-#include <__ranges/from_range.h>
-#include <__tree>
-#include <__type_traits/container_traits.h>
-#include <__type_traits/enable_if.h>
-#include <__type_traits/is_allocator.h>
-#include <__type_traits/is_nothrow_assignable.h>
-#include <__type_traits/is_nothrow_constructible.h>
-#include <__type_traits/is_same.h>
-#include <__type_traits/is_swappable.h>
-#include <__type_traits/type_identity.h>
-#include <__utility/forward.h>
-#include <__utility/move.h>
-#include <__utility/pair.h>
-#include <version>
+#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>
+# include <__assert>
+# include <__config>
+# include <__functional/is_transparent.h>
+# include <__functional/operations.h>
+# include <__iterator/erase_if_container.h>
+# include <__iterator/iterator_traits.h>
+# include <__iterator/ranges_iterator_traits.h>
+# include <__iterator/reverse_iterator.h>
+# include <__memory/allocator.h>
+# include <__memory/allocator_traits.h>
+# include <__memory_resource/polymorphic_allocator.h>
+# include <__node_handle>
+# include <__ranges/concepts.h>
+# include <__ranges/container_compatible_range.h>
+# include <__ranges/from_range.h>
+# include <__tree>
+# include <__type_traits/container_traits.h>
+# include <__type_traits/enable_if.h>
+# include <__type_traits/is_allocator.h>
+# include <__type_traits/is_nothrow_assignable.h>
+# include <__type_traits/is_nothrow_constructible.h>
+# include <__type_traits/is_same.h>
+# include <__type_traits/is_swappable.h>
+# include <__type_traits/type_identity.h>
+# include <__utility/forward.h>
+# include <__utility/move.h>
+# include <__utility/pair.h>
+# include <version>
// standard-mandated includes
// [iterator.range]
-#include <__iterator/access.h>
-#include <__iterator/data.h>
-#include <__iterator/empty.h>
-#include <__iterator/reverse_access.h>
-#include <__iterator/size.h>
+# include <__iterator/access.h>
+# include <__iterator/data.h>
+# include <__iterator/empty.h>
+# include <__iterator/reverse_access.h>
+# include <__iterator/size.h>
// [associative.set.syn]
-#include <compare>
-#include <initializer_list>
+# include <compare>
+# include <initializer_list>
-#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
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -602,10 +605,10 @@ public:
typedef std::reverse_iterator<iterator> reverse_iterator;
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
typedef __set_node_handle<typename __base::__node, allocator_type> node_type;
typedef __insert_return_type<iterator, node_type> insert_return_type;
-#endif
+# endif
template <class _Key2, class _Compare2, class _Alloc2>
friend class _LIBCPP_TEMPLATE_VIS set;
@@ -635,7 +638,7 @@ public:
insert(__f, __l);
}
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<value_type> _Range>
_LIBCPP_HIDE_FROM_ABI
set(from_range_t,
@@ -645,19 +648,19 @@ public:
: __tree_(__comp, __a) {
insert_range(std::forward<_Range>(__range));
}
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <class _InputIterator>
_LIBCPP_HIDE_FROM_ABI set(_InputIterator __f, _InputIterator __l, const allocator_type& __a)
: set(__f, __l, key_compare(), __a) {}
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<value_type> _Range>
_LIBCPP_HIDE_FROM_ABI set(from_range_t, _Range&& __range, const allocator_type& __a)
: set(from_range, std::forward<_Range>(__range), key_compare(), __a) {}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI set(const set& __s) : __tree_(__s.__tree_) { insert(__s.begin(), __s.end()); }
@@ -666,10 +669,10 @@ public:
return *this;
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI set(set&& __s) noexcept(is_nothrow_move_constructible<__base>::value)
: __tree_(std::move(__s.__tree_)) {}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI explicit set(const allocator_type& __a) : __tree_(__a) {}
@@ -677,7 +680,7 @@ public:
insert(__s.begin(), __s.end());
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI set(set&& __s, const allocator_type& __a);
_LIBCPP_HIDE_FROM_ABI set(initializer_list<value_type> __il, const value_compare& __comp = value_compare())
@@ -690,10 +693,10 @@ public:
insert(__il.begin(), __il.end());
}
-# if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
_LIBCPP_HIDE_FROM_ABI set(initializer_list<value_type> __il, const allocator_type& __a)
: set(__il, key_compare(), __a) {}
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI set& operator=(initializer_list<value_type> __il) {
__tree_.__assign_unique(__il.begin(), __il.end());
@@ -704,7 +707,7 @@ public:
__tree_ = std::move(__s.__tree_);
return *this;
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI ~set() { static_assert(sizeof(__diagnose_non_const_comparator<_Key, _Compare>()), ""); }
@@ -728,7 +731,7 @@ public:
_LIBCPP_HIDE_FROM_ABI size_type max_size() const _NOEXCEPT { return __tree_.max_size(); }
// modifiers:
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class... _Args>
_LIBCPP_HIDE_FROM_ABI pair<iterator, bool> emplace(_Args&&... __args) {
return __tree_.__emplace_unique(std::forward<_Args>(__args)...);
@@ -737,7 +740,7 @@ public:
_LIBCPP_HIDE_FROM_ABI iterator emplace_hint(const_iterator __p, _Args&&... __args) {
return __tree_.__emplace_hint_unique(__p, std::forward<_Args>(__args)...);
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI pair<iterator, bool> insert(const value_type& __v) { return __tree_.__insert_unique(__v); }
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, const value_type& __v) {
@@ -750,7 +753,7 @@ public:
__tree_.__insert_unique(__e, *__f);
}
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<value_type> _Range>
_LIBCPP_HIDE_FROM_ABI void insert_range(_Range&& __range) {
const_iterator __end = cend();
@@ -758,9 +761,9 @@ public:
__tree_.__insert_unique(__end, std::forward<decltype(__element)>(__element));
}
}
-#endif
+# endif
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI pair<iterator, bool> insert(value_type&& __v) {
return __tree_.__insert_unique(std::move(__v));
}
@@ -770,14 +773,14 @@ public:
}
_LIBCPP_HIDE_FROM_ABI void insert(initializer_list<value_type> __il) { insert(__il.begin(), __il.end()); }
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI iterator erase(const_iterator __p) { return __tree_.erase(__p); }
_LIBCPP_HIDE_FROM_ABI size_type erase(const key_type& __k) { return __tree_.__erase_unique(__k); }
_LIBCPP_HIDE_FROM_ABI iterator erase(const_iterator __f, const_iterator __l) { return __tree_.erase(__f, __l); }
_LIBCPP_HIDE_FROM_ABI void clear() _NOEXCEPT { __tree_.clear(); }
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
_LIBCPP_HIDE_FROM_ABI insert_return_type insert(node_type&& __nh) {
_LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR(__nh.empty() || __nh.get_allocator() == get_allocator(),
"node_type with incompatible allocator passed to set::insert()");
@@ -818,7 +821,7 @@ public:
__source.get_allocator() == get_allocator(), "merging container with incompatible allocator");
__tree_.__node_handle_merge_unique(__source.__tree_);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI void swap(set& __s) _NOEXCEPT_(__is_nothrow_swappable_v<__base>) { __tree_.swap(__s.__tree_); }
@@ -829,7 +832,7 @@ public:
// set operations:
_LIBCPP_HIDE_FROM_ABI iterator find(const key_type& __k) { return __tree_.find(__k); }
_LIBCPP_HIDE_FROM_ABI const_iterator find(const key_type& __k) const { return __tree_.find(__k); }
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <typename _K2, enable_if_t<__is_transparent_v<_Compare, _K2>, int> = 0>
_LIBCPP_HIDE_FROM_ABI iterator find(const _K2& __k) {
return __tree_.find(__k);
@@ -838,27 +841,27 @@ public:
_LIBCPP_HIDE_FROM_ABI const_iterator find(const _K2& __k) const {
return __tree_.find(__k);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI size_type count(const key_type& __k) const { return __tree_.__count_unique(__k); }
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <typename _K2, enable_if_t<__is_transparent_v<_Compare, _K2>, int> = 0>
_LIBCPP_HIDE_FROM_ABI size_type count(const _K2& __k) const {
return __tree_.__count_multi(__k);
}
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI bool contains(const key_type& __k) const { return find(__k) != end(); }
template <typename _K2, enable_if_t<__is_transparent_v<_Compare, _K2>, int> = 0>
_LIBCPP_HIDE_FROM_ABI bool contains(const _K2& __k) const {
return find(__k) != end();
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI iterator lower_bound(const key_type& __k) { return __tree_.lower_bound(__k); }
_LIBCPP_HIDE_FROM_ABI const_iterator lower_bound(const key_type& __k) const { return __tree_.lower_bound(__k); }
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <typename _K2, enable_if_t<__is_transparent_v<_Compare, _K2>, int> = 0>
_LIBCPP_HIDE_FROM_ABI iterator lower_bound(const _K2& __k) {
return __tree_.lower_bound(__k);
@@ -868,11 +871,11 @@ public:
_LIBCPP_HIDE_FROM_ABI const_iterator lower_bound(const _K2& __k) const {
return __tree_.lower_bound(__k);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI iterator upper_bound(const key_type& __k) { return __tree_.upper_bound(__k); }
_LIBCPP_HIDE_FROM_ABI const_iterator upper_bound(const key_type& __k) const { return __tree_.upper_bound(__k); }
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <typename _K2, enable_if_t<__is_transparent_v<_Compare, _K2>, int> = 0>
_LIBCPP_HIDE_FROM_ABI iterator upper_bound(const _K2& __k) {
return __tree_.upper_bound(__k);
@@ -881,7 +884,7 @@ public:
_LIBCPP_HIDE_FROM_ABI const_iterator upper_bound(const _K2& __k) const {
return __tree_.upper_bound(__k);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI pair<iterator, iterator> equal_range(const key_type& __k) {
return __tree_.__equal_range_unique(__k);
@@ -889,7 +892,7 @@ public:
_LIBCPP_HIDE_FROM_ABI pair<const_iterator, const_iterator> equal_range(const key_type& __k) const {
return __tree_.__equal_range_unique(__k);
}
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <typename _K2, enable_if_t<__is_transparent_v<_Compare, _K2>, int> = 0>
_LIBCPP_HIDE_FROM_ABI pair<iterator, iterator> equal_range(const _K2& __k) {
return __tree_.__equal_range_multi(__k);
@@ -898,10 +901,10 @@ public:
_LIBCPP_HIDE_FROM_ABI pair<const_iterator, const_iterator> equal_range(const _K2& __k) const {
return __tree_.__equal_range_multi(__k);
}
-#endif
+# endif
};
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _InputIterator,
class _Compare = less<__iter_value_type<_InputIterator>>,
class _Allocator = allocator<__iter_value_type<_InputIterator>>,
@@ -911,7 +914,7 @@ template <class _InputIterator,
set(_InputIterator, _InputIterator, _Compare = _Compare(), _Allocator = _Allocator())
-> set<__iter_value_type<_InputIterator>, _Compare, _Allocator>;
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <ranges::input_range _Range,
class _Compare = less<ranges::range_value_t<_Range>>,
class _Allocator = allocator<ranges::range_value_t<_Range>>,
@@ -919,7 +922,7 @@ template <ranges::input_range _Range,
class = enable_if_t<!__is_allocator<_Compare>::value, void>>
set(from_range_t, _Range&&, _Compare = _Compare(), _Allocator = _Allocator())
-> set<ranges::range_value_t<_Range>, _Compare, _Allocator>;
-# endif
+# endif
template <class _Key,
class _Compare = less<_Key>,
@@ -936,18 +939,18 @@ set(_InputIterator,
_InputIterator,
_Allocator) -> set<__iter_value_type<_InputIterator>, less<__iter_value_type<_InputIterator>>, _Allocator>;
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <ranges::input_range _Range, class _Allocator, class = enable_if_t<__is_allocator<_Allocator>::value, void>>
set(from_range_t,
_Range&&,
_Allocator) -> set<ranges::range_value_t<_Range>, less<ranges::range_value_t<_Range>>, _Allocator>;
-# endif
+# endif
template <class _Key, class _Allocator, class = enable_if_t<__is_allocator<_Allocator>::value, void>>
set(initializer_list<_Key>, _Allocator) -> set<_Key, less<_Key>, _Allocator>;
-#endif
+# endif
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Key, class _Compare, class _Allocator>
set<_Key, _Compare, _Allocator>::set(set&& __s, const allocator_type& __a) : __tree_(std::move(__s.__tree_), __a) {
@@ -958,7 +961,7 @@ set<_Key, _Compare, _Allocator>::set(set&& __s, const allocator_type& __a) : __t
}
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Key, class _Compare, class _Allocator>
inline _LIBCPP_HIDE_FROM_ABI bool
@@ -966,7 +969,7 @@ operator==(const set<_Key, _Compare, _Allocator>& __x, const set<_Key, _Compare,
return __x.size() == __y.size() && std::equal(__x.begin(), __x.end(), __y.begin());
}
-#if _LIBCPP_STD_VER <= 17
+# if _LIBCPP_STD_VER <= 17
template <class _Key, class _Compare, class _Allocator>
inline _LIBCPP_HIDE_FROM_ABI bool
@@ -998,7 +1001,7 @@ operator<=(const set<_Key, _Compare, _Allocator>& __x, const set<_Key, _Compare,
return !(__y < __x);
}
-#else // _LIBCPP_STD_VER <= 17
+# else // _LIBCPP_STD_VER <= 17
template <class _Key, class _Allocator>
_LIBCPP_HIDE_FROM_ABI __synth_three_way_result<_Key>
@@ -1006,7 +1009,7 @@ operator<=>(const set<_Key, _Allocator>& __x, const set<_Key, _Allocator>& __y)
return std::lexicographical_compare_three_way(__x.begin(), __x.end(), __y.begin(), __y.end(), std::__synth_three_way);
}
-#endif // _LIBCPP_STD_VER <= 17
+# endif // _LIBCPP_STD_VER <= 17
// specialized algorithms:
template <class _Key, class _Compare, class _Allocator>
@@ -1015,13 +1018,13 @@ inline _LIBCPP_HIDE_FROM_ABI void swap(set<_Key, _Compare, _Allocator>& __x, set
__x.swap(__y);
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _Key, class _Compare, class _Allocator, class _Predicate>
inline _LIBCPP_HIDE_FROM_ABI typename set<_Key, _Compare, _Allocator>::size_type
erase_if(set<_Key, _Compare, _Allocator>& __c, _Predicate __pred) {
return std::__libcpp_erase_if_container(__c, __pred);
}
-#endif
+# endif
template <class _Key, class _Compare, class _Allocator>
struct __container_traits<set<_Key, _Compare, _Allocator> > {
@@ -1064,9 +1067,9 @@ public:
typedef std::reverse_iterator<iterator> reverse_iterator;
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
typedef __set_node_handle<typename __base::__node, allocator_type> node_type;
-#endif
+# endif
template <class _Key2, class _Compare2, class _Alloc2>
friend class _LIBCPP_TEMPLATE_VIS set;
@@ -1091,11 +1094,11 @@ public:
insert(__f, __l);
}
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <class _InputIterator>
_LIBCPP_HIDE_FROM_ABI multiset(_InputIterator __f, _InputIterator __l, const allocator_type& __a)
: multiset(__f, __l, key_compare(), __a) {}
-#endif
+# endif
template <class _InputIterator>
_LIBCPP_HIDE_FROM_ABI
@@ -1104,7 +1107,7 @@ public:
insert(__f, __l);
}
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<value_type> _Range>
_LIBCPP_HIDE_FROM_ABI
multiset(from_range_t,
@@ -1118,7 +1121,7 @@ public:
template <_ContainerCompatibleRange<value_type> _Range>
_LIBCPP_HIDE_FROM_ABI multiset(from_range_t, _Range&& __range, const allocator_type& __a)
: multiset(from_range, std::forward<_Range>(__range), key_compare(), __a) {}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI multiset(const multiset& __s)
: __tree_(__s.__tree_.value_comp(),
@@ -1131,19 +1134,19 @@ public:
return *this;
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI multiset(multiset&& __s) noexcept(is_nothrow_move_constructible<__base>::value)
: __tree_(std::move(__s.__tree_)) {}
_LIBCPP_HIDE_FROM_ABI multiset(multiset&& __s, const allocator_type& __a);
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI explicit multiset(const allocator_type& __a) : __tree_(__a) {}
_LIBCPP_HIDE_FROM_ABI multiset(const multiset& __s, const allocator_type& __a)
: __tree_(__s.__tree_.value_comp(), __a) {
insert(__s.begin(), __s.end());
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI multiset(initializer_list<value_type> __il, const value_compare& __comp = value_compare())
: __tree_(__comp) {
insert(__il.begin(), __il.end());
@@ -1155,10 +1158,10 @@ public:
insert(__il.begin(), __il.end());
}
-# if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
_LIBCPP_HIDE_FROM_ABI multiset(initializer_list<value_type> __il, const allocator_type& __a)
: multiset(__il, key_compare(), __a) {}
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI multiset& operator=(initializer_list<value_type> __il) {
__tree_.__assign_multi(__il.begin(), __il.end());
@@ -1169,7 +1172,7 @@ public:
__tree_ = std::move(__s.__tree_);
return *this;
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI ~multiset() { static_assert(sizeof(__diagnose_non_const_comparator<_Key, _Compare>()), ""); }
@@ -1193,7 +1196,7 @@ public:
_LIBCPP_HIDE_FROM_ABI size_type max_size() const _NOEXCEPT { return __tree_.max_size(); }
// modifiers:
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class... _Args>
_LIBCPP_HIDE_FROM_ABI iterator emplace(_Args&&... __args) {
return __tree_.__emplace_multi(std::forward<_Args>(__args)...);
@@ -1202,7 +1205,7 @@ public:
_LIBCPP_HIDE_FROM_ABI iterator emplace_hint(const_iterator __p, _Args&&... __args) {
return __tree_.__emplace_hint_multi(__p, std::forward<_Args>(__args)...);
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI iterator insert(const value_type& __v) { return __tree_.__insert_multi(__v); }
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, const value_type& __v) {
@@ -1215,7 +1218,7 @@ public:
__tree_.__insert_multi(__e, *__f);
}
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<value_type> _Range>
_LIBCPP_HIDE_FROM_ABI void insert_range(_Range&& __range) {
const_iterator __end = cend();
@@ -1223,9 +1226,9 @@ public:
__tree_.__insert_multi(__end, std::forward<decltype(__element)>(__element));
}
}
-#endif
+# endif
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI iterator insert(value_type&& __v) { return __tree_.__insert_multi(std::move(__v)); }
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, value_type&& __v) {
@@ -1233,14 +1236,14 @@ public:
}
_LIBCPP_HIDE_FROM_ABI void insert(initializer_list<value_type> __il) { insert(__il.begin(), __il.end()); }
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI iterator erase(const_iterator __p) { return __tree_.erase(__p); }
_LIBCPP_HIDE_FROM_ABI size_type erase(const key_type& __k) { return __tree_.__erase_multi(__k); }
_LIBCPP_HIDE_FROM_ABI iterator erase(const_iterator __f, const_iterator __l) { return __tree_.erase(__f, __l); }
_LIBCPP_HIDE_FROM_ABI void clear() _NOEXCEPT { __tree_.clear(); }
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
_LIBCPP_HIDE_FROM_ABI iterator insert(node_type&& __nh) {
_LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR(__nh.empty() || __nh.get_allocator() == get_allocator(),
"node_type with incompatible allocator passed to multiset::insert()");
@@ -1281,7 +1284,7 @@ public:
__source.get_allocator() == get_allocator(), "merging container with incompatible allocator");
__tree_.__node_handle_merge_multi(__source.__tree_);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI void swap(multiset& __s) _NOEXCEPT_(__is_nothrow_swappable_v<__base>) {
__tree_.swap(__s.__tree_);
@@ -1294,7 +1297,7 @@ public:
// set operations:
_LIBCPP_HIDE_FROM_ABI iterator find(const key_type& __k) { return __tree_.find(__k); }
_LIBCPP_HIDE_FROM_ABI const_iterator find(const key_type& __k) const { return __tree_.find(__k); }
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <typename _K2, enable_if_t<__is_transparent_v<_Compare, _K2>, int> = 0>
_LIBCPP_HIDE_FROM_ABI iterator find(const _K2& __k) {
return __tree_.find(__k);
@@ -1303,27 +1306,27 @@ public:
_LIBCPP_HIDE_FROM_ABI const_iterator find(const _K2& __k) const {
return __tree_.find(__k);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI size_type count(const key_type& __k) const { return __tree_.__count_multi(__k); }
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <typename _K2, enable_if_t<__is_transparent_v<_Compare, _K2>, int> = 0>
_LIBCPP_HIDE_FROM_ABI size_type count(const _K2& __k) const {
return __tree_.__count_multi(__k);
}
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI bool contains(const key_type& __k) const { return find(__k) != end(); }
template <typename _K2, enable_if_t<__is_transparent_v<_Compare, _K2>, int> = 0>
_LIBCPP_HIDE_FROM_ABI bool contains(const _K2& __k) const {
return find(__k) != end();
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI iterator lower_bound(const key_type& __k) { return __tree_.lower_bound(__k); }
_LIBCPP_HIDE_FROM_ABI const_iterator lower_bound(const key_type& __k) const { return __tree_.lower_bound(__k); }
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <typename _K2, enable_if_t<__is_transparent_v<_Compare, _K2>, int> = 0>
_LIBCPP_HIDE_FROM_ABI iterator lower_bound(const _K2& __k) {
return __tree_.lower_bound(__k);
@@ -1333,11 +1336,11 @@ public:
_LIBCPP_HIDE_FROM_ABI const_iterator lower_bound(const _K2& __k) const {
return __tree_.lower_bound(__k);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI iterator upper_bound(const key_type& __k) { return __tree_.upper_bound(__k); }
_LIBCPP_HIDE_FROM_ABI const_iterator upper_bound(const key_type& __k) const { return __tree_.upper_bound(__k); }
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <typename _K2, enable_if_t<__is_transparent_v<_Compare, _K2>, int> = 0>
_LIBCPP_HIDE_FROM_ABI iterator upper_bound(const _K2& __k) {
return __tree_.upper_bound(__k);
@@ -1346,7 +1349,7 @@ public:
_LIBCPP_HIDE_FROM_ABI const_iterator upper_bound(const _K2& __k) const {
return __tree_.upper_bound(__k);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI pair<iterator, iterator> equal_range(const key_type& __k) {
return __tree_.__equal_range_multi(__k);
@@ -1354,7 +1357,7 @@ public:
_LIBCPP_HIDE_FROM_ABI pair<const_iterator, const_iterator> equal_range(const key_type& __k) const {
return __tree_.__equal_range_multi(__k);
}
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <typename _K2, enable_if_t<__is_transparent_v<_Compare, _K2>, int> = 0>
_LIBCPP_HIDE_FROM_ABI pair<iterator, iterator> equal_range(const _K2& __k) {
return __tree_.__equal_range_multi(__k);
@@ -1363,10 +1366,10 @@ public:
_LIBCPP_HIDE_FROM_ABI pair<const_iterator, const_iterator> equal_range(const _K2& __k) const {
return __tree_.__equal_range_multi(__k);
}
-#endif
+# endif
};
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _InputIterator,
class _Compare = less<__iter_value_type<_InputIterator>>,
class _Allocator = allocator<__iter_value_type<_InputIterator>>,
@@ -1376,7 +1379,7 @@ template <class _InputIterator,
multiset(_InputIterator, _InputIterator, _Compare = _Compare(), _Allocator = _Allocator())
-> multiset<__iter_value_type<_InputIterator>, _Compare, _Allocator>;
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <ranges::input_range _Range,
class _Compare = less<ranges::range_value_t<_Range>>,
class _Allocator = allocator<ranges::range_value_t<_Range>>,
@@ -1384,7 +1387,7 @@ template <ranges::input_range _Range,
class = enable_if_t<!__is_allocator<_Compare>::value, void>>
multiset(from_range_t, _Range&&, _Compare = _Compare(), _Allocator = _Allocator())
-> multiset<ranges::range_value_t<_Range>, _Compare, _Allocator>;
-# endif
+# endif
template <class _Key,
class _Compare = less<_Key>,
@@ -1402,18 +1405,18 @@ template <class _InputIterator,
multiset(_InputIterator, _InputIterator, _Allocator)
-> multiset<__iter_value_type<_InputIterator>, less<__iter_value_type<_InputIterator>>, _Allocator>;
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <ranges::input_range _Range, class _Allocator, class = enable_if_t<__is_allocator<_Allocator>::value, void>>
multiset(from_range_t,
_Range&&,
_Allocator) -> multiset<ranges::range_value_t<_Range>, less<ranges::range_value_t<_Range>>, _Allocator>;
-# endif
+# endif
template <class _Key, class _Allocator, class = enable_if_t<__is_allocator<_Allocator>::value, void>>
multiset(initializer_list<_Key>, _Allocator) -> multiset<_Key, less<_Key>, _Allocator>;
-#endif
+# endif
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Key, class _Compare, class _Allocator>
multiset<_Key, _Compare, _Allocator>::multiset(multiset&& __s, const allocator_type& __a)
@@ -1425,7 +1428,7 @@ multiset<_Key, _Compare, _Allocator>::multiset(multiset&& __s, const allocator_t
}
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Key, class _Compare, class _Allocator>
inline _LIBCPP_HIDE_FROM_ABI bool
@@ -1433,7 +1436,7 @@ operator==(const multiset<_Key, _Compare, _Allocator>& __x, const multiset<_Key,
return __x.size() == __y.size() && std::equal(__x.begin(), __x.end(), __y.begin());
}
-#if _LIBCPP_STD_VER <= 17
+# if _LIBCPP_STD_VER <= 17
template <class _Key, class _Compare, class _Allocator>
inline _LIBCPP_HIDE_FROM_ABI bool
@@ -1465,7 +1468,7 @@ operator<=(const multiset<_Key, _Compare, _Allocator>& __x, const multiset<_Key,
return !(__y < __x);
}
-#else // _LIBCPP_STD_VER <= 17
+# else // _LIBCPP_STD_VER <= 17
template <class _Key, class _Allocator>
_LIBCPP_HIDE_FROM_ABI __synth_three_way_result<_Key>
@@ -1473,7 +1476,7 @@ operator<=>(const multiset<_Key, _Allocator>& __x, const multiset<_Key, _Allocat
return std::lexicographical_compare_three_way(__x.begin(), __x.end(), __y.begin(), __y.end(), __synth_three_way);
}
-#endif // _LIBCPP_STD_VER <= 17
+# endif // _LIBCPP_STD_VER <= 17
template <class _Key, class _Compare, class _Allocator>
inline _LIBCPP_HIDE_FROM_ABI void
@@ -1482,13 +1485,13 @@ swap(multiset<_Key, _Compare, _Allocator>& __x, multiset<_Key, _Compare, _Alloca
__x.swap(__y);
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _Key, class _Compare, class _Allocator, class _Predicate>
inline _LIBCPP_HIDE_FROM_ABI typename multiset<_Key, _Compare, _Allocator>::size_type
erase_if(multiset<_Key, _Compare, _Allocator>& __c, _Predicate __pred) {
return std::__libcpp_erase_if_container(__c, __pred);
}
-#endif
+# endif
template <class _Key, class _Compare, class _Allocator>
struct __container_traits<multiset<_Key, _Compare, _Allocator> > {
@@ -1500,7 +1503,7 @@ struct __container_traits<multiset<_Key, _Compare, _Allocator> > {
_LIBCPP_END_NAMESPACE_STD
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
_LIBCPP_BEGIN_NAMESPACE_STD
namespace pmr {
template <class _KeyT, class _CompareT = std::less<_KeyT>>
@@ -1510,17 +1513,18 @@ template <class _KeyT, class _CompareT = std::less<_KeyT>>
using multiset _LIBCPP_AVAILABILITY_PMR = std::multiset<_KeyT, _CompareT, polymorphic_allocator<_KeyT>>;
} // namespace pmr
_LIBCPP_END_NAMESPACE_STD
-#endif
+# endif
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <concepts>
-# include <cstdlib>
-# include <functional>
-# include <iterator>
-# include <stdexcept>
-# include <type_traits>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
+# include <cstdlib>
+# include <functional>
+# include <iterator>
+# include <stdexcept>
+# include <type_traits>
+# endif
+#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 255211940541..6738efeedb3c 100644
--- a/libcxx/include/shared_mutex
+++ b/libcxx/include/shared_mutex
@@ -122,31 +122,34 @@ template <class Mutex>
*/
-#include <__config>
-
-#if _LIBCPP_HAS_THREADS
-
-# include <__chrono/duration.h>
-# include <__chrono/steady_clock.h>
-# include <__chrono/time_point.h>
-# include <__condition_variable/condition_variable.h>
-# include <__memory/addressof.h>
-# include <__mutex/mutex.h>
-# include <__mutex/tag_types.h>
-# include <__mutex/unique_lock.h>
-# include <__system_error/throw_system_error.h>
-# include <__utility/swap.h>
-# include <cerrno>
-# include <version>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/shared_mutex>
+#else
+# include <__config>
+
+# if _LIBCPP_HAS_THREADS
+
+# include <__chrono/duration.h>
+# include <__chrono/steady_clock.h>
+# include <__chrono/time_point.h>
+# include <__condition_variable/condition_variable.h>
+# include <__memory/addressof.h>
+# include <__mutex/mutex.h>
+# include <__mutex/tag_types.h>
+# include <__mutex/unique_lock.h>
+# include <__system_error/throw_system_error.h>
+# include <__utility/swap.h>
+# include <cerrno>
+# include <version>
_LIBCPP_PUSH_MACROS
-# include <__undef_macros>
+# include <__undef_macros>
-# if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
-# 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
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -179,7 +182,7 @@ struct _LIBCPP_EXPORTED_FROM_ABI __shared_mutex_base {
// native_handle_type native_handle(); // See 30.2.3
};
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
class _LIBCPP_EXPORTED_FROM_ABI _LIBCPP_THREAD_SAFETY_ANNOTATION(__capability__("shared_mutex")) shared_mutex {
__shared_mutex_base __base_;
@@ -216,7 +219,7 @@ public:
// typedef __shared_mutex_base::native_handle_type native_handle_type;
// _LIBCPP_HIDE_FROM_ABI native_handle_type native_handle() { return __base::unlock_shared(); }
};
-# endif
+# endif
class _LIBCPP_EXPORTED_FROM_ABI
_LIBCPP_THREAD_SAFETY_ANNOTATION(__capability__("shared_timed_mutex")) shared_timed_mutex {
@@ -451,14 +454,15 @@ inline _LIBCPP_HIDE_FROM_ABI void swap(shared_lock<_Mutex>& __x, shared_lock<_Mu
_LIBCPP_END_NAMESPACE_STD
-# endif // _LIBCPP_STD_VER >= 14
+# endif // _LIBCPP_STD_VER >= 14
_LIBCPP_POP_MACROS
-#endif // _LIBCPP_HAS_THREADS
+# endif // _LIBCPP_HAS_THREADS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <system_error>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <system_error>
+# endif
+#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 d16e3c46fce5..bbbb86bc68c8 100644
--- a/libcxx/include/source_location
+++ b/libcxx/include/source_location
@@ -25,17 +25,20 @@ namespace std {
}
*/
-#include <__config>
-#include <cstdint>
-#include <version>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/source_location>
+#else
+# include <__config>
+# include <cstdint>
+# include <version>
-#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
_LIBCPP_BEGIN_NAMESPACE_STD
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
class source_location {
// The names source_location::__impl, _M_file_name, _M_function_name, _M_line, and _M_column
@@ -78,8 +81,10 @@ public:
}
};
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_END_NAMESPACE_STD
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+
#endif // _LIBCPP_SOURCE_LOCATION
diff --git a/libcxx/include/span b/libcxx/include/span
index 896a3cd89018..5bb09ec515ce 100644
--- a/libcxx/include/span
+++ b/libcxx/include/span
@@ -144,60 +144,63 @@ template<class R>
*/
-#include <__assert>
-#include <__concepts/convertible_to.h>
-#include <__concepts/equality_comparable.h>
-#include <__config>
-#include <__cstddef/byte.h>
-#include <__cstddef/ptrdiff_t.h>
-#include <__fwd/array.h>
-#include <__fwd/span.h>
-#include <__iterator/bounded_iter.h>
-#include <__iterator/concepts.h>
-#include <__iterator/iterator_traits.h>
-#include <__iterator/reverse_iterator.h>
-#include <__iterator/wrap_iter.h>
-#include <__memory/pointer_traits.h>
-#include <__ranges/concepts.h>
-#include <__ranges/data.h>
-#include <__ranges/enable_borrowed_range.h>
-#include <__ranges/enable_view.h>
-#include <__ranges/size.h>
-#include <__type_traits/integral_constant.h>
-#include <__type_traits/is_array.h>
-#include <__type_traits/is_const.h>
-#include <__type_traits/is_convertible.h>
-#include <__type_traits/is_integral.h>
-#include <__type_traits/is_same.h>
-#include <__type_traits/remove_const.h>
-#include <__type_traits/remove_cv.h>
-#include <__type_traits/remove_cvref.h>
-#include <__type_traits/remove_reference.h>
-#include <__type_traits/type_identity.h>
-#include <__utility/forward.h>
-#include <initializer_list>
-#include <stdexcept>
-#include <version>
+#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>
+# include <__config>
+# include <__cstddef/byte.h>
+# include <__cstddef/ptrdiff_t.h>
+# include <__fwd/array.h>
+# include <__fwd/span.h>
+# include <__iterator/bounded_iter.h>
+# include <__iterator/concepts.h>
+# include <__iterator/iterator_traits.h>
+# include <__iterator/reverse_iterator.h>
+# include <__iterator/wrap_iter.h>
+# include <__memory/pointer_traits.h>
+# include <__ranges/concepts.h>
+# include <__ranges/data.h>
+# include <__ranges/enable_borrowed_range.h>
+# include <__ranges/enable_view.h>
+# include <__ranges/size.h>
+# include <__type_traits/integral_constant.h>
+# include <__type_traits/is_array.h>
+# include <__type_traits/is_const.h>
+# include <__type_traits/is_convertible.h>
+# include <__type_traits/is_integral.h>
+# include <__type_traits/is_same.h>
+# include <__type_traits/remove_const.h>
+# include <__type_traits/remove_cv.h>
+# include <__type_traits/remove_cvref.h>
+# include <__type_traits/remove_reference.h>
+# include <__type_traits/type_identity.h>
+# include <__utility/forward.h>
+# include <initializer_list>
+# include <stdexcept>
+# include <version>
// standard-mandated includes
// [iterator.range]
-#include <__iterator/access.h>
-#include <__iterator/data.h>
-#include <__iterator/empty.h>
-#include <__iterator/reverse_access.h>
-#include <__iterator/size.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
+# include <__iterator/access.h>
+# include <__iterator/data.h>
+# include <__iterator/empty.h>
+# include <__iterator/reverse_access.h>
+# include <__iterator/size.h>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _Tp>
struct __is_std_span : false_type {};
@@ -237,11 +240,11 @@ public:
using const_pointer = const _Tp*;
using reference = _Tp&;
using const_reference = const _Tp&;
-# ifdef _LIBCPP_ABI_BOUNDED_ITERATORS
+# ifdef _LIBCPP_ABI_BOUNDED_ITERATORS
using iterator = __bounded_iter<pointer>;
-# else
+# else
using iterator = __wrap_iter<pointer>;
-# endif
+# endif
using reverse_iterator = std::reverse_iterator<iterator>;
static constexpr size_type extent = _Extent;
@@ -251,14 +254,14 @@ public:
requires(_Sz == 0)
_LIBCPP_HIDE_FROM_ABI constexpr span() noexcept : __data_{nullptr} {}
-# if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
_LIBCPP_HIDE_FROM_ABI constexpr explicit span(std::initializer_list<value_type> __il)
requires is_const_v<element_type>
: __data_{__il.begin()} {
_LIBCPP_ASSERT_VALID_INPUT_RANGE(
_Extent == __il.size(), "Size mismatch in span's constructor _Extent != __il.size().");
}
-# endif
+# endif
constexpr span(const span&) noexcept = default;
constexpr span& operator=(const span&) noexcept = default;
@@ -267,6 +270,8 @@ public:
_LIBCPP_HIDE_FROM_ABI constexpr explicit span(_It __first, size_type __count) : __data_{std::to_address(__first)} {
(void)__count;
_LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(_Extent == __count, "size mismatch in span's constructor (iterator, len)");
+ _LIBCPP_ASSERT_VALID_INPUT_RANGE(__count == 0 || std::to_address(__first) != nullptr,
+ "passed nullptr with non-zero length in span's constructor (iterator, len)");
}
template <__span_compatible_iterator<element_type> _It, __span_compatible_sentinel_for<_It> _End>
@@ -356,13 +361,13 @@ public:
return __data_[__idx];
}
-# if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
_LIBCPP_HIDE_FROM_ABI constexpr reference at(size_type __index) const {
if (__index >= size())
std::__throw_out_of_range("span");
return __data_[__index];
}
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI constexpr reference front() const noexcept {
_LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(!empty(), "span<T, N>::front() on empty span");
@@ -378,18 +383,18 @@ public:
// [span.iter], span iterator support
_LIBCPP_HIDE_FROM_ABI constexpr iterator begin() const noexcept {
-# ifdef _LIBCPP_ABI_BOUNDED_ITERATORS
+# ifdef _LIBCPP_ABI_BOUNDED_ITERATORS
return std::__make_bounded_iter(data(), data(), data() + size());
-# else
+# else
return iterator(data());
-# endif
+# endif
}
_LIBCPP_HIDE_FROM_ABI constexpr iterator end() const noexcept {
-# ifdef _LIBCPP_ABI_BOUNDED_ITERATORS
+# ifdef _LIBCPP_ABI_BOUNDED_ITERATORS
return std::__make_bounded_iter(data() + size(), data(), data() + size());
-# else
+# else
return iterator(data() + size());
-# endif
+# endif
}
_LIBCPP_HIDE_FROM_ABI constexpr reverse_iterator rbegin() const noexcept { return reverse_iterator(end()); }
_LIBCPP_HIDE_FROM_ABI constexpr reverse_iterator rend() const noexcept { return reverse_iterator(begin()); }
@@ -418,11 +423,11 @@ public:
using const_pointer = const _Tp*;
using reference = _Tp&;
using const_reference = const _Tp&;
-# ifdef _LIBCPP_ABI_BOUNDED_ITERATORS
+# ifdef _LIBCPP_ABI_BOUNDED_ITERATORS
using iterator = __bounded_iter<pointer>;
-# else
+# else
using iterator = __wrap_iter<pointer>;
-# endif
+# endif
using reverse_iterator = std::reverse_iterator<iterator>;
static constexpr size_type extent = dynamic_extent;
@@ -430,18 +435,21 @@ public:
// [span.cons], span constructors, copy, assignment, and destructor
_LIBCPP_HIDE_FROM_ABI constexpr span() noexcept : __data_{nullptr}, __size_{0} {}
-# if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
_LIBCPP_HIDE_FROM_ABI constexpr span(std::initializer_list<value_type> __il)
requires is_const_v<element_type>
: __data_{__il.begin()}, __size_{__il.size()} {}
-# endif
+# endif
constexpr span(const span&) noexcept = default;
constexpr span& operator=(const span&) noexcept = default;
template <__span_compatible_iterator<element_type> _It>
_LIBCPP_HIDE_FROM_ABI constexpr span(_It __first, size_type __count)
- : __data_{std::to_address(__first)}, __size_{__count} {}
+ : __data_{std::to_address(__first)}, __size_{__count} {
+ _LIBCPP_ASSERT_VALID_INPUT_RANGE(__count == 0 || std::to_address(__first) != nullptr,
+ "passed nullptr with non-zero length in span's constructor (iterator, len)");
+ }
template <__span_compatible_iterator<element_type> _It, __span_compatible_sentinel_for<_It> _End>
_LIBCPP_HIDE_FROM_ABI constexpr span(_It __first, _End __last)
@@ -518,13 +526,13 @@ public:
return __data_[__idx];
}
-# if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
_LIBCPP_HIDE_FROM_ABI constexpr reference at(size_type __index) const {
if (__index >= size())
std::__throw_out_of_range("span");
return __data_[__index];
}
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI constexpr reference front() const noexcept {
_LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(!empty(), "span<T>::front() on empty span");
@@ -540,18 +548,18 @@ public:
// [span.iter], span iterator support
_LIBCPP_HIDE_FROM_ABI constexpr iterator begin() const noexcept {
-# ifdef _LIBCPP_ABI_BOUNDED_ITERATORS
+# ifdef _LIBCPP_ABI_BOUNDED_ITERATORS
return std::__make_bounded_iter(data(), data(), data() + size());
-# else
+# else
return iterator(data());
-# endif
+# endif
}
_LIBCPP_HIDE_FROM_ABI constexpr iterator end() const noexcept {
-# ifdef _LIBCPP_ABI_BOUNDED_ITERATORS
+# ifdef _LIBCPP_ABI_BOUNDED_ITERATORS
return std::__make_bounded_iter(data() + size(), data(), data() + size());
-# else
+# else
return iterator(data() + size());
-# endif
+# endif
}
_LIBCPP_HIDE_FROM_ABI constexpr reverse_iterator rbegin() const noexcept { return reverse_iterator(end()); }
_LIBCPP_HIDE_FROM_ABI constexpr reverse_iterator rend() const noexcept { return reverse_iterator(begin()); }
@@ -587,7 +595,7 @@ _LIBCPP_HIDE_FROM_ABI auto as_writable_bytes(span<_Tp, _Extent> __s) noexcept {
return __s.__as_writable_bytes();
}
-# if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
template <class _Tp>
concept __integral_constant_like =
is_integral_v<decltype(_Tp::value)> && !is_same_v<bool, remove_const_t<decltype(_Tp::value)>> &&
@@ -603,10 +611,10 @@ inline constexpr size_t __maybe_static_ext<_Tp> = {_Tp::value};
template <contiguous_iterator _It, class _EndOrSize>
span(_It, _EndOrSize) -> span<remove_reference_t<iter_reference_t<_It>>, __maybe_static_ext<_EndOrSize>>;
-# else
+# else
template <contiguous_iterator _It, class _EndOrSize>
span(_It, _EndOrSize) -> span<remove_reference_t<iter_reference_t<_It>>>;
-# endif
+# endif
template <class _Tp, size_t _Sz>
span(_Tp (&)[_Sz]) -> span<_Tp, _Sz>;
@@ -620,18 +628,19 @@ span(const array<_Tp, _Sz>&) -> span<const _Tp, _Sz>;
template <ranges::contiguous_range _Range>
span(_Range&&) -> span<remove_reference_t<ranges::range_reference_t<_Range>>>;
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <array>
-# include <concepts>
-# include <functional>
-# include <iterator>
-# include <type_traits>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <array>
+# include <concepts>
+# include <functional>
+# include <iterator>
+# include <type_traits>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_SPAN
diff --git a/libcxx/include/sstream b/libcxx/include/sstream
index 4f458c5dfce9..5dcfb446a5d6 100644
--- a/libcxx/include/sstream
+++ b/libcxx/include/sstream
@@ -312,27 +312,30 @@ typedef basic_stringstream<wchar_t> wstringstream;
// clang-format on
-#include <__config>
-
-#if _LIBCPP_HAS_LOCALIZATION
-
-# include <__fwd/sstream.h>
-# include <__ostream/basic_ostream.h>
-# include <__type_traits/is_convertible.h>
-# include <__utility/swap.h>
-# include <ios>
-# include <istream>
-# include <locale>
-# include <string>
-# include <string_view>
-# include <version>
-
-# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-# endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/sstream>
+#else
+# include <__config>
+
+# if _LIBCPP_HAS_LOCALIZATION
+
+# include <__fwd/sstream.h>
+# include <__ostream/basic_ostream.h>
+# include <__type_traits/is_convertible.h>
+# include <__utility/swap.h>
+# include <ios>
+# include <istream>
+# include <locale>
+# include <string>
+# include <string_view>
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
_LIBCPP_PUSH_MACROS
-# include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -375,7 +378,7 @@ public:
str(__s);
}
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI explicit basic_stringbuf(const allocator_type& __a)
: basic_stringbuf(ios_base::in | ios_base::out, __a) {}
@@ -409,9 +412,9 @@ public:
: __str_(__s), __hm_(nullptr), __mode_(__wch) {
__init_buf_ptrs();
}
-# endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
-# if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
template <class _Tp>
requires is_convertible_v<const _Tp&, basic_string_view<_CharT, _Traits>>
@@ -433,37 +436,37 @@ public:
__init_buf_ptrs();
}
-# endif // _LIBCPP_STD_VER >= 26
+# endif // _LIBCPP_STD_VER >= 26
basic_stringbuf(const basic_stringbuf&) = delete;
basic_stringbuf(basic_stringbuf&& __rhs) : __mode_(__rhs.__mode_) { __move_init(std::move(__rhs)); }
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI basic_stringbuf(basic_stringbuf&& __rhs, const allocator_type& __a)
: basic_stringbuf(__rhs.__mode_, __a) {
__move_init(std::move(__rhs));
}
-# endif
+# endif
// [stringbuf.assign] Assign and swap:
basic_stringbuf& operator=(const basic_stringbuf&) = delete;
basic_stringbuf& operator=(basic_stringbuf&& __rhs);
void swap(basic_stringbuf& __rhs)
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
noexcept(allocator_traits<allocator_type>::propagate_on_container_swap::value ||
allocator_traits<allocator_type>::is_always_equal::value)
-# endif
+# endif
;
// [stringbuf.members] Member functions:
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI allocator_type get_allocator() const noexcept { return __str_.get_allocator(); }
-# endif
+# endif
-# if _LIBCPP_STD_VER <= 17 || defined(_LIBCPP_BUILDING_LIBRARY)
+# if _LIBCPP_STD_VER <= 17 || defined(_LIBCPP_BUILDING_LIBRARY)
string_type str() const;
-# else
+# else
_LIBCPP_HIDE_FROM_ABI string_type str() const& { return str(__str_.get_allocator()); }
_LIBCPP_HIDE_FROM_ABI string_type str() && {
@@ -477,9 +480,9 @@ public:
__init_buf_ptrs();
return __result;
}
-# endif // _LIBCPP_STD_VER <= 17 || defined(_LIBCPP_BUILDING_LIBRARY)
+# endif // _LIBCPP_STD_VER <= 17 || defined(_LIBCPP_BUILDING_LIBRARY)
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _SAlloc>
requires __is_allocator<_SAlloc>::value
_LIBCPP_HIDE_FROM_ABI basic_string<char_type, traits_type, _SAlloc> str(const _SAlloc& __sa) const {
@@ -487,14 +490,14 @@ public:
}
_LIBCPP_HIDE_FROM_ABI basic_string_view<char_type, traits_type> view() const noexcept;
-# endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
void str(const string_type& __s) {
__str_ = __s;
__init_buf_ptrs();
}
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _SAlloc>
requires(!is_same_v<_SAlloc, allocator_type>)
_LIBCPP_HIDE_FROM_ABI void str(const basic_string<char_type, traits_type, _SAlloc>& __s) {
@@ -506,9 +509,9 @@ public:
__str_ = std::move(__s);
__init_buf_ptrs();
}
-# endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
-# if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
template <class _Tp>
requires is_convertible_v<const _Tp&, basic_string_view<_CharT, _Traits>>
@@ -518,7 +521,7 @@ public:
__init_buf_ptrs();
}
-# endif // _LIBCPP_STD_VER >= 26
+# endif // _LIBCPP_STD_VER >= 26
protected:
// [stringbuf.virtuals] Overridden virtual functions:
@@ -614,10 +617,10 @@ basic_stringbuf<_CharT, _Traits, _Allocator>::operator=(basic_stringbuf&& __rhs)
template <class _CharT, class _Traits, class _Allocator>
void basic_stringbuf<_CharT, _Traits, _Allocator>::swap(basic_stringbuf& __rhs)
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
noexcept(allocator_traits<_Allocator>::propagate_on_container_swap::value ||
allocator_traits<_Allocator>::is_always_equal::value)
-# endif
+# endif
{
char_type* __p = const_cast<char_type*>(__rhs.__str_.data());
ptrdiff_t __rbinp = -1;
@@ -687,14 +690,14 @@ void basic_stringbuf<_CharT, _Traits, _Allocator>::swap(basic_stringbuf& __rhs)
template <class _CharT, class _Traits, class _Allocator>
inline _LIBCPP_HIDE_FROM_ABI void
swap(basic_stringbuf<_CharT, _Traits, _Allocator>& __x, basic_stringbuf<_CharT, _Traits, _Allocator>& __y)
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
noexcept(noexcept(__x.swap(__y)))
-# endif
+# endif
{
__x.swap(__y);
}
-# if _LIBCPP_STD_VER <= 17 || defined(_LIBCPP_BUILDING_LIBRARY)
+# if _LIBCPP_STD_VER <= 17 || defined(_LIBCPP_BUILDING_LIBRARY)
template <class _CharT, class _Traits, class _Allocator>
basic_string<_CharT, _Traits, _Allocator> basic_stringbuf<_CharT, _Traits, _Allocator>::str() const {
if (__mode_ & ios_base::out) {
@@ -705,7 +708,7 @@ basic_string<_CharT, _Traits, _Allocator> basic_stringbuf<_CharT, _Traits, _Allo
return string_type(this->eback(), this->egptr(), __str_.get_allocator());
return string_type(__str_.get_allocator());
}
-# endif // _LIBCPP_STD_VER <= 17 || defined(_LIBCPP_BUILDING_LIBRARY)
+# endif // _LIBCPP_STD_VER <= 17 || defined(_LIBCPP_BUILDING_LIBRARY)
template <class _CharT, class _Traits, class _Allocator>
_LIBCPP_HIDE_FROM_ABI void basic_stringbuf<_CharT, _Traits, _Allocator>::__init_buf_ptrs() {
@@ -731,7 +734,7 @@ _LIBCPP_HIDE_FROM_ABI void basic_stringbuf<_CharT, _Traits, _Allocator>::__init_
}
}
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _CharT, class _Traits, class _Allocator>
_LIBCPP_HIDE_FROM_ABI basic_string_view<_CharT, _Traits>
basic_stringbuf<_CharT, _Traits, _Allocator>::view() const noexcept {
@@ -743,7 +746,7 @@ basic_stringbuf<_CharT, _Traits, _Allocator>::view() const noexcept {
return basic_string_view<_CharT, _Traits>(this->eback(), this->egptr());
return basic_string_view<_CharT, _Traits>();
}
-# endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
template <class _CharT, class _Traits, class _Allocator>
typename basic_stringbuf<_CharT, _Traits, _Allocator>::int_type
@@ -786,9 +789,9 @@ basic_stringbuf<_CharT, _Traits, _Allocator>::overflow(int_type __c) {
if (this->pptr() == this->epptr()) {
if (!(__mode_ & ios_base::out))
return traits_type::eof();
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
ptrdiff_t __nout = this->pptr() - this->pbase();
ptrdiff_t __hm = __hm_ - this->pbase();
__str_.push_back(char_type());
@@ -797,11 +800,11 @@ basic_stringbuf<_CharT, _Traits, _Allocator>::overflow(int_type __c) {
this->setp(__p, __p + __str_.size());
this->__pbump(__nout);
__hm_ = this->pbase() + __hm;
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
return traits_type::eof();
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
}
__hm_ = std::max(this->pptr() + 1, __hm_);
if (__mode_ & ios_base::in) {
@@ -886,7 +889,7 @@ public:
_LIBCPP_HIDE_FROM_ABI explicit basic_istringstream(const string_type& __s, ios_base::openmode __wch = ios_base::in)
: basic_istream<_CharT, _Traits>(std::addressof(__sb_)), __sb_(__s, __wch | ios_base::in) {}
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI basic_istringstream(ios_base::openmode __wch, const _Allocator& __a)
: basic_istream<_CharT, _Traits>(std::addressof(__sb_)), __sb_(__wch | ios_base::in, __a) {}
@@ -906,9 +909,9 @@ public:
_LIBCPP_HIDE_FROM_ABI explicit basic_istringstream(const basic_string<_CharT, _Traits, _SAlloc>& __s,
ios_base::openmode __wch = ios_base::in)
: basic_istream<_CharT, _Traits>(std::addressof(__sb_)), __sb_(__s, __wch | ios_base::in) {}
-# endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
-# if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
template <class _Tp>
requires is_convertible_v<const _Tp&, basic_string_view<_CharT, _Traits>>
@@ -925,7 +928,7 @@ public:
_LIBCPP_HIDE_FROM_ABI basic_istringstream(const _Tp& __t, ios_base::openmode __which, const _Allocator& __a)
: basic_istream<_CharT, _Traits>(std::addressof(__sb_)), __sb_(__t, __which | ios_base::in, __a) {}
-# endif // _LIBCPP_STD_VER >= 26
+# endif // _LIBCPP_STD_VER >= 26
basic_istringstream(const basic_istringstream&) = delete;
_LIBCPP_HIDE_FROM_ABI basic_istringstream(basic_istringstream&& __rhs)
@@ -950,15 +953,15 @@ public:
return const_cast<basic_stringbuf<char_type, traits_type, allocator_type>*>(std::addressof(__sb_));
}
-# if _LIBCPP_STD_VER <= 17 || defined(_LIBCPP_BUILDING_LIBRARY)
+# if _LIBCPP_STD_VER <= 17 || defined(_LIBCPP_BUILDING_LIBRARY)
_LIBCPP_HIDE_FROM_ABI string_type str() const { return __sb_.str(); }
-# else
+# else
_LIBCPP_HIDE_FROM_ABI string_type str() const& { return __sb_.str(); }
_LIBCPP_HIDE_FROM_ABI string_type str() && { return std::move(__sb_).str(); }
-# endif
+# endif
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _SAlloc>
requires __is_allocator<_SAlloc>::value
_LIBCPP_HIDE_FROM_ABI basic_string<char_type, traits_type, _SAlloc> str(const _SAlloc& __sa) const {
@@ -966,26 +969,26 @@ public:
}
_LIBCPP_HIDE_FROM_ABI basic_string_view<char_type, traits_type> view() const noexcept { return __sb_.view(); }
-# endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI void str(const string_type& __s) { __sb_.str(__s); }
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _SAlloc>
_LIBCPP_HIDE_FROM_ABI void str(const basic_string<char_type, traits_type, _SAlloc>& __s) {
__sb_.str(__s);
}
_LIBCPP_HIDE_FROM_ABI void str(string_type&& __s) { __sb_.str(std::move(__s)); }
-# endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
-# if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
template <class _Tp>
requires is_convertible_v<const _Tp&, basic_string_view<_CharT, _Traits>>
_LIBCPP_HIDE_FROM_ABI void str(const _Tp& __t) {
rdbuf()->str(__t);
}
-# endif // _LIBCPP_STD_VER >= 26
+# endif // _LIBCPP_STD_VER >= 26
};
template <class _CharT, class _Traits, class _Allocator>
@@ -1022,7 +1025,7 @@ public:
_LIBCPP_HIDE_FROM_ABI explicit basic_ostringstream(const string_type& __s, ios_base::openmode __wch = ios_base::out)
: basic_ostream<_CharT, _Traits>(std::addressof(__sb_)), __sb_(__s, __wch | ios_base::out) {}
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI basic_ostringstream(ios_base::openmode __wch, const _Allocator& __a)
: basic_ostream<_CharT, _Traits>(std::addressof(__sb_)), __sb_(__wch | ios_base::out, __a) {}
@@ -1043,9 +1046,9 @@ public:
_LIBCPP_HIDE_FROM_ABI explicit basic_ostringstream(const basic_string<_CharT, _Traits, _SAlloc>& __s,
ios_base::openmode __wch = ios_base::out)
: basic_ostream<_CharT, _Traits>(std::addressof(__sb_)), __sb_(__s, __wch | ios_base::out) {}
-# endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
-# if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
template <class _Tp>
requires is_convertible_v<const _Tp&, basic_string_view<_CharT, _Traits>>
@@ -1062,7 +1065,7 @@ public:
_LIBCPP_HIDE_FROM_ABI basic_ostringstream(const _Tp& __t, ios_base::openmode __which, const _Allocator& __a)
: basic_ostream<_CharT, _Traits>(std::addressof(__sb_)), __sb_(__t, __which | ios_base::out, __a) {}
-# endif // _LIBCPP_STD_VER >= 26
+# endif // _LIBCPP_STD_VER >= 26
basic_ostringstream(const basic_ostringstream&) = delete;
_LIBCPP_HIDE_FROM_ABI basic_ostringstream(basic_ostringstream&& __rhs)
@@ -1088,15 +1091,15 @@ public:
return const_cast<basic_stringbuf<char_type, traits_type, allocator_type>*>(std::addressof(__sb_));
}
-# if _LIBCPP_STD_VER <= 17 || defined(_LIBCPP_BUILDING_LIBRARY)
+# if _LIBCPP_STD_VER <= 17 || defined(_LIBCPP_BUILDING_LIBRARY)
_LIBCPP_HIDE_FROM_ABI string_type str() const { return __sb_.str(); }
-# else
+# else
_LIBCPP_HIDE_FROM_ABI string_type str() const& { return __sb_.str(); }
_LIBCPP_HIDE_FROM_ABI string_type str() && { return std::move(__sb_).str(); }
-# endif
+# endif
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _SAlloc>
requires __is_allocator<_SAlloc>::value
_LIBCPP_HIDE_FROM_ABI basic_string<char_type, traits_type, _SAlloc> str(const _SAlloc& __sa) const {
@@ -1104,26 +1107,26 @@ public:
}
_LIBCPP_HIDE_FROM_ABI basic_string_view<char_type, traits_type> view() const noexcept { return __sb_.view(); }
-# endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI void str(const string_type& __s) { __sb_.str(__s); }
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _SAlloc>
_LIBCPP_HIDE_FROM_ABI void str(const basic_string<char_type, traits_type, _SAlloc>& __s) {
__sb_.str(__s);
}
_LIBCPP_HIDE_FROM_ABI void str(string_type&& __s) { __sb_.str(std::move(__s)); }
-# endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
-# if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
template <class _Tp>
requires is_convertible_v<const _Tp&, basic_string_view<_CharT, _Traits>>
_LIBCPP_HIDE_FROM_ABI void str(const _Tp& __t) {
rdbuf()->str(__t);
}
-# endif // _LIBCPP_STD_VER >= 26
+# endif // _LIBCPP_STD_VER >= 26
};
template <class _CharT, class _Traits, class _Allocator>
@@ -1161,7 +1164,7 @@ public:
ios_base::openmode __wch = ios_base::in | ios_base::out)
: basic_iostream<_CharT, _Traits>(std::addressof(__sb_)), __sb_(__s, __wch) {}
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI basic_stringstream(ios_base::openmode __wch, const _Allocator& __a)
: basic_iostream<_CharT, _Traits>(std::addressof(__sb_)), __sb_(__wch, __a) {}
@@ -1183,9 +1186,9 @@ public:
_LIBCPP_HIDE_FROM_ABI explicit basic_stringstream(const basic_string<_CharT, _Traits, _SAlloc>& __s,
ios_base::openmode __wch = ios_base::out | ios_base::in)
: basic_iostream<_CharT, _Traits>(std::addressof(__sb_)), __sb_(__s, __wch) {}
-# endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
-# if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
template <class _Tp>
requires is_convertible_v<const _Tp&, basic_string_view<_CharT, _Traits>>
@@ -1203,7 +1206,7 @@ public:
_LIBCPP_HIDE_FROM_ABI basic_stringstream(const _Tp& __t, ios_base::openmode __which, const _Allocator& __a)
: basic_iostream<_CharT, _Traits>(std::addressof(__sb_)), __sb_(__t, __which, __a) {}
-# endif // _LIBCPP_STD_VER >= 26
+# endif // _LIBCPP_STD_VER >= 26
basic_stringstream(const basic_stringstream&) = delete;
_LIBCPP_HIDE_FROM_ABI basic_stringstream(basic_stringstream&& __rhs)
@@ -1228,15 +1231,15 @@ public:
return const_cast<basic_stringbuf<char_type, traits_type, allocator_type>*>(std::addressof(__sb_));
}
-# if _LIBCPP_STD_VER <= 17 || defined(_LIBCPP_BUILDING_LIBRARY)
+# if _LIBCPP_STD_VER <= 17 || defined(_LIBCPP_BUILDING_LIBRARY)
_LIBCPP_HIDE_FROM_ABI string_type str() const { return __sb_.str(); }
-# else
+# else
_LIBCPP_HIDE_FROM_ABI string_type str() const& { return __sb_.str(); }
_LIBCPP_HIDE_FROM_ABI string_type str() && { return std::move(__sb_).str(); }
-# endif
+# endif
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _SAlloc>
requires __is_allocator<_SAlloc>::value
_LIBCPP_HIDE_FROM_ABI basic_string<char_type, traits_type, _SAlloc> str(const _SAlloc& __sa) const {
@@ -1244,26 +1247,26 @@ public:
}
_LIBCPP_HIDE_FROM_ABI basic_string_view<char_type, traits_type> view() const noexcept { return __sb_.view(); }
-# endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI void str(const string_type& __s) { __sb_.str(__s); }
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _SAlloc>
_LIBCPP_HIDE_FROM_ABI void str(const basic_string<char_type, traits_type, _SAlloc>& __s) {
__sb_.str(__s);
}
_LIBCPP_HIDE_FROM_ABI void str(string_type&& __s) { __sb_.str(std::move(__s)); }
-# endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
-# if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
template <class _Tp>
requires is_convertible_v<const _Tp&, basic_string_view<_CharT, _Traits>>
_LIBCPP_HIDE_FROM_ABI void str(const _Tp& __t) {
rdbuf()->str(__t);
}
-# endif // _LIBCPP_STD_VER >= 26
+# endif // _LIBCPP_STD_VER >= 26
};
template <class _CharT, class _Traits, class _Allocator>
@@ -1272,22 +1275,23 @@ swap(basic_stringstream<_CharT, _Traits, _Allocator>& __x, basic_stringstream<_C
__x.swap(__y);
}
-# if _LIBCPP_AVAILABILITY_HAS_ADDITIONAL_IOSTREAM_EXPLICIT_INSTANTIATIONS_1
+# if _LIBCPP_AVAILABILITY_HAS_ADDITIONAL_IOSTREAM_EXPLICIT_INSTANTIATIONS_1
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_stringbuf<char>;
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_stringstream<char>;
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_ostringstream<char>;
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_istringstream<char>;
-# endif
+# endif
_LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP_HAS_LOCALIZATION
+# endif // _LIBCPP_HAS_LOCALIZATION
-#if _LIBCPP_STD_VER <= 20 && !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES)
-# include <ostream>
-# include <type_traits>
-#endif
+# if _LIBCPP_STD_VER <= 20 && !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES)
+# include <ostream>
+# include <type_traits>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_SSTREAM
diff --git a/libcxx/include/stack b/libcxx/include/stack
index f75769f8a420..3ff3df2c9650 100644
--- a/libcxx/include/stack
+++ b/libcxx/include/stack
@@ -113,33 +113,36 @@ template <class T, class Container>
*/
-#include <__algorithm/ranges_copy.h>
-#include <__config>
-#include <__fwd/stack.h>
-#include <__iterator/back_insert_iterator.h>
-#include <__iterator/iterator_traits.h>
-#include <__memory/uses_allocator.h>
-#include <__ranges/access.h>
-#include <__ranges/concepts.h>
-#include <__ranges/container_compatible_range.h>
-#include <__ranges/from_range.h>
-#include <__type_traits/is_same.h>
-#include <__utility/forward.h>
-#include <deque>
-#include <version>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/stack>
+#else
+# include <__algorithm/ranges_copy.h>
+# include <__config>
+# include <__fwd/stack.h>
+# include <__iterator/back_insert_iterator.h>
+# include <__iterator/iterator_traits.h>
+# include <__memory/uses_allocator.h>
+# include <__ranges/access.h>
+# include <__ranges/concepts.h>
+# include <__ranges/container_compatible_range.h>
+# include <__ranges/from_range.h>
+# include <__type_traits/is_same.h>
+# include <__utility/forward.h>
+# include <deque>
+# include <version>
// standard-mandated includes
// [stack.syn]
-#include <compare>
-#include <initializer_list>
+# include <compare>
+# include <initializer_list>
-#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
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -172,7 +175,7 @@ public:
return *this;
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI stack(stack&& __q) noexcept(is_nothrow_move_constructible<container_type>::value)
: c(std::move(__q.c)) {}
@@ -182,7 +185,7 @@ public:
}
_LIBCPP_HIDE_FROM_ABI explicit stack(container_type&& __c) : c(std::move(__c)) {}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI explicit stack(const container_type& __c) : c(__c) {}
@@ -198,7 +201,7 @@ public:
_LIBCPP_HIDE_FROM_ABI
stack(const stack& __s, const _Alloc& __a, __enable_if_t<uses_allocator<container_type, _Alloc>::value>* = 0)
: c(__s.c, __a) {}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Alloc>
_LIBCPP_HIDE_FROM_ABI
stack(container_type&& __c, const _Alloc& __a, __enable_if_t<uses_allocator<container_type, _Alloc>::value>* = 0)
@@ -207,9 +210,9 @@ public:
_LIBCPP_HIDE_FROM_ABI
stack(stack&& __s, const _Alloc& __a, __enable_if_t<uses_allocator<container_type, _Alloc>::value>* = 0)
: c(std::move(__s.c), __a) {}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <class _InputIterator, __enable_if_t<__has_input_iterator_category<_InputIterator>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI stack(_InputIterator __first, _InputIterator __last) : c(__first, __last) {}
@@ -229,7 +232,7 @@ public:
_LIBCPP_HIDE_FROM_ABI stack(from_range_t, _Range&& __range, const _Alloc& __alloc)
: c(from_range, std::forward<_Range>(__range), __alloc) {}
-#endif
+# endif
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI bool empty() const { return c.empty(); }
_LIBCPP_HIDE_FROM_ABI size_type size() const { return c.size(); }
@@ -237,10 +240,10 @@ public:
_LIBCPP_HIDE_FROM_ABI const_reference top() const { return c.back(); }
_LIBCPP_HIDE_FROM_ABI void push(const value_type& __v) { c.push_back(__v); }
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI void push(value_type&& __v) { c.push_back(std::move(__v)); }
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<_Tp> _Range>
_LIBCPP_HIDE_FROM_ABI void push_range(_Range&& __range) {
if constexpr (requires(container_type& __c) { __c.append_range(std::forward<_Range>(__range)); }) {
@@ -249,22 +252,22 @@ public:
ranges::copy(std::forward<_Range>(__range), std::back_inserter(c));
}
}
-# endif
+# endif
template <class... _Args>
_LIBCPP_HIDE_FROM_ABI
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
decltype(auto)
emplace(_Args&&... __args) {
return c.emplace_back(std::forward<_Args>(__args)...);
}
-# else
+# else
void
emplace(_Args&&... __args) {
c.emplace_back(std::forward<_Args>(__args)...);
}
-# endif
-#endif // _LIBCPP_CXX03_LANG
+# endif
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI void pop() { c.pop_back(); }
@@ -282,7 +285,7 @@ public:
friend bool operator<(const stack<_T1, _OtherContainer>& __x, const stack<_T1, _OtherContainer>& __y);
};
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _Container, class = enable_if_t<!__is_allocator<_Container>::value> >
stack(_Container) -> stack<typename _Container::value_type, _Container>;
@@ -291,9 +294,9 @@ template <class _Container,
class = enable_if_t<!__is_allocator<_Container>::value>,
class = enable_if_t<uses_allocator<_Container, _Alloc>::value> >
stack(_Container, _Alloc) -> stack<typename _Container::value_type, _Container>;
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <class _InputIterator, __enable_if_t<__has_input_iterator_category<_InputIterator>::value, int> = 0>
stack(_InputIterator, _InputIterator) -> stack<__iter_value_type<_InputIterator>>;
@@ -313,7 +316,7 @@ stack(from_range_t,
_Range&&,
_Alloc) -> stack<ranges::range_value_t<_Range>, deque<ranges::range_value_t<_Range>, _Alloc>>;
-#endif
+# endif
template <class _Tp, class _Container>
inline _LIBCPP_HIDE_FROM_ABI bool operator==(const stack<_Tp, _Container>& __x, const stack<_Tp, _Container>& __y) {
@@ -345,7 +348,7 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator<=(const stack<_Tp, _Container>& __x,
return !(__y < __x);
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _Tp, three_way_comparable _Container>
_LIBCPP_HIDE_FROM_ABI compare_three_way_result_t<_Container>
@@ -354,7 +357,7 @@ operator<=>(const stack<_Tp, _Container>& __x, const stack<_Tp, _Container>& __y
return __x.__get_container() <=> __y.__get_container();
}
-#endif
+# endif
template <class _Tp, class _Container, __enable_if_t<__is_swappable_v<_Container>, int> = 0>
inline _LIBCPP_HIDE_FROM_ABI void swap(stack<_Tp, _Container>& __x, stack<_Tp, _Container>& __y)
@@ -370,10 +373,11 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <concepts>
-# include <functional>
-# include <type_traits>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
+# include <functional>
+# include <type_traits>
+# endif
+#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 f4e9b59c5fe5..a0b46e3b7bc1 100644
--- a/libcxx/include/stdatomic.h
+++ b/libcxx/include/stdatomic.h
@@ -117,22 +117,25 @@ using std::atomic_signal_fence // see below
*/
-#include <__config>
+#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)
-# pragma GCC system_header
-#endif
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
-#if defined(__cplusplus)
+# if defined(__cplusplus)
-# include <atomic>
-# include <version>
+# include <atomic>
+# include <version>
-# ifdef _Atomic
-# undef _Atomic
-# endif
+# ifdef _Atomic
+# undef _Atomic
+# endif
-# define _Atomic(_Tp) ::std::atomic<_Tp>
+# define _Atomic(_Tp) ::std::atomic<_Tp>
using std::memory_order _LIBCPP_USING_IF_EXISTS;
using std::memory_order_relaxed _LIBCPP_USING_IF_EXISTS;
@@ -156,14 +159,14 @@ using std::atomic_long _LIBCPP_USING_IF_EXISTS;
using std::atomic_ulong _LIBCPP_USING_IF_EXISTS;
using std::atomic_llong _LIBCPP_USING_IF_EXISTS;
using std::atomic_ullong _LIBCPP_USING_IF_EXISTS;
-# if _LIBCPP_HAS_CHAR8_T
+# if _LIBCPP_HAS_CHAR8_T
using std::atomic_char8_t _LIBCPP_USING_IF_EXISTS;
-# endif
+# endif
using std::atomic_char16_t _LIBCPP_USING_IF_EXISTS;
using std::atomic_char32_t _LIBCPP_USING_IF_EXISTS;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
using std::atomic_wchar_t _LIBCPP_USING_IF_EXISTS;
-# endif
+# endif
using std::atomic_int8_t _LIBCPP_USING_IF_EXISTS;
using std::atomic_uint8_t _LIBCPP_USING_IF_EXISTS;
@@ -228,12 +231,13 @@ using std::atomic_store_explicit _LIBCPP_USING_IF_EXISTS;
using std::atomic_signal_fence _LIBCPP_USING_IF_EXISTS;
using std::atomic_thread_fence _LIBCPP_USING_IF_EXISTS;
-#else
+# else
-# if __has_include_next(<stdatomic.h>)
-# include_next <stdatomic.h>
-# endif
+# if __has_include_next(<stdatomic.h>)
+# include_next <stdatomic.h>
+# endif
-#endif // defined(__cplusplus)
+# endif // defined(__cplusplus)
+#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 e74d91f45945..c34853b97b85 100644
--- a/libcxx/include/stdbool.h
+++ b/libcxx/include/stdbool.h
@@ -19,22 +19,26 @@ Macros:
*/
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#if __has_include_next(<stdbool.h>)
-# include_next <stdbool.h>
-#endif
-
-#ifdef __cplusplus
-# undef bool
-# undef true
-# undef false
-# undef __bool_true_false_are_defined
-# define __bool_true_false_are_defined 1
-#endif
+#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)
+# pragma GCC system_header
+# endif
+
+# if __has_include_next(<stdbool.h>)
+# include_next <stdbool.h>
+# endif
+
+# ifdef __cplusplus
+# undef bool
+# undef true
+# undef false
+# undef __bool_true_false_are_defined
+# define __bool_true_false_are_defined 1
+# endif
+#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 1583e78e3739..46bed2a1e1a6 100644
--- a/libcxx/include/stddef.h
+++ b/libcxx/include/stddef.h
@@ -24,21 +24,25 @@ Types:
*/
-#include <__config>
+#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)
-# pragma GCC system_header
-#endif
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
// Note: This include is outside of header guards because we sometimes get included multiple times
// with different defines and the underlying <stddef.h> will know how to deal with that.
-#include_next <stddef.h>
+# include_next <stddef.h>
-#ifndef _LIBCPP_STDDEF_H
-# define _LIBCPP_STDDEF_H
+# ifndef _LIBCPP_STDDEF_H
+# define _LIBCPP_STDDEF_H
-# ifdef __cplusplus
+# ifdef __cplusplus
typedef decltype(nullptr) nullptr_t;
-# endif
+# endif
+# 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 8415d3339f7e..85e11629bd6e 100644
--- a/libcxx/include/stdexcept
+++ b/libcxx/include/stdexcept
@@ -41,18 +41,21 @@ public:
*/
-#include <__config>
-#include <__exception/exception.h>
-#include <__fwd/string.h>
-#include <__verbose_abort>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/stdexcept>
+#else
+# include <__config>
+# include <__exception/exception.h>
+# include <__fwd/string.h>
+# include <__verbose_abort>
-#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
_LIBCPP_BEGIN_NAMESPACE_STD
-#ifndef _LIBCPP_ABI_VCRUNTIME
+# ifndef _LIBCPP_ABI_VCRUNTIME
class _LIBCPP_HIDDEN __libcpp_refstring {
const char* __imp_;
@@ -66,7 +69,7 @@ public:
_LIBCPP_HIDE_FROM_ABI const char* c_str() const _NOEXCEPT { return __imp_; }
};
-#endif // !_LIBCPP_ABI_VCRUNTIME
+# endif // !_LIBCPP_ABI_VCRUNTIME
_LIBCPP_END_NAMESPACE_STD
@@ -74,7 +77,7 @@ namespace std // purposefully not using versioning namespace
{
class _LIBCPP_EXPORTED_FROM_ABI logic_error : public exception {
-#ifndef _LIBCPP_ABI_VCRUNTIME
+# ifndef _LIBCPP_ABI_VCRUNTIME
private:
std::__libcpp_refstring __imp_;
@@ -89,16 +92,16 @@ public:
~logic_error() _NOEXCEPT override;
const char* what() const _NOEXCEPT override;
-#else
+# else
public:
explicit logic_error(const std::string&); // Symbol uses versioned std::string
_LIBCPP_HIDE_FROM_ABI explicit logic_error(const char* __s) : exception(__s) {}
-#endif
+# endif
};
class _LIBCPP_EXPORTED_FROM_ABI runtime_error : public exception {
-#ifndef _LIBCPP_ABI_VCRUNTIME
+# ifndef _LIBCPP_ABI_VCRUNTIME
private:
std::__libcpp_refstring __imp_;
@@ -113,12 +116,12 @@ public:
~runtime_error() _NOEXCEPT override;
const char* what() const _NOEXCEPT override;
-#else
+# else
public:
explicit runtime_error(const std::string&); // Symbol uses versioned std::string
_LIBCPP_HIDE_FROM_ABI explicit runtime_error(const char* __s) : exception(__s) {}
-#endif // _LIBCPP_ABI_VCRUNTIME
+# endif // _LIBCPP_ABI_VCRUNTIME
};
class _LIBCPP_EXPORTED_FROM_ABI domain_error : public logic_error {
@@ -126,11 +129,11 @@ public:
_LIBCPP_HIDE_FROM_ABI explicit domain_error(const string& __s) : logic_error(__s) {}
_LIBCPP_HIDE_FROM_ABI explicit domain_error(const char* __s) : logic_error(__s) {}
-#ifndef _LIBCPP_ABI_VCRUNTIME
+# ifndef _LIBCPP_ABI_VCRUNTIME
_LIBCPP_HIDE_FROM_ABI domain_error(const domain_error&) _NOEXCEPT = default;
_LIBCPP_HIDE_FROM_ABI domain_error& operator=(const domain_error&) _NOEXCEPT = default;
~domain_error() _NOEXCEPT override;
-#endif
+# endif
};
class _LIBCPP_EXPORTED_FROM_ABI invalid_argument : public logic_error {
@@ -138,22 +141,22 @@ public:
_LIBCPP_HIDE_FROM_ABI explicit invalid_argument(const string& __s) : logic_error(__s) {}
_LIBCPP_HIDE_FROM_ABI explicit invalid_argument(const char* __s) : logic_error(__s) {}
-#ifndef _LIBCPP_ABI_VCRUNTIME
+# ifndef _LIBCPP_ABI_VCRUNTIME
_LIBCPP_HIDE_FROM_ABI invalid_argument(const invalid_argument&) _NOEXCEPT = default;
_LIBCPP_HIDE_FROM_ABI invalid_argument& operator=(const invalid_argument&) _NOEXCEPT = default;
~invalid_argument() _NOEXCEPT override;
-#endif
+# endif
};
class _LIBCPP_EXPORTED_FROM_ABI length_error : public logic_error {
public:
_LIBCPP_HIDE_FROM_ABI explicit length_error(const string& __s) : logic_error(__s) {}
_LIBCPP_HIDE_FROM_ABI explicit length_error(const char* __s) : logic_error(__s) {}
-#ifndef _LIBCPP_ABI_VCRUNTIME
+# ifndef _LIBCPP_ABI_VCRUNTIME
_LIBCPP_HIDE_FROM_ABI length_error(const length_error&) _NOEXCEPT = default;
_LIBCPP_HIDE_FROM_ABI length_error& operator=(const length_error&) _NOEXCEPT = default;
~length_error() _NOEXCEPT override;
-#endif
+# endif
};
class _LIBCPP_EXPORTED_FROM_ABI out_of_range : public logic_error {
@@ -161,11 +164,11 @@ public:
_LIBCPP_HIDE_FROM_ABI explicit out_of_range(const string& __s) : logic_error(__s) {}
_LIBCPP_HIDE_FROM_ABI explicit out_of_range(const char* __s) : logic_error(__s) {}
-#ifndef _LIBCPP_ABI_VCRUNTIME
+# ifndef _LIBCPP_ABI_VCRUNTIME
_LIBCPP_HIDE_FROM_ABI out_of_range(const out_of_range&) _NOEXCEPT = default;
_LIBCPP_HIDE_FROM_ABI out_of_range& operator=(const out_of_range&) _NOEXCEPT = default;
~out_of_range() _NOEXCEPT override;
-#endif
+# endif
};
class _LIBCPP_EXPORTED_FROM_ABI range_error : public runtime_error {
@@ -173,11 +176,11 @@ public:
_LIBCPP_HIDE_FROM_ABI explicit range_error(const string& __s) : runtime_error(__s) {}
_LIBCPP_HIDE_FROM_ABI explicit range_error(const char* __s) : runtime_error(__s) {}
-#ifndef _LIBCPP_ABI_VCRUNTIME
+# ifndef _LIBCPP_ABI_VCRUNTIME
_LIBCPP_HIDE_FROM_ABI range_error(const range_error&) _NOEXCEPT = default;
_LIBCPP_HIDE_FROM_ABI range_error& operator=(const range_error&) _NOEXCEPT = default;
~range_error() _NOEXCEPT override;
-#endif
+# endif
};
class _LIBCPP_EXPORTED_FROM_ABI overflow_error : public runtime_error {
@@ -185,11 +188,11 @@ public:
_LIBCPP_HIDE_FROM_ABI explicit overflow_error(const string& __s) : runtime_error(__s) {}
_LIBCPP_HIDE_FROM_ABI explicit overflow_error(const char* __s) : runtime_error(__s) {}
-#ifndef _LIBCPP_ABI_VCRUNTIME
+# ifndef _LIBCPP_ABI_VCRUNTIME
_LIBCPP_HIDE_FROM_ABI overflow_error(const overflow_error&) _NOEXCEPT = default;
_LIBCPP_HIDE_FROM_ABI overflow_error& operator=(const overflow_error&) _NOEXCEPT = default;
~overflow_error() _NOEXCEPT override;
-#endif
+# endif
};
class _LIBCPP_EXPORTED_FROM_ABI underflow_error : public runtime_error {
@@ -197,11 +200,11 @@ public:
_LIBCPP_HIDE_FROM_ABI explicit underflow_error(const string& __s) : runtime_error(__s) {}
_LIBCPP_HIDE_FROM_ABI explicit underflow_error(const char* __s) : runtime_error(__s) {}
-#ifndef _LIBCPP_ABI_VCRUNTIME
+# ifndef _LIBCPP_ABI_VCRUNTIME
_LIBCPP_HIDE_FROM_ABI underflow_error(const underflow_error&) _NOEXCEPT = default;
_LIBCPP_HIDE_FROM_ABI underflow_error& operator=(const underflow_error&) _NOEXCEPT = default;
~underflow_error() _NOEXCEPT override;
-#endif
+# endif
};
} // namespace std
@@ -212,76 +215,78 @@ _LIBCPP_BEGIN_NAMESPACE_STD
[[__noreturn__]] _LIBCPP_EXPORTED_FROM_ABI void __throw_runtime_error(const char*);
[[__noreturn__]] inline _LIBCPP_HIDE_FROM_ABI void __throw_logic_error(const char* __msg) {
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
throw logic_error(__msg);
-#else
+# else
_LIBCPP_VERBOSE_ABORT("logic_error was thrown in -fno-exceptions mode with message \"%s\"", __msg);
-#endif
+# endif
}
[[__noreturn__]] inline _LIBCPP_HIDE_FROM_ABI void __throw_domain_error(const char* __msg) {
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
throw domain_error(__msg);
-#else
+# else
_LIBCPP_VERBOSE_ABORT("domain_error was thrown in -fno-exceptions mode with message \"%s\"", __msg);
-#endif
+# endif
}
[[__noreturn__]] inline _LIBCPP_HIDE_FROM_ABI void __throw_invalid_argument(const char* __msg) {
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
throw invalid_argument(__msg);
-#else
+# else
_LIBCPP_VERBOSE_ABORT("invalid_argument was thrown in -fno-exceptions mode with message \"%s\"", __msg);
-#endif
+# endif
}
[[__noreturn__]] inline _LIBCPP_HIDE_FROM_ABI void __throw_length_error(const char* __msg) {
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
throw length_error(__msg);
-#else
+# else
_LIBCPP_VERBOSE_ABORT("length_error was thrown in -fno-exceptions mode with message \"%s\"", __msg);
-#endif
+# endif
}
[[__noreturn__]] inline _LIBCPP_HIDE_FROM_ABI void __throw_out_of_range(const char* __msg) {
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
throw out_of_range(__msg);
-#else
+# else
_LIBCPP_VERBOSE_ABORT("out_of_range was thrown in -fno-exceptions mode with message \"%s\"", __msg);
-#endif
+# endif
}
[[__noreturn__]] inline _LIBCPP_HIDE_FROM_ABI void __throw_range_error(const char* __msg) {
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
throw range_error(__msg);
-#else
+# else
_LIBCPP_VERBOSE_ABORT("range_error was thrown in -fno-exceptions mode with message \"%s\"", __msg);
-#endif
+# endif
}
[[__noreturn__]] inline _LIBCPP_HIDE_FROM_ABI void __throw_overflow_error(const char* __msg) {
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
throw overflow_error(__msg);
-#else
+# else
_LIBCPP_VERBOSE_ABORT("overflow_error was thrown in -fno-exceptions mode with message \"%s\"", __msg);
-#endif
+# endif
}
[[__noreturn__]] inline _LIBCPP_HIDE_FROM_ABI void __throw_underflow_error(const char* __msg) {
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
throw underflow_error(__msg);
-#else
+# else
_LIBCPP_VERBOSE_ABORT("underflow_error was thrown in -fno-exceptions mode with message \"%s\"", __msg);
-#endif
+# endif
}
_LIBCPP_END_NAMESPACE_STD
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstddef>
-# include <cstdlib>
-# include <exception>
-# include <iosfwd>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstddef>
+# include <cstdlib>
+# include <exception>
+# include <iosfwd>
+# include <new>
+# endif
+#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 3aa559393f18..20b845a00b47 100644
--- a/libcxx/include/stdio.h
+++ b/libcxx/include/stdio.h
@@ -7,17 +7,6 @@
//
//===----------------------------------------------------------------------===//
-#if defined(__need_FILE) || defined(__need___FILE)
-
-# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-# endif
-
-# include_next <stdio.h>
-
-#elif !defined(_LIBCPP_STDIO_H)
-# define _LIBCPP_STDIO_H
-
/*
stdio.h synopsis
@@ -98,26 +87,36 @@ int ferror(FILE* stream);
void perror(const char* s);
*/
+#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)
# pragma GCC system_header
# endif
+// The inclusion of the system's <stdio.h> is intentionally done once outside of any include
+// guards because some code expects to be able to include the underlying system header multiple
+// times to get different definitions based on the macros that are set before inclusion.
# if __has_include_next(<stdio.h>)
# include_next <stdio.h>
# endif
-# ifdef __cplusplus
+# ifndef _LIBCPP_STDIO_H
+# define _LIBCPP_STDIO_H
-# undef getc
-# undef putc
-# undef clearerr
-# undef feof
-# undef ferror
-# undef putchar
-# undef getchar
+# ifdef __cplusplus
-# endif
+# undef getc
+# undef putc
+# undef clearerr
+# undef feof
+# undef ferror
+# undef putchar
+# undef getchar
+
+# endif // __cplusplus
+# endif // _LIBCPP_STDIO_H
-#endif // _LIBCPP_STDIO_H
+#endif // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
diff --git a/libcxx/include/stdlib.h b/libcxx/include/stdlib.h
index 358b10c0392a..39550f36bb6e 100644
--- a/libcxx/include/stdlib.h
+++ b/libcxx/include/stdlib.h
@@ -7,17 +7,6 @@
//
//===----------------------------------------------------------------------===//
-#if defined(__need_malloc_and_calloc)
-
-# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-# endif
-
-# include_next <stdlib.h>
-
-#elif !defined(_LIBCPP_STDLIB_H)
-# define _LIBCPP_STDLIB_H
-
/*
stdlib.h synopsis
@@ -84,35 +73,44 @@ void *aligned_alloc(size_t alignment, size_t size); // C11
*/
+#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)
# pragma GCC system_header
# endif
+// The inclusion of the system's <stdlib.h> is intentionally done once outside of any include
+// guards because some code expects to be able to include the underlying system header multiple
+// times to get different definitions based on the macros that are set before inclusion.
# if __has_include_next(<stdlib.h>)
# include_next <stdlib.h>
# endif
-# ifdef __cplusplus
+# if !defined(_LIBCPP_STDLIB_H)
+# define _LIBCPP_STDLIB_H
+
+# ifdef __cplusplus
extern "C++" {
// abs
-# ifdef abs
-# undef abs
-# endif
-# ifdef labs
-# undef labs
-# endif
-# ifdef llabs
-# undef llabs
-# endif
+# ifdef abs
+# undef abs
+# endif
+# ifdef labs
+# undef labs
+# endif
+# ifdef llabs
+# undef llabs
+# endif
// MSVCRT already has the correct prototype in <stdlib.h> if __cplusplus is defined
-# if !defined(_LIBCPP_MSVCRT)
+# if !defined(_LIBCPP_MSVCRT)
[[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI long abs(long __x) _NOEXCEPT { return __builtin_labs(__x); }
[[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI long long abs(long long __x) _NOEXCEPT { return __builtin_llabs(__x); }
-# endif // !defined(_LIBCPP_MSVCRT)
+# endif // !defined(_LIBCPP_MSVCRT)
[[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI float abs(float __lcpp_x) _NOEXCEPT {
return __builtin_fabsf(__lcpp_x); // Use builtins to prevent needing math.h
@@ -128,24 +126,25 @@ extern "C++" {
// div
-# ifdef div
-# undef div
-# endif
-# ifdef ldiv
-# undef ldiv
-# endif
-# ifdef lldiv
-# undef lldiv
-# endif
+# ifdef div
+# undef div
+# endif
+# ifdef ldiv
+# undef ldiv
+# endif
+# ifdef lldiv
+# undef lldiv
+# endif
// MSVCRT already has the correct prototype in <stdlib.h> if __cplusplus is defined
-# if !defined(_LIBCPP_MSVCRT)
+# if !defined(_LIBCPP_MSVCRT)
inline _LIBCPP_HIDE_FROM_ABI ldiv_t div(long __x, long __y) _NOEXCEPT { return ::ldiv(__x, __y); }
-# if !(defined(__FreeBSD__) && !defined(__LONG_LONG_SUPPORTED))
+# if !(defined(__FreeBSD__) && !defined(__LONG_LONG_SUPPORTED))
inline _LIBCPP_HIDE_FROM_ABI lldiv_t div(long long __x, long long __y) _NOEXCEPT { return ::lldiv(__x, __y); }
-# endif
-# endif // _LIBCPP_MSVCRT
+# endif
+# endif // _LIBCPP_MSVCRT
} // extern "C++"
-# endif // __cplusplus
+# endif // __cplusplus
+# endif // _LIBCPP_STDLIB_H
-#endif // _LIBCPP_STDLIB_H
+#endif // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
diff --git a/libcxx/include/stop_token b/libcxx/include/stop_token
index 58e3649c0705..d240dd77a913 100644
--- a/libcxx/include/stop_token
+++ b/libcxx/include/stop_token
@@ -31,27 +31,31 @@ namespace std {
*/
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/stop_token>
+#else
+# include <__config>
-#if _LIBCPP_HAS_THREADS
+# if _LIBCPP_HAS_THREADS
-# if _LIBCPP_STD_VER >= 20
-# include <__stop_token/stop_callback.h>
-# include <__stop_token/stop_source.h>
-# include <__stop_token/stop_token.h>
-# endif
+# if _LIBCPP_STD_VER >= 20
+# include <__stop_token/stop_callback.h>
+# include <__stop_token/stop_source.h>
+# include <__stop_token/stop_token.h>
+# endif
-# include <version>
+# include <version>
-# 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
-#endif // _LIBCPP_HAS_THREADS
+# endif // _LIBCPP_HAS_THREADS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstddef>
-# include <iosfwd>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstddef>
+# include <iosfwd>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_STOP_TOKEN
diff --git a/libcxx/include/streambuf b/libcxx/include/streambuf
index 3359c1b5bb8e..7f02a9b33141 100644
--- a/libcxx/include/streambuf
+++ b/libcxx/include/streambuf
@@ -107,26 +107,29 @@ protected:
*/
-#include <__config>
-
-#if _LIBCPP_HAS_LOCALIZATION
-
-# include <__assert>
-# include <__fwd/streambuf.h>
-# include <__locale>
-# include <__type_traits/is_same.h>
-# include <__utility/is_valid_range.h>
-# include <climits>
-# include <ios>
-# include <iosfwd>
-# include <version>
-
-# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-# endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/streambuf>
+#else
+# include <__config>
+
+# if _LIBCPP_HAS_LOCALIZATION
+
+# include <__assert>
+# include <__fwd/streambuf.h>
+# include <__locale>
+# include <__type_traits/is_same.h>
+# include <__utility/is_valid_range.h>
+# include <climits>
+# include <ios>
+# include <iosfwd>
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
_LIBCPP_PUSH_MACROS
-# include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -433,18 +436,19 @@ typename basic_streambuf<_CharT, _Traits>::int_type basic_streambuf<_CharT, _Tra
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_streambuf<char>;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_streambuf<wchar_t>;
-# endif
+# endif
_LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP_HAS_LOCALIZATION
+# endif // _LIBCPP_HAS_LOCALIZATION
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstdint>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstdint>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_STREAMBUF
diff --git a/libcxx/include/string b/libcxx/include/string
index bf7fc3c37ecd..7808f56f6001 100644
--- a/libcxx/include/string
+++ b/libcxx/include/string
@@ -586,103 +586,106 @@ basic_string<char32_t> operator""s( const char32_t *str, size_t len );
// clang-format on
-#include <__algorithm/max.h>
-#include <__algorithm/min.h>
-#include <__algorithm/remove.h>
-#include <__algorithm/remove_if.h>
-#include <__assert>
-#include <__config>
-#include <__debug_utils/sanitizers.h>
-#include <__format/enable_insertable.h>
-#include <__functional/hash.h>
-#include <__functional/unary_function.h>
-#include <__fwd/string.h>
-#include <__ios/fpos.h>
-#include <__iterator/bounded_iter.h>
-#include <__iterator/distance.h>
-#include <__iterator/iterator_traits.h>
-#include <__iterator/reverse_iterator.h>
-#include <__iterator/wrap_iter.h>
-#include <__memory/addressof.h>
-#include <__memory/allocate_at_least.h>
-#include <__memory/allocator.h>
-#include <__memory/allocator_traits.h>
-#include <__memory/compressed_pair.h>
-#include <__memory/construct_at.h>
-#include <__memory/noexcept_move_assign_container.h>
-#include <__memory/pointer_traits.h>
-#include <__memory/swap_allocator.h>
-#include <__memory_resource/polymorphic_allocator.h>
-#include <__ranges/access.h>
-#include <__ranges/concepts.h>
-#include <__ranges/container_compatible_range.h>
-#include <__ranges/from_range.h>
-#include <__ranges/size.h>
-#include <__string/char_traits.h>
-#include <__string/extern_template_lists.h>
-#include <__type_traits/conditional.h>
-#include <__type_traits/enable_if.h>
-#include <__type_traits/is_allocator.h>
-#include <__type_traits/is_array.h>
-#include <__type_traits/is_convertible.h>
-#include <__type_traits/is_nothrow_assignable.h>
-#include <__type_traits/is_nothrow_constructible.h>
-#include <__type_traits/is_same.h>
-#include <__type_traits/is_standard_layout.h>
-#include <__type_traits/is_trivial.h>
-#include <__type_traits/is_trivially_relocatable.h>
-#include <__type_traits/remove_cvref.h>
-#include <__type_traits/void_t.h>
-#include <__utility/auto_cast.h>
-#include <__utility/declval.h>
-#include <__utility/forward.h>
-#include <__utility/is_pointer_in_range.h>
-#include <__utility/move.h>
-#include <__utility/scope_guard.h>
-#include <__utility/swap.h>
-#include <__utility/unreachable.h>
-#include <climits>
-#include <cstdio> // EOF
-#include <cstring>
-#include <limits>
-#include <stdexcept>
-#include <string_view>
-#include <version>
-
-#if _LIBCPP_HAS_WIDE_CHARACTERS
-# include <cwchar>
-#endif
+#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>
+# include <__algorithm/remove_if.h>
+# include <__assert>
+# include <__config>
+# include <__debug_utils/sanitizers.h>
+# include <__format/enable_insertable.h>
+# include <__functional/hash.h>
+# include <__functional/unary_function.h>
+# include <__fwd/string.h>
+# include <__ios/fpos.h>
+# include <__iterator/bounded_iter.h>
+# include <__iterator/distance.h>
+# include <__iterator/iterator_traits.h>
+# include <__iterator/reverse_iterator.h>
+# include <__iterator/wrap_iter.h>
+# include <__memory/addressof.h>
+# include <__memory/allocate_at_least.h>
+# include <__memory/allocator.h>
+# include <__memory/allocator_traits.h>
+# include <__memory/compressed_pair.h>
+# include <__memory/construct_at.h>
+# include <__memory/noexcept_move_assign_container.h>
+# include <__memory/pointer_traits.h>
+# include <__memory/swap_allocator.h>
+# include <__memory_resource/polymorphic_allocator.h>
+# include <__ranges/access.h>
+# include <__ranges/concepts.h>
+# include <__ranges/container_compatible_range.h>
+# include <__ranges/from_range.h>
+# include <__ranges/size.h>
+# include <__string/char_traits.h>
+# include <__string/extern_template_lists.h>
+# include <__type_traits/conditional.h>
+# include <__type_traits/enable_if.h>
+# include <__type_traits/is_allocator.h>
+# include <__type_traits/is_array.h>
+# include <__type_traits/is_convertible.h>
+# include <__type_traits/is_nothrow_assignable.h>
+# include <__type_traits/is_nothrow_constructible.h>
+# include <__type_traits/is_same.h>
+# include <__type_traits/is_standard_layout.h>
+# include <__type_traits/is_trivial.h>
+# include <__type_traits/is_trivially_relocatable.h>
+# include <__type_traits/remove_cvref.h>
+# include <__type_traits/void_t.h>
+# include <__utility/auto_cast.h>
+# include <__utility/declval.h>
+# include <__utility/forward.h>
+# include <__utility/is_pointer_in_range.h>
+# include <__utility/move.h>
+# include <__utility/scope_guard.h>
+# include <__utility/swap.h>
+# include <__utility/unreachable.h>
+# include <climits>
+# include <cstdio> // EOF
+# include <cstring>
+# include <limits>
+# include <stdexcept>
+# include <string_view>
+# include <version>
+
+# if _LIBCPP_HAS_WIDE_CHARACTERS
+# include <cwchar>
+# endif
// standard-mandated includes
// [iterator.range]
-#include <__iterator/access.h>
-#include <__iterator/data.h>
-#include <__iterator/empty.h>
-#include <__iterator/reverse_access.h>
-#include <__iterator/size.h>
+# include <__iterator/access.h>
+# include <__iterator/data.h>
+# include <__iterator/empty.h>
+# include <__iterator/reverse_access.h>
+# include <__iterator/size.h>
// [string.syn]
-#include <compare>
-#include <initializer_list>
+# include <compare>
+# include <initializer_list>
-#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
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
-#if _LIBCPP_HAS_ASAN && _LIBCPP_INSTRUMENTED_WITH_ASAN
-# define _LIBCPP_STRING_INTERNAL_MEMORY_ACCESS __attribute__((__no_sanitize__("address")))
+# if _LIBCPP_HAS_ASAN && _LIBCPP_INSTRUMENTED_WITH_ASAN
+# define _LIBCPP_STRING_INTERNAL_MEMORY_ACCESS __attribute__((__no_sanitize__("address")))
// This macro disables AddressSanitizer (ASan) instrumentation for a specific function,
// allowing memory accesses that would normally trigger ASan errors to proceed without crashing.
// This is useful for accessing parts of objects memory, which should not be accessed,
// such as unused bytes in short strings, that should never be accessed
// by other parts of the program.
-#else
-# define _LIBCPP_STRING_INTERNAL_MEMORY_ACCESS
-#endif
+# else
+# define _LIBCPP_STRING_INTERNAL_MEMORY_ACCESS
+# endif
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -708,7 +711,7 @@ template <class _CharT, class _Traits, class _Allocator>
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
operator+(const basic_string<_CharT, _Traits, _Allocator>& __x, _CharT __y);
-#if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
template <class _CharT, class _Traits, class _Allocator>
_LIBCPP_HIDE_FROM_ABI constexpr basic_string<_CharT, _Traits, _Allocator>
@@ -728,7 +731,7 @@ template <class _CharT, class _Traits, class _Allocator>
_LIBCPP_HIDE_FROM_ABI constexpr basic_string<_CharT, _Traits, _Allocator>
operator+(type_identity_t<basic_string_view<_CharT, _Traits>> __lhs, basic_string<_CharT, _Traits, _Allocator>&& __rhs);
-#endif
+# endif
extern template _LIBCPP_EXPORTED_FROM_ABI string operator+
<char, char_traits<char>, allocator<char> >(char const*, string const&);
@@ -786,7 +789,7 @@ public:
//
// This string implementation doesn't contain any references into itself. It only contains a bit that says whether
// it is in small or large string mode, so the entire structure is trivially relocatable if its members are.
-#if _LIBCPP_HAS_ASAN && _LIBCPP_INSTRUMENTED_WITH_ASAN
+# if _LIBCPP_HAS_ASAN && _LIBCPP_INSTRUMENTED_WITH_ASAN
// When compiling with AddressSanitizer (ASan), basic_string cannot be trivially
// relocatable. Because the object's memory might be poisoned when its content
// is kept inside objects memory (short string optimization), instead of in allocated
@@ -794,14 +797,14 @@ public:
// the memory to avoid triggering false positives.
// Therefore it's crucial to ensure the destructor is called.
using __trivially_relocatable = void;
-#else
+# else
using __trivially_relocatable = __conditional_t<
__libcpp_is_trivially_relocatable<allocator_type>::value && __libcpp_is_trivially_relocatable<pointer>::value,
basic_string,
void>;
-#endif
+# endif
-#if _LIBCPP_HAS_ASAN && _LIBCPP_INSTRUMENTED_WITH_ASAN
+# if _LIBCPP_HAS_ASAN && _LIBCPP_INSTRUMENTED_WITH_ASAN
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 pointer __asan_volatile_wrapper(pointer const& __ptr) const {
if (__libcpp_is_constant_evaluated())
return __ptr;
@@ -820,10 +823,10 @@ public:
return const_cast<const_pointer&>(__copy_ptr);
}
-# define _LIBCPP_ASAN_VOLATILE_WRAPPER(PTR) __asan_volatile_wrapper(PTR)
-#else
-# define _LIBCPP_ASAN_VOLATILE_WRAPPER(PTR) PTR
-#endif
+# define _LIBCPP_ASAN_VOLATILE_WRAPPER(PTR) __asan_volatile_wrapper(PTR)
+# else
+# define _LIBCPP_ASAN_VOLATILE_WRAPPER(PTR) PTR
+# endif
static_assert(!is_array<value_type>::value, "Character type of basic_string must not be an array");
static_assert(is_standard_layout<value_type>::value, "Character type of basic_string must be standard-layout");
@@ -834,23 +837,23 @@ public:
"Allocator::value_type must be same type as value_type");
static_assert(__check_valid_allocator<allocator_type>::value, "");
-#ifdef _LIBCPP_ABI_BOUNDED_ITERATORS_IN_STRING
+# ifdef _LIBCPP_ABI_BOUNDED_ITERATORS_IN_STRING
// Users might provide custom allocators, and prior to C++20 we have no existing way to detect whether the allocator's
// pointer type is contiguous (though it has to be by the Standard). Using the wrapper type ensures the iterator is
// considered contiguous.
typedef __bounded_iter<__wrap_iter<pointer> > iterator;
typedef __bounded_iter<__wrap_iter<const_pointer> > const_iterator;
-#else
+# else
typedef __wrap_iter<pointer> iterator;
typedef __wrap_iter<const_pointer> const_iterator;
-#endif
+# endif
typedef std::reverse_iterator<iterator> reverse_iterator;
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
private:
static_assert(CHAR_BIT == 8, "This implementation assumes that one byte contains 8 bits");
-#ifdef _LIBCPP_ABI_ALTERNATE_STRING_LAYOUT
+# ifdef _LIBCPP_ABI_ALTERNATE_STRING_LAYOUT
struct __long {
pointer __data_;
@@ -881,19 +884,19 @@ private:
// This does not impact the short string representation, since we never need the MSB
// for representing the size of a short string anyway.
-# ifdef _LIBCPP_BIG_ENDIAN
+# ifdef _LIBCPP_BIG_ENDIAN
static const size_type __endian_factor = 2;
-# else
+# else
static const size_type __endian_factor = 1;
-# endif
+# endif
-#else // _LIBCPP_ABI_ALTERNATE_STRING_LAYOUT
+# else // _LIBCPP_ABI_ALTERNATE_STRING_LAYOUT
-# ifdef _LIBCPP_BIG_ENDIAN
+# ifdef _LIBCPP_BIG_ENDIAN
static const size_type __endian_factor = 1;
-# else
+# else
static const size_type __endian_factor = 2;
-# endif
+# endif
// Attribute 'packed' is used to keep the layout compatible with the
// previous definition that did not use bit fields. This is because on
@@ -919,7 +922,7 @@ private:
value_type __data_[__min_cap];
};
-#endif // _LIBCPP_ABI_ALTERNATE_STRING_LAYOUT
+# endif // _LIBCPP_ABI_ALTERNATE_STRING_LAYOUT
static_assert(sizeof(__short) == (sizeof(value_type) * (__min_cap + 1)), "__short has an unexpected size.");
@@ -969,7 +972,7 @@ private:
}
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 iterator __make_iterator(pointer __p) {
-#ifdef _LIBCPP_ABI_BOUNDED_ITERATORS_IN_STRING
+# ifdef _LIBCPP_ABI_BOUNDED_ITERATORS_IN_STRING
// Bound the iterator according to the size (and not the capacity, unlike vector).
//
// By the Standard, string iterators are generally not guaranteed to stay valid when the container is modified,
@@ -980,21 +983,21 @@ private:
std::__wrap_iter<pointer>(__p),
std::__wrap_iter<pointer>(__get_pointer()),
std::__wrap_iter<pointer>(__get_pointer() + size()));
-#else
+# else
return iterator(__p);
-#endif // _LIBCPP_ABI_BOUNDED_ITERATORS_IN_STRING
+# endif // _LIBCPP_ABI_BOUNDED_ITERATORS_IN_STRING
}
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 const_iterator __make_const_iterator(const_pointer __p) const {
-#ifdef _LIBCPP_ABI_BOUNDED_ITERATORS_IN_STRING
+# ifdef _LIBCPP_ABI_BOUNDED_ITERATORS_IN_STRING
// Bound the iterator according to the size (and not the capacity, unlike vector).
return std::__make_bounded_iter(
std::__wrap_iter<const_pointer>(__p),
std::__wrap_iter<const_pointer>(__get_pointer()),
std::__wrap_iter<const_pointer>(__get_pointer() + size()));
-#else
+# else
return const_iterator(__p);
-#endif // _LIBCPP_ABI_BOUNDED_ITERATORS_IN_STRING
+# endif // _LIBCPP_ABI_BOUNDED_ITERATORS_IN_STRING
}
public:
@@ -1007,11 +1010,11 @@ public:
}
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit basic_string(const allocator_type& __a)
-#if _LIBCPP_STD_VER <= 14
+# if _LIBCPP_STD_VER <= 14
_NOEXCEPT_(is_nothrow_copy_constructible<allocator_type>::value)
-#else
+# else
_NOEXCEPT
-#endif
+# endif
: __rep_(), __alloc_(__a) {
__annotate_new(0);
}
@@ -1035,13 +1038,13 @@ public:
__init_copy_ctor_external(std::__to_address(__str.__get_long_pointer()), __str.__get_long_size());
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(basic_string&& __str)
-# if _LIBCPP_STD_VER <= 14
+# if _LIBCPP_STD_VER <= 14
_NOEXCEPT_(is_nothrow_move_constructible<allocator_type>::value)
-# else
+# else
_NOEXCEPT
-# endif
+# endif
// Turning off ASan instrumentation for variable initialization with _LIBCPP_STRING_INTERNAL_MEMORY_ACCESS
// does not work consistently during initialization of __r_, so we instead unpoison __str's memory manually first.
// __str's memory needs to be unpoisoned only in the case where it's a short string.
@@ -1073,7 +1076,7 @@ public:
__annotate_new(size());
}
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <__enable_if_t<__is_allocator<_Allocator>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(const _CharT* __s) {
@@ -1088,9 +1091,9 @@ public:
__init(__s, traits_type::length(__s));
}
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
basic_string(nullptr_t) = delete;
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(const _CharT* __s, size_type __n) {
_LIBCPP_ASSERT_NON_NULL(__n == 0 || __s != nullptr, "basic_string(const char*, n) detected nullptr");
@@ -1106,7 +1109,7 @@ public:
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(size_type __n, _CharT __c) { __init(__n, __c); }
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
_LIBCPP_HIDE_FROM_ABI constexpr basic_string(
basic_string&& __str, size_type __pos, const _Allocator& __alloc = _Allocator())
: basic_string(std::move(__str), __pos, npos, __alloc) {}
@@ -1125,7 +1128,7 @@ public:
__init(__str.data() + __pos, __len);
}
}
-#endif
+# endif
template <__enable_if_t<__is_allocator<_Allocator>::value, int> = 0>
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(size_type __n, _CharT __c, const _Allocator& __a)
@@ -1196,7 +1199,7 @@ public:
__init(__first, __last);
}
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<_CharT> _Range>
_LIBCPP_HIDE_FROM_ABI constexpr basic_string(
from_range_t, _Range&& __range, const allocator_type& __a = allocator_type())
@@ -1207,9 +1210,9 @@ public:
__init_with_sentinel(ranges::begin(__range), ranges::end(__range));
}
}
-#endif
+# endif
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string(initializer_list<_CharT> __il) {
__init(__il.begin(), __il.end());
}
@@ -1218,7 +1221,7 @@ public:
: __alloc_(__a) {
__init(__il.begin(), __il.end());
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
inline _LIBCPP_CONSTEXPR_SINCE_CXX20 ~basic_string() {
__annotate_delete();
@@ -1242,7 +1245,7 @@ public:
return assign(__sv);
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
operator=(basic_string&& __str) noexcept(__noexcept_move_assign_container<_Allocator, __alloc_traits>::value) {
__move_assign(__str, integral_constant<bool, __alloc_traits::propagate_on_container_move_assignment::value>());
@@ -1252,13 +1255,13 @@ public:
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator=(initializer_list<value_type> __il) {
return assign(__il.begin(), __il.size());
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator=(const value_type* __s) {
return assign(__s);
}
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
basic_string& operator=(nullptr_t) = delete;
-#endif
+# endif
_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator=(value_type __c);
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 iterator begin() _NOEXCEPT {
@@ -1318,19 +1321,19 @@ public:
_LIBCPP_CONSTEXPR_SINCE_CXX20 void reserve(size_type __requested_capacity);
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <class _Op>
_LIBCPP_HIDE_FROM_ABI constexpr void resize_and_overwrite(size_type __n, _Op __op) {
__resize_default_init(__n);
__erase_to_end(std::move(__op)(data(), _LIBCPP_AUTO_CAST(__n)));
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __resize_default_init(size_type __n);
-#if _LIBCPP_STD_VER < 26 || defined(_LIBCPP_ENABLE_CXX26_REMOVED_STRING_RESERVE)
+# if _LIBCPP_STD_VER < 26 || defined(_LIBCPP_ENABLE_CXX26_REMOVED_STRING_RESERVE)
_LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI void reserve() _NOEXCEPT { shrink_to_fit(); }
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void shrink_to_fit() _NOEXCEPT;
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void clear() _NOEXCEPT;
@@ -1380,11 +1383,11 @@ public:
return *this;
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& operator+=(initializer_list<value_type> __il) {
return append(__il);
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(const basic_string& __str) {
return append(__str.data(), __str.size());
@@ -1429,19 +1432,19 @@ public:
_LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
append(_ForwardIterator __first, _ForwardIterator __last);
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<_CharT> _Range>
_LIBCPP_HIDE_FROM_ABI constexpr basic_string& append_range(_Range&& __range) {
insert_range(end(), std::forward<_Range>(__range));
return *this;
}
-#endif
+# endif
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& append(initializer_list<value_type> __il) {
return append(__il.begin(), __il.size());
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_CONSTEXPR_SINCE_CXX20 void push_back(value_type __c);
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void pop_back();
@@ -1473,7 +1476,7 @@ public:
return assign(__sv.data(), __sv.size());
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI constexpr void __move_assign(basic_string&& __str, size_type __pos, size_type __len) {
// Pilfer the allocation from __str.
_LIBCPP_ASSERT_INTERNAL(__alloc_ == __str.__alloc_, "__move_assign called with wrong allocator");
@@ -1494,18 +1497,18 @@ public:
__annotate_shrink(__old_sz);
}
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(const basic_string& __str) {
return *this = __str;
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
assign(basic_string&& __str) noexcept(__noexcept_move_assign_container<_Allocator, __alloc_traits>::value) {
*this = std::move(__str);
return *this;
}
-#endif
+# endif
_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(const basic_string& __str, size_type __pos, size_type __n = npos);
template <class _Tp,
@@ -1526,7 +1529,7 @@ public:
_LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
assign(_ForwardIterator __first, _ForwardIterator __last);
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<_CharT> _Range>
_LIBCPP_HIDE_FROM_ABI constexpr basic_string& assign_range(_Range&& __range) {
if constexpr (__string_is_trivial_iterator<ranges::iterator_t<_Range>>::value &&
@@ -1540,13 +1543,13 @@ public:
return *this;
}
-#endif
+# endif
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& assign(initializer_list<value_type> __il) {
return assign(__il.begin(), __il.size());
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
insert(size_type __pos1, const basic_string& __str) {
@@ -1574,7 +1577,7 @@ public:
_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& insert(size_type __pos, size_type __n, value_type __c);
_LIBCPP_CONSTEXPR_SINCE_CXX20 iterator insert(const_iterator __pos, value_type __c);
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<_CharT> _Range>
_LIBCPP_HIDE_FROM_ABI constexpr iterator insert_range(const_iterator __position, _Range&& __range) {
if constexpr (ranges::forward_range<_Range> || ranges::sized_range<_Range>) {
@@ -1586,7 +1589,7 @@ public:
return insert(__position, __temp.data(), __temp.data() + __temp.size());
}
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 iterator
insert(const_iterator __pos, size_type __n, value_type __c) {
@@ -1603,12 +1606,12 @@ public:
_LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 iterator
insert(const_iterator __pos, _ForwardIterator __first, _ForwardIterator __last);
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 iterator
insert(const_iterator __pos, initializer_list<value_type> __il) {
return insert(__pos, __il.begin(), __il.end());
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string& erase(size_type __pos = 0, size_type __n = npos);
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 iterator erase(const_iterator __pos);
@@ -1673,30 +1676,30 @@ public:
_LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
replace(const_iterator __i1, const_iterator __i2, _InputIterator __j1, _InputIterator __j2);
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<_CharT> _Range>
_LIBCPP_HIDE_FROM_ABI constexpr basic_string&
replace_with_range(const_iterator __i1, const_iterator __i2, _Range&& __range) {
basic_string __temp(from_range, std::forward<_Range>(__range), __alloc_);
return replace(__i1, __i2, __temp);
}
-#endif
+# endif
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string&
replace(const_iterator __i1, const_iterator __i2, initializer_list<value_type> __il) {
return replace(__i1, __i2, __il.begin(), __il.end());
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_CONSTEXPR_SINCE_CXX20 size_type copy(value_type* __s, size_type __n, size_type __pos = 0) const;
-#if _LIBCPP_STD_VER <= 20
+# if _LIBCPP_STD_VER <= 20
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string
substr(size_type __pos = 0, size_type __n = npos) const {
return basic_string(*this, __pos, __n);
}
-#else
+# else
_LIBCPP_HIDE_FROM_ABI constexpr basic_string substr(size_type __pos = 0, size_type __n = npos) const& {
return basic_string(*this, __pos, __n);
}
@@ -1704,24 +1707,24 @@ public:
_LIBCPP_HIDE_FROM_ABI constexpr basic_string substr(size_type __pos = 0, size_type __n = npos) && {
return basic_string(std::move(*this), __pos, __n);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void swap(basic_string& __str)
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
_NOEXCEPT;
-#else
+# else
_NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value || __is_nothrow_swappable_v<allocator_type>);
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 const value_type* c_str() const _NOEXCEPT { return data(); }
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 const value_type* data() const _NOEXCEPT {
return std::__to_address(__get_pointer());
}
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 value_type* data() _NOEXCEPT {
return std::__to_address(__get_pointer());
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 allocator_type get_allocator() const _NOEXCEPT {
return __alloc_;
@@ -1834,7 +1837,7 @@ public:
_LIBCPP_CONSTEXPR_SINCE_CXX20 int
compare(size_type __pos1, size_type __n1, const value_type* __s, size_type __n2) const;
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
constexpr _LIBCPP_HIDE_FROM_ABI bool starts_with(__self_view __sv) const noexcept {
return __self_view(typename __self_view::__assume_valid(), data(), size()).starts_with(__sv);
}
@@ -1858,9 +1861,9 @@ public:
constexpr _LIBCPP_HIDE_FROM_ABI bool ends_with(const value_type* __s) const noexcept {
return ends_with(__self_view(__s));
}
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
constexpr _LIBCPP_HIDE_FROM_ABI bool contains(__self_view __sv) const noexcept {
return __self_view(typename __self_view::__assume_valid(), data(), size()).contains(__sv);
}
@@ -1872,18 +1875,13 @@ public:
constexpr _LIBCPP_HIDE_FROM_ABI bool contains(const value_type* __s) const {
return __self_view(typename __self_view::__assume_valid(), data(), size()).contains(__s);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 bool __invariants() const;
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __clear_and_shrink() _NOEXCEPT;
private:
- template <class _Alloc>
- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 bool friend
- operator==(const basic_string<char, char_traits<char>, _Alloc>& __lhs,
- const basic_string<char, char_traits<char>, _Alloc>& __rhs) _NOEXCEPT;
-
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __shrink_or_extend(size_type __target_capacity);
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_STRING_INTERNAL_MEMORY_ACCESS bool
@@ -1895,15 +1893,15 @@ private:
}
static _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __begin_lifetime(pointer __begin, size_type __n) {
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
if (__libcpp_is_constant_evaluated()) {
for (size_type __i = 0; __i != __n; ++__i)
std::construct_at(std::addressof(__begin[__i]));
}
-#else
+# else
(void)__begin;
(void)__n;
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
}
_LIBCPP_CONSTEXPR _LIBCPP_HIDE_FROM_ABI static bool __fits_in_sso(size_type __sz) { return __sz < __min_cap; }
@@ -1919,7 +1917,7 @@ private:
template <class _ForwardIter, class _Sent>
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 static value_type*
__copy_non_overlapping_range(_ForwardIter __first, _Sent __last, value_type* __dest) {
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
if constexpr (__libcpp_is_contiguous_iterator<_ForwardIter>::value &&
is_same<value_type, __iter_value_type<_ForwardIter>>::value && is_same<_ForwardIter, _Sent>::value) {
_LIBCPP_ASSERT_INTERNAL(
@@ -1928,7 +1926,7 @@ private:
traits_type::copy(__dest, std::__to_address(__first), __last - __first);
return __dest + (__last - __first);
}
-#endif
+# endif
for (; __first != __last; ++__first)
traits_type::assign(*__dest++, *__first);
@@ -2039,45 +2037,45 @@ private:
__annotate_contiguous_container(const void* __old_mid, const void* __new_mid) const {
(void)__old_mid;
(void)__new_mid;
-#if _LIBCPP_HAS_ASAN && _LIBCPP_INSTRUMENTED_WITH_ASAN
-# if defined(__APPLE__)
+# if _LIBCPP_HAS_ASAN && _LIBCPP_INSTRUMENTED_WITH_ASAN
+# if defined(__APPLE__)
// TODO: remove after addressing issue #96099 (https://github.com/llvm/llvm-project/issues/96099)
if (!__is_long())
return;
-# endif
+# endif
std::__annotate_contiguous_container<_Allocator>(data(), data() + capacity() + 1, __old_mid, __new_mid);
-#endif
+# endif
}
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __annotate_new(size_type __current_size) const _NOEXCEPT {
(void)__current_size;
-#if _LIBCPP_HAS_ASAN && _LIBCPP_INSTRUMENTED_WITH_ASAN
+# if _LIBCPP_HAS_ASAN && _LIBCPP_INSTRUMENTED_WITH_ASAN
if (!__libcpp_is_constant_evaluated())
__annotate_contiguous_container(data() + capacity() + 1, data() + __current_size + 1);
-#endif
+# endif
}
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __annotate_delete() const _NOEXCEPT {
-#if _LIBCPP_HAS_ASAN && _LIBCPP_INSTRUMENTED_WITH_ASAN
+# if _LIBCPP_HAS_ASAN && _LIBCPP_INSTRUMENTED_WITH_ASAN
if (!__libcpp_is_constant_evaluated())
__annotate_contiguous_container(data() + size() + 1, data() + capacity() + 1);
-#endif
+# endif
}
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __annotate_increase(size_type __n) const _NOEXCEPT {
(void)__n;
-#if _LIBCPP_HAS_ASAN && _LIBCPP_INSTRUMENTED_WITH_ASAN
+# if _LIBCPP_HAS_ASAN && _LIBCPP_INSTRUMENTED_WITH_ASAN
if (!__libcpp_is_constant_evaluated())
__annotate_contiguous_container(data() + size() + 1, data() + size() + 1 + __n);
-#endif
+# endif
}
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __annotate_shrink(size_type __old_size) const _NOEXCEPT {
(void)__old_size;
-#if _LIBCPP_HAS_ASAN && _LIBCPP_INSTRUMENTED_WITH_ASAN
+# if _LIBCPP_HAS_ASAN && _LIBCPP_INSTRUMENTED_WITH_ASAN
if (!__libcpp_is_constant_evaluated())
__annotate_contiguous_container(data() + __old_size + 1, data() + size() + 1);
-#endif
+# endif
}
template <size_type __a>
@@ -2126,9 +2124,9 @@ private:
__init_with_size(_InputIterator __first, _Sentinel __last, size_type __sz);
_LIBCPP_CONSTEXPR_SINCE_CXX20
-#if _LIBCPP_ABI_VERSION >= 2 // We want to use the function in the dylib in ABIv1
+# if _LIBCPP_ABI_VERSION >= 2 // We want to use the function in the dylib in ABIv1
_LIBCPP_HIDE_FROM_ABI
-#endif
+# endif
_LIBCPP_DEPRECATED_("use __grow_by_without_replace") void __grow_by(
size_type __old_cap,
size_type __delta_cap,
@@ -2198,17 +2196,17 @@ private:
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void
__copy_assign_alloc(const basic_string&, false_type) _NOEXCEPT {}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void
__move_assign(basic_string& __str, false_type) noexcept(__alloc_traits::is_always_equal::value);
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_STRING_INTERNAL_MEMORY_ACCESS void
__move_assign(basic_string& __str, true_type)
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
noexcept;
-# else
+# else
noexcept(is_nothrow_move_assignable<allocator_type>::value);
+# endif
# endif
-#endif
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __move_assign_alloc(basic_string& __str)
_NOEXCEPT_(!__alloc_traits::propagate_on_container_move_assignment::value ||
@@ -2271,10 +2269,10 @@ private:
friend _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string operator+ <>(value_type, const basic_string&);
friend _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string operator+ <>(const basic_string&, const value_type*);
friend _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string operator+ <>(const basic_string&, value_type);
-#if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
friend constexpr basic_string operator+ <>(const basic_string&, type_identity_t<__self_view>);
friend constexpr basic_string operator+ <>(type_identity_t<__self_view>, const basic_string&);
-#endif
+# endif
template <class _CharT2, class _Traits2, class _Allocator2>
friend inline _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI bool
@@ -2283,21 +2281,21 @@ private:
// These declarations must appear before any functions are implicitly used
// so that they have the correct visibility specifier.
-#define _LIBCPP_DECLARE(...) extern template __VA_ARGS__;
-#ifdef _LIBCPP_ABI_STRING_OPTIMIZED_EXTERNAL_INSTANTIATION
+# define _LIBCPP_DECLARE(...) extern template __VA_ARGS__;
+# ifdef _LIBCPP_ABI_STRING_OPTIMIZED_EXTERNAL_INSTANTIATION
_LIBCPP_STRING_UNSTABLE_EXTERN_TEMPLATE_LIST(_LIBCPP_DECLARE, char)
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
_LIBCPP_STRING_UNSTABLE_EXTERN_TEMPLATE_LIST(_LIBCPP_DECLARE, wchar_t)
-# endif
-#else
+# endif
+# else
_LIBCPP_STRING_V1_EXTERN_TEMPLATE_LIST(_LIBCPP_DECLARE, char)
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
_LIBCPP_STRING_V1_EXTERN_TEMPLATE_LIST(_LIBCPP_DECLARE, wchar_t)
+# endif
# endif
-#endif
-#undef _LIBCPP_DECLARE
+# undef _LIBCPP_DECLARE
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _InputIterator,
class _CharT = __iter_value_type<_InputIterator>,
class _Allocator = allocator<_CharT>,
@@ -2320,15 +2318,15 @@ template <class _CharT,
class _Sz = typename allocator_traits<_Allocator>::size_type >
basic_string(basic_string_view<_CharT, _Traits>, _Sz, _Sz, const _Allocator& = _Allocator())
-> basic_string<_CharT, _Traits, _Allocator>;
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <ranges::input_range _Range,
class _Allocator = allocator<ranges::range_value_t<_Range>>,
class = enable_if_t<__is_allocator<_Allocator>::value> >
basic_string(from_range_t, _Range&&, _Allocator = _Allocator())
-> basic_string<ranges::range_value_t<_Range>, char_traits<ranges::range_value_t<_Range>>, _Allocator>;
-#endif
+# endif
template <class _CharT, class _Traits, class _Allocator>
_LIBCPP_CONSTEXPR_SINCE_CXX20 void
@@ -2440,19 +2438,19 @@ basic_string<_CharT, _Traits, _Allocator>::__init_with_sentinel(_InputIterator _
__rep_ = __rep();
__annotate_new(0);
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
for (; __first != __last; ++__first)
push_back(*__first);
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__annotate_delete();
if (__is_long())
__alloc_traits::deallocate(__alloc_, __get_long_pointer(), __get_long_cap());
throw;
}
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
}
template <class _CharT, class _Traits, class _Allocator>
@@ -2487,18 +2485,18 @@ basic_string<_CharT, _Traits, _Allocator>::__init_with_size(_InputIterator __fir
__set_long_size(__sz);
}
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
auto __end = __copy_non_overlapping_range(__first, __last, std::__to_address(__p));
traits_type::assign(*__end, value_type());
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
if (__is_long())
__alloc_traits::deallocate(__alloc_, __get_long_pointer(), __get_long_cap());
throw;
}
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
__annotate_new(__sz);
}
@@ -2544,9 +2542,9 @@ _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::__
// not removed or changed to avoid breaking the ABI.
template <class _CharT, class _Traits, class _Allocator>
void _LIBCPP_CONSTEXPR_SINCE_CXX20
-#if _LIBCPP_ABI_VERSION >= 2 // We want to use the function in the dylib in ABIv1
+# if _LIBCPP_ABI_VERSION >= 2 // We want to use the function in the dylib in ABIv1
_LIBCPP_HIDE_FROM_ABI
-#endif
+# endif
_LIBCPP_DEPRECATED_("use __grow_by_without_replace") basic_string<_CharT, _Traits, _Allocator>::__grow_by(
size_type __old_cap,
size_type __delta_cap,
@@ -2701,7 +2699,7 @@ basic_string<_CharT, _Traits, _Allocator>::operator=(const basic_string& __str)
return *this;
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _CharT, class _Traits, class _Allocator>
inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::__move_assign(
@@ -2715,22 +2713,22 @@ inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocat
template <class _CharT, class _Traits, class _Allocator>
inline _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_STRING_INTERNAL_MEMORY_ACCESS void
basic_string<_CharT, _Traits, _Allocator>::__move_assign(basic_string& __str, true_type)
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
noexcept
-# else
+# else
noexcept(is_nothrow_move_assignable<allocator_type>::value)
-# endif
+# endif
{
__annotate_delete();
if (__is_long()) {
__alloc_traits::deallocate(__alloc_, __get_long_pointer(), __get_long_cap());
-# if _LIBCPP_STD_VER <= 14
+# if _LIBCPP_STD_VER <= 14
if (!is_nothrow_move_assignable<allocator_type>::value) {
__set_short_size(0);
traits_type::assign(__get_short_pointer()[0], value_type());
__annotate_new(0);
}
-# endif
+# endif
}
size_type __str_old_size = __str.size();
bool __str_was_short = !__str.__is_long();
@@ -2759,7 +2757,7 @@ basic_string<_CharT, _Traits, _Allocator>::__move_assign(basic_string& __str, tr
__annotate_new(__get_short_size());
}
-#endif
+# endif
template <class _CharT, class _Traits, class _Allocator>
template <class _InputIterator, __enable_if_t<__has_exactly_input_iterator_category<_InputIterator>::value, int> >
@@ -3396,9 +3394,9 @@ basic_string<_CharT, _Traits, _Allocator>::__shrink_or_extend(size_type __target
// Shrink
// - called from shrink_to_fit should not throw.
// - called from reserve may throw but is not required to.
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
auto __allocation = std::__allocate_at_least(__alloc_, __target_capacity + 1);
// The Standard mandates shrink_to_fit() does not increase the capacity.
@@ -3410,11 +3408,11 @@ basic_string<_CharT, _Traits, _Allocator>::__shrink_or_extend(size_type __target
}
__new_data = __allocation.ptr;
__target_capacity = __allocation.count - 1;
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
return;
}
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
}
__begin_lifetime(__new_data, __target_capacity + 1);
__now_long = true;
@@ -3461,11 +3459,11 @@ basic_string<_CharT, _Traits, _Allocator>::copy(value_type* __s, size_type __n,
template <class _CharT, class _Traits, class _Allocator>
inline _LIBCPP_CONSTEXPR_SINCE_CXX20 void basic_string<_CharT, _Traits, _Allocator>::swap(basic_string& __str)
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
_NOEXCEPT
-#else
+# else
_NOEXCEPT_(!__alloc_traits::propagate_on_container_swap::value || __is_nothrow_swappable_v<allocator_type>)
-#endif
+# endif
{
_LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR(
__alloc_traits::propagate_on_container_swap::value || __alloc_traits::is_always_equal::value ||
@@ -3840,36 +3838,9 @@ template <class _CharT, class _Traits, class _Allocator>
inline _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI bool
operator==(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
-#if _LIBCPP_STD_VER >= 20
- return basic_string_view<_CharT, _Traits>(__lhs) == basic_string_view<_CharT, _Traits>(__rhs);
-#else
size_t __lhs_sz = __lhs.size();
return __lhs_sz == __rhs.size() && _Traits::compare(__lhs.data(), __rhs.data(), __lhs_sz) == 0;
-#endif
-}
-
-template <class _Allocator>
-inline _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI bool
-operator==(const basic_string<char, char_traits<char>, _Allocator>& __lhs,
- const basic_string<char, char_traits<char>, _Allocator>& __rhs) _NOEXCEPT {
- size_t __sz = __lhs.size();
- if (__sz != __rhs.size())
- return false;
- return char_traits<char>::compare(__lhs.data(), __rhs.data(), __sz) == 0;
-}
-
-#if _LIBCPP_STD_VER <= 17
-template <class _CharT, class _Traits, class _Allocator>
-inline _LIBCPP_HIDE_FROM_ABI bool
-operator==(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
- typedef basic_string<_CharT, _Traits, _Allocator> _String;
- _LIBCPP_ASSERT_NON_NULL(__lhs != nullptr, "operator==(char*, basic_string): received nullptr");
- size_t __lhs_len = _Traits::length(__lhs);
- if (__lhs_len != __rhs.size())
- return false;
- return __rhs.compare(0, _String::npos, __lhs, __lhs_len) == 0;
}
-#endif // _LIBCPP_STD_VER <= 17
template <class _CharT, class _Traits, class _Allocator>
inline _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI bool
@@ -3888,7 +3859,15 @@ operator==(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT*
return __lhs.compare(0, _String::npos, __rhs, __rhs_len) == 0;
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER <= 17
+template <class _CharT, class _Traits, class _Allocator>
+inline _LIBCPP_HIDE_FROM_ABI bool
+operator==(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
+ return __rhs == __lhs;
+}
+# endif // _LIBCPP_STD_VER <= 17
+
+# if _LIBCPP_STD_VER >= 20
template <class _CharT, class _Traits, class _Allocator>
_LIBCPP_HIDE_FROM_ABI constexpr auto operator<=>(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
@@ -3902,7 +3881,7 @@ operator<=>(const basic_string<_CharT, _Traits, _Allocator>& __lhs, const _CharT
return basic_string_view<_CharT, _Traits>(__lhs) <=> basic_string_view<_CharT, _Traits>(__rhs);
}
-#else // _LIBCPP_STD_VER >= 20
+# else // _LIBCPP_STD_VER >= 20
template <class _CharT, class _Traits, class _Allocator>
inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const basic_string<_CharT, _Traits, _Allocator>& __lhs,
@@ -4001,7 +3980,7 @@ inline _LIBCPP_HIDE_FROM_ABI bool
operator>=(const _CharT* __lhs, const basic_string<_CharT, _Traits, _Allocator>& __rhs) _NOEXCEPT {
return !(__lhs < __rhs);
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
// operator +
@@ -4084,7 +4063,7 @@ operator+(const basic_string<_CharT, _Traits, _Allocator>& __lhs, _CharT __rhs)
return __r;
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _CharT, class _Traits, class _Allocator>
inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<_CharT, _Traits, _Allocator>
@@ -4130,9 +4109,9 @@ operator+(basic_string<_CharT, _Traits, _Allocator>&& __lhs, _CharT __rhs) {
return std::move(__lhs);
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
-#if _LIBCPP_STD_VER >= 26
+# if _LIBCPP_STD_VER >= 26
template <class _CharT, class _Traits, class _Allocator>
_LIBCPP_HIDE_FROM_ABI constexpr basic_string<_CharT, _Traits, _Allocator>
@@ -4184,7 +4163,7 @@ operator+(type_identity_t<basic_string_view<_CharT, _Traits>> __lhs,
return std::move(__rhs);
}
-#endif // _LIBCPP_STD_VER >= 26
+# endif // _LIBCPP_STD_VER >= 26
// swap
@@ -4215,7 +4194,7 @@ _LIBCPP_EXPORTED_FROM_ABI string to_string(float __val);
_LIBCPP_EXPORTED_FROM_ABI string to_string(double __val);
_LIBCPP_EXPORTED_FROM_ABI string to_string(long double __val);
-#if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
_LIBCPP_EXPORTED_FROM_ABI int stoi(const wstring& __str, size_t* __idx = nullptr, int __base = 10);
_LIBCPP_EXPORTED_FROM_ABI long stol(const wstring& __str, size_t* __idx = nullptr, int __base = 10);
_LIBCPP_EXPORTED_FROM_ABI unsigned long stoul(const wstring& __str, size_t* __idx = nullptr, int __base = 10);
@@ -4235,7 +4214,7 @@ _LIBCPP_EXPORTED_FROM_ABI wstring to_wstring(unsigned long long __val);
_LIBCPP_EXPORTED_FROM_ABI wstring to_wstring(float __val);
_LIBCPP_EXPORTED_FROM_ABI wstring to_wstring(double __val);
_LIBCPP_EXPORTED_FROM_ABI wstring to_wstring(long double __val);
-#endif // _LIBCPP_HAS_WIDE_CHARACTERS
+# endif // _LIBCPP_HAS_WIDE_CHARACTERS
template <class _CharT, class _Traits, class _Allocator>
_LIBCPP_TEMPLATE_DATA_VIS const typename basic_string<_CharT, _Traits, _Allocator>::size_type
@@ -4252,10 +4231,10 @@ struct __string_hash : public __unary_function<basic_string<_CharT, char_traits<
template <class _Allocator>
struct hash<basic_string<char, char_traits<char>, _Allocator> > : __string_hash<char, _Allocator> {};
-#if _LIBCPP_HAS_CHAR8_T
+# if _LIBCPP_HAS_CHAR8_T
template <class _Allocator>
struct hash<basic_string<char8_t, char_traits<char8_t>, _Allocator> > : __string_hash<char8_t, _Allocator> {};
-#endif
+# endif
template <class _Allocator>
struct hash<basic_string<char16_t, char_traits<char16_t>, _Allocator> > : __string_hash<char16_t, _Allocator> {};
@@ -4263,10 +4242,10 @@ struct hash<basic_string<char16_t, char_traits<char16_t>, _Allocator> > : __stri
template <class _Allocator>
struct hash<basic_string<char32_t, char_traits<char32_t>, _Allocator> > : __string_hash<char32_t, _Allocator> {};
-#if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
template <class _Allocator>
struct hash<basic_string<wchar_t, char_traits<wchar_t>, _Allocator> > : __string_hash<wchar_t, _Allocator> {};
-#endif
+# endif
template <class _CharT, class _Traits, class _Allocator>
_LIBCPP_HIDE_FROM_ABI basic_ostream<_CharT, _Traits>&
@@ -4292,7 +4271,7 @@ template <class _CharT, class _Traits, class _Allocator>
inline _LIBCPP_HIDE_FROM_ABI basic_istream<_CharT, _Traits>&
getline(basic_istream<_CharT, _Traits>&& __is, basic_string<_CharT, _Traits, _Allocator>& __str);
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _CharT, class _Traits, class _Allocator, class _Up>
inline _LIBCPP_HIDE_FROM_ABI typename basic_string<_CharT, _Traits, _Allocator>::size_type
erase(basic_string<_CharT, _Traits, _Allocator>& __str, const _Up& __v) {
@@ -4308,9 +4287,9 @@ erase_if(basic_string<_CharT, _Traits, _Allocator>& __str, _Predicate __pred) {
__str.erase(std::remove_if(__str.begin(), __str.end(), __pred), __str.end());
return __old_size - __str.size();
}
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
// Literal suffixes for basic_string [basic.string.literals]
inline namespace literals {
inline namespace string_literals {
@@ -4319,18 +4298,18 @@ operator""s(const char* __str, size_t __len) {
return basic_string<char>(__str, __len);
}
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<wchar_t>
operator""s(const wchar_t* __str, size_t __len) {
return basic_string<wchar_t>(__str, __len);
}
-# endif
+# endif
-# if _LIBCPP_HAS_CHAR8_T
+# if _LIBCPP_HAS_CHAR8_T
inline _LIBCPP_HIDE_FROM_ABI constexpr basic_string<char8_t> operator""s(const char8_t* __str, size_t __len) {
return basic_string<char8_t>(__str, __len);
}
-# endif
+# endif
inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 basic_string<char16_t>
operator""s(const char16_t* __str, size_t __len) {
@@ -4344,30 +4323,31 @@ operator""s(const char32_t* __str, size_t __len) {
} // namespace string_literals
} // namespace literals
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <>
inline constexpr bool __format::__enable_insertable<std::basic_string<char>> = true;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
template <>
inline constexpr bool __format::__enable_insertable<std::basic_string<wchar_t>> = true;
+# endif
# endif
-# endif
-#endif
+# endif
_LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <algorithm>
-# include <concepts>
-# include <cstdlib>
-# include <iterator>
-# include <new>
-# include <type_traits>
-# include <typeinfo>
-# include <utility>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <algorithm>
+# include <concepts>
+# include <cstdlib>
+# include <iterator>
+# include <new>
+# include <type_traits>
+# include <typeinfo>
+# include <utility>
+# endif
+#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 ae10d5ad2c76..6bdcd6a6eecb 100644
--- a/libcxx/include/string.h
+++ b/libcxx/include/string.h
@@ -51,24 +51,28 @@ size_t strlen(const char* s);
*/
-#include <__config>
+#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)
-# pragma GCC system_header
-#endif
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
-#if __has_include_next(<string.h>)
-# include_next <string.h>
-#endif
+# if __has_include_next(<string.h>)
+# include_next <string.h>
+# endif
// MSVCRT, GNU libc and its derivates may already have the correct prototype in
// <string.h>. This macro can be defined by users if their C library provides
// the right signature.
-#if defined(__CORRECT_ISO_CPP_STRING_H_PROTO) || defined(_LIBCPP_MSVCRT) || defined(_STRING_H_CPLUSPLUS_98_CONFORMANCE_)
-# define _LIBCPP_STRING_H_HAS_CONST_OVERLOADS
-#endif
+# if defined(__CORRECT_ISO_CPP_STRING_H_PROTO) || defined(_LIBCPP_MSVCRT) || \
+ defined(_STRING_H_CPLUSPLUS_98_CONFORMANCE_)
+# define _LIBCPP_STRING_H_HAS_CONST_OVERLOADS
+# endif
-#if defined(__cplusplus) && !defined(_LIBCPP_STRING_H_HAS_CONST_OVERLOADS) && defined(_LIBCPP_PREFERRED_OVERLOAD)
+# if defined(__cplusplus) && !defined(_LIBCPP_STRING_H_HAS_CONST_OVERLOADS) && defined(_LIBCPP_PREFERRED_OVERLOAD)
extern "C++" {
inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_PREFERRED_OVERLOAD const char* strchr(const char* __s, int __c) {
return __builtin_strchr(__s, __c);
@@ -105,6 +109,7 @@ inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_PREFERRED_OVERLOAD char* strstr(char* __s1,
return __builtin_strstr(__s1, __s2);
}
} // extern "C++"
-#endif
+# endif
+#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 6e05844b72ca..e79746318cfa 100644
--- a/libcxx/include/string_view
+++ b/libcxx/include/string_view
@@ -205,60 +205,63 @@ namespace std {
// clang-format on
-#include <__algorithm/min.h>
-#include <__assert>
-#include <__config>
-#include <__cstddef/nullptr_t.h>
-#include <__cstddef/ptrdiff_t.h>
-#include <__cstddef/size_t.h>
-#include <__functional/hash.h>
-#include <__functional/unary_function.h>
-#include <__fwd/ostream.h>
-#include <__fwd/string.h>
-#include <__fwd/string_view.h>
-#include <__iterator/bounded_iter.h>
-#include <__iterator/concepts.h>
-#include <__iterator/iterator_traits.h>
-#include <__iterator/reverse_iterator.h>
-#include <__iterator/wrap_iter.h>
-#include <__memory/pointer_traits.h>
-#include <__ranges/concepts.h>
-#include <__ranges/data.h>
-#include <__ranges/enable_borrowed_range.h>
-#include <__ranges/enable_view.h>
-#include <__ranges/size.h>
-#include <__string/char_traits.h>
-#include <__type_traits/is_array.h>
-#include <__type_traits/is_convertible.h>
-#include <__type_traits/is_same.h>
-#include <__type_traits/is_standard_layout.h>
-#include <__type_traits/is_trivial.h>
-#include <__type_traits/remove_cvref.h>
-#include <__type_traits/remove_reference.h>
-#include <__type_traits/type_identity.h>
-#include <iosfwd>
-#include <limits>
-#include <stdexcept>
-#include <version>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/string_view>
+#else
+# include <__algorithm/min.h>
+# include <__assert>
+# include <__config>
+# include <__cstddef/nullptr_t.h>
+# include <__cstddef/ptrdiff_t.h>
+# include <__cstddef/size_t.h>
+# include <__functional/hash.h>
+# include <__functional/unary_function.h>
+# include <__fwd/ostream.h>
+# include <__fwd/string.h>
+# include <__fwd/string_view.h>
+# include <__iterator/bounded_iter.h>
+# include <__iterator/concepts.h>
+# include <__iterator/iterator_traits.h>
+# include <__iterator/reverse_iterator.h>
+# include <__iterator/wrap_iter.h>
+# include <__memory/pointer_traits.h>
+# include <__ranges/concepts.h>
+# include <__ranges/data.h>
+# include <__ranges/enable_borrowed_range.h>
+# include <__ranges/enable_view.h>
+# include <__ranges/size.h>
+# include <__string/char_traits.h>
+# include <__type_traits/is_array.h>
+# include <__type_traits/is_convertible.h>
+# include <__type_traits/is_same.h>
+# include <__type_traits/is_standard_layout.h>
+# include <__type_traits/is_trivial.h>
+# include <__type_traits/remove_cvref.h>
+# include <__type_traits/remove_reference.h>
+# include <__type_traits/type_identity.h>
+# include <iosfwd>
+# include <limits>
+# include <stdexcept>
+# include <version>
// standard-mandated includes
// [iterator.range]
-#include <__iterator/access.h>
-#include <__iterator/data.h>
-#include <__iterator/empty.h>
-#include <__iterator/reverse_access.h>
-#include <__iterator/size.h>
+# include <__iterator/access.h>
+# include <__iterator/data.h>
+# include <__iterator/empty.h>
+# include <__iterator/reverse_access.h>
+# include <__iterator/size.h>
// [string.view.synop]
-#include <compare>
+# include <compare>
-#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
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -283,13 +286,13 @@ public:
using const_pointer = const _CharT*;
using reference = _CharT&;
using const_reference = const _CharT&;
-#if defined(_LIBCPP_ABI_BOUNDED_ITERATORS)
+# if defined(_LIBCPP_ABI_BOUNDED_ITERATORS)
using const_iterator = __bounded_iter<const_pointer>;
-#elif defined(_LIBCPP_ABI_USE_WRAP_ITER_IN_STD_STRING_VIEW)
+# elif defined(_LIBCPP_ABI_USE_WRAP_ITER_IN_STD_STRING_VIEW)
using const_iterator = __wrap_iter<const_pointer>;
-#else
+# else
using const_iterator = const_pointer;
-#endif
+# endif
using iterator = const_iterator;
using const_reverse_iterator = std::reverse_iterator<const_iterator>;
using reverse_iterator = const_reverse_iterator;
@@ -313,7 +316,7 @@ public:
_LIBCPP_CONSTEXPR _LIBCPP_HIDE_FROM_ABI basic_string_view(const _CharT* __s, size_type __len) _NOEXCEPT
: __data_(__s),
__size_(__len) {
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
// Allocations must fit in `ptrdiff_t` for pointer arithmetic to work. If `__len` exceeds it, the input
// range could not have been valid. Most likely the caller underflowed some arithmetic and inadvertently
// passed in a negative length.
@@ -322,10 +325,10 @@ public:
"string_view::string_view(_CharT *, size_t): length does not fit in difference_type");
_LIBCPP_ASSERT_NON_NULL(
__len == 0 || __s != nullptr, "string_view::string_view(_CharT *, size_t): received nullptr");
-#endif
+# endif
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <contiguous_iterator _It, sized_sentinel_for<_It> _End>
requires(is_same_v<iter_value_t<_It>, _CharT> && !is_convertible_v<_End, size_type>)
constexpr _LIBCPP_HIDE_FROM_ABI basic_string_view(_It __begin, _End __end)
@@ -333,9 +336,9 @@ public:
_LIBCPP_ASSERT_VALID_INPUT_RANGE(
(__end - __begin) >= 0, "std::string_view::string_view(iterator, sentinel) received invalid range");
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <class _Range>
requires(!is_same_v<remove_cvref_t<_Range>, basic_string_view> && ranges::contiguous_range<_Range> &&
ranges::sized_range<_Range> && is_same_v<ranges::range_value_t<_Range>, _CharT> &&
@@ -343,14 +346,14 @@ public:
(!requires(remove_cvref_t<_Range>& __d) { __d.operator std::basic_string_view<_CharT, _Traits>(); }))
constexpr explicit _LIBCPP_HIDE_FROM_ABI basic_string_view(_Range&& __r)
: __data_(ranges::data(__r)), __size_(ranges::size(__r)) {}
-#endif // _LIBCPP_STD_VER >= 23
+# endif // _LIBCPP_STD_VER >= 23
_LIBCPP_CONSTEXPR _LIBCPP_HIDE_FROM_ABI basic_string_view(const _CharT* __s)
: __data_(__s), __size_(std::__char_traits_length_checked<_Traits>(__s)) {}
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
basic_string_view(nullptr_t) = delete;
-#endif
+# endif
// [string.view.iterators], iterators
_LIBCPP_CONSTEXPR _LIBCPP_HIDE_FROM_ABI const_iterator begin() const _NOEXCEPT { return cbegin(); }
@@ -358,19 +361,19 @@ public:
_LIBCPP_CONSTEXPR _LIBCPP_HIDE_FROM_ABI const_iterator end() const _NOEXCEPT { return cend(); }
_LIBCPP_CONSTEXPR _LIBCPP_HIDE_FROM_ABI const_iterator cbegin() const _NOEXCEPT {
-#ifdef _LIBCPP_ABI_BOUNDED_ITERATORS
+# ifdef _LIBCPP_ABI_BOUNDED_ITERATORS
return std::__make_bounded_iter(data(), data(), data() + size());
-#else
+# else
return const_iterator(__data_);
-#endif
+# endif
}
_LIBCPP_CONSTEXPR _LIBCPP_HIDE_FROM_ABI const_iterator cend() const _NOEXCEPT {
-#ifdef _LIBCPP_ABI_BOUNDED_ITERATORS
+# ifdef _LIBCPP_ABI_BOUNDED_ITERATORS
return std::__make_bounded_iter(data() + size(), data(), data() + size());
-#else
+# else
return const_iterator(__data_ + __size_);
-#endif
+# endif
}
_LIBCPP_CONSTEXPR_SINCE_CXX17 _LIBCPP_HIDE_FROM_ABI const_reverse_iterator rbegin() const _NOEXCEPT {
@@ -645,7 +648,7 @@ public:
data(), size(), __s, __pos, traits_type::length(__s));
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
constexpr _LIBCPP_HIDE_FROM_ABI bool starts_with(basic_string_view __s) const noexcept {
return size() >= __s.size() && compare(0, __s.size(), __s) == 0;
}
@@ -669,15 +672,15 @@ public:
constexpr _LIBCPP_HIDE_FROM_ABI bool ends_with(const value_type* __s) const noexcept {
return ends_with(basic_string_view(__s));
}
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
constexpr _LIBCPP_HIDE_FROM_ABI bool contains(basic_string_view __sv) const noexcept { return find(__sv) != npos; }
constexpr _LIBCPP_HIDE_FROM_ABI bool contains(value_type __c) const noexcept { return find(__c) != npos; }
constexpr _LIBCPP_HIDE_FROM_ABI bool contains(const value_type* __s) const { return find(__s) != npos; }
-#endif
+# endif
private:
struct __assume_valid {};
@@ -698,38 +701,41 @@ private:
};
_LIBCPP_CTAD_SUPPORTED_FOR_TYPE(basic_string_view);
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _CharT, class _Traits>
inline constexpr bool ranges::enable_view<basic_string_view<_CharT, _Traits>> = true;
template <class _CharT, class _Traits>
inline constexpr bool ranges::enable_borrowed_range<basic_string_view<_CharT, _Traits> > = true;
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
// [string.view.deduct]
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <contiguous_iterator _It, sized_sentinel_for<_It> _End>
basic_string_view(_It, _End) -> basic_string_view<iter_value_t<_It>>;
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <ranges::contiguous_range _Range>
basic_string_view(_Range) -> basic_string_view<ranges::range_value_t<_Range>>;
-#endif
+# endif
// [string.view.comparison]
-#if _LIBCPP_STD_VER >= 20
-
-template <class _CharT, class _Traits>
-_LIBCPP_HIDE_FROM_ABI constexpr bool operator==(basic_string_view<_CharT, _Traits> __lhs,
- type_identity_t<basic_string_view<_CharT, _Traits>> __rhs) noexcept {
+// The dummy default template parameters are used to work around a MSVC issue with mangling, see VSO-409326 for details.
+// This applies to the other sufficient overloads below for the other comparison operators.
+template <class _CharT, class _Traits, int = 1>
+_LIBCPP_CONSTEXPR_SINCE_CXX14 _LIBCPP_HIDE_FROM_ABI bool
+operator==(basic_string_view<_CharT, _Traits> __lhs,
+ __type_identity_t<basic_string_view<_CharT, _Traits> > __rhs) _NOEXCEPT {
if (__lhs.size() != __rhs.size())
return false;
return __lhs.compare(__rhs) == 0;
}
+# if _LIBCPP_STD_VER >= 20
+
template <class _CharT, class _Traits>
_LIBCPP_HIDE_FROM_ABI constexpr auto operator<=>(basic_string_view<_CharT, _Traits> __lhs,
type_identity_t<basic_string_view<_CharT, _Traits>> __rhs) noexcept {
@@ -743,7 +749,7 @@ _LIBCPP_HIDE_FROM_ABI constexpr auto operator<=>(basic_string_view<_CharT, _Trai
}
}
-#else
+# else
// operator ==
@@ -755,51 +761,32 @@ operator==(basic_string_view<_CharT, _Traits> __lhs, basic_string_view<_CharT, _
return __lhs.compare(__rhs) == 0;
}
-// The dummy default template parameters are used to work around a MSVC issue with mangling, see VSO-409326 for details.
-// This applies to the other sufficient overloads below for the other comparison operators.
-template <class _CharT, class _Traits, int = 1>
-_LIBCPP_CONSTEXPR_SINCE_CXX14 _LIBCPP_HIDE_FROM_ABI bool
-operator==(basic_string_view<_CharT, _Traits> __lhs,
- __type_identity_t<basic_string_view<_CharT, _Traits> > __rhs) _NOEXCEPT {
- if (__lhs.size() != __rhs.size())
- return false;
- return __lhs.compare(__rhs) == 0;
-}
-
template <class _CharT, class _Traits, int = 2>
_LIBCPP_CONSTEXPR_SINCE_CXX14 _LIBCPP_HIDE_FROM_ABI bool
operator==(__type_identity_t<basic_string_view<_CharT, _Traits> > __lhs,
basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT {
- if (__lhs.size() != __rhs.size())
- return false;
- return __lhs.compare(__rhs) == 0;
+ return __lhs == __rhs;
}
// operator !=
template <class _CharT, class _Traits>
_LIBCPP_CONSTEXPR_SINCE_CXX14 _LIBCPP_HIDE_FROM_ABI bool
operator!=(basic_string_view<_CharT, _Traits> __lhs, basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT {
- if (__lhs.size() != __rhs.size())
- return true;
- return __lhs.compare(__rhs) != 0;
+ return !(__lhs == __rhs);
}
template <class _CharT, class _Traits, int = 1>
_LIBCPP_CONSTEXPR_SINCE_CXX14 _LIBCPP_HIDE_FROM_ABI bool
operator!=(basic_string_view<_CharT, _Traits> __lhs,
__type_identity_t<basic_string_view<_CharT, _Traits> > __rhs) _NOEXCEPT {
- if (__lhs.size() != __rhs.size())
- return true;
- return __lhs.compare(__rhs) != 0;
+ return !(__lhs == __rhs);
}
template <class _CharT, class _Traits, int = 2>
_LIBCPP_CONSTEXPR_SINCE_CXX14 _LIBCPP_HIDE_FROM_ABI bool
operator!=(__type_identity_t<basic_string_view<_CharT, _Traits> > __lhs,
basic_string_view<_CharT, _Traits> __rhs) _NOEXCEPT {
- if (__lhs.size() != __rhs.size())
- return true;
- return __lhs.compare(__rhs) != 0;
+ return !(__lhs == __rhs);
}
// operator <
@@ -886,7 +873,7 @@ operator>=(__type_identity_t<basic_string_view<_CharT, _Traits> > __lhs,
return __lhs.compare(__rhs) >= 0;
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
template <class _CharT, class _Traits>
_LIBCPP_HIDE_FROM_ABI basic_ostream<_CharT, _Traits>&
@@ -903,10 +890,10 @@ struct __string_view_hash : public __unary_function<basic_string_view<_CharT, ch
template <>
struct hash<basic_string_view<char, char_traits<char> > > : __string_view_hash<char> {};
-#if _LIBCPP_HAS_CHAR8_T
+# if _LIBCPP_HAS_CHAR8_T
template <>
struct hash<basic_string_view<char8_t, char_traits<char8_t> > > : __string_view_hash<char8_t> {};
-#endif
+# endif
template <>
struct hash<basic_string_view<char16_t, char_traits<char16_t> > > : __string_view_hash<char16_t> {};
@@ -914,31 +901,31 @@ struct hash<basic_string_view<char16_t, char_traits<char16_t> > > : __string_vie
template <>
struct hash<basic_string_view<char32_t, char_traits<char32_t> > > : __string_view_hash<char32_t> {};
-#if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
template <>
struct hash<basic_string_view<wchar_t, char_traits<wchar_t> > > : __string_view_hash<wchar_t> {};
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
inline namespace literals {
inline namespace string_view_literals {
inline _LIBCPP_HIDE_FROM_ABI constexpr basic_string_view<char> operator""sv(const char* __str, size_t __len) noexcept {
return basic_string_view<char>(__str, __len);
}
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
inline _LIBCPP_HIDE_FROM_ABI constexpr basic_string_view<wchar_t>
operator""sv(const wchar_t* __str, size_t __len) noexcept {
return basic_string_view<wchar_t>(__str, __len);
}
-# endif
+# endif
-# if _LIBCPP_HAS_CHAR8_T
+# if _LIBCPP_HAS_CHAR8_T
inline _LIBCPP_HIDE_FROM_ABI constexpr basic_string_view<char8_t>
operator""sv(const char8_t* __str, size_t __len) noexcept {
return basic_string_view<char8_t>(__str, __len);
}
-# endif
+# endif
inline _LIBCPP_HIDE_FROM_ABI constexpr basic_string_view<char16_t>
operator""sv(const char16_t* __str, size_t __len) noexcept {
@@ -951,17 +938,18 @@ operator""sv(const char32_t* __str, size_t __len) noexcept {
}
} // namespace string_view_literals
} // namespace literals
-#endif
+# endif
_LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <algorithm>
-# include <concepts>
-# include <cstdlib>
-# include <iterator>
-# include <type_traits>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <algorithm>
+# include <concepts>
+# include <cstdlib>
+# include <iterator>
+# include <type_traits>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_STRING_VIEW
diff --git a/libcxx/include/strstream b/libcxx/include/strstream
index b263fe1a76ad..90d56694e7a6 100644
--- a/libcxx/include/strstream
+++ b/libcxx/include/strstream
@@ -129,31 +129,34 @@ private:
*/
-#include <__config>
-#include <__ostream/basic_ostream.h>
-#include <istream>
-#include <streambuf>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/strstream>
+#else
+# include <__config>
+# include <__ostream/basic_ostream.h>
+# include <istream>
+# include <streambuf>
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
-#if _LIBCPP_STD_VER < 26 || defined(_LIBCPP_ENABLE_CXX26_REMOVED_STRSTREAM) || defined(_LIBCPP_BUILDING_LIBRARY)
+# if _LIBCPP_STD_VER < 26 || defined(_LIBCPP_ENABLE_CXX26_REMOVED_STRSTREAM) || defined(_LIBCPP_BUILDING_LIBRARY)
_LIBCPP_PUSH_MACROS
-# include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
class _LIBCPP_DEPRECATED _LIBCPP_EXPORTED_FROM_ABI strstreambuf : public streambuf {
public:
-# ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI strstreambuf() : strstreambuf(0) {}
explicit strstreambuf(streamsize __alsize);
-# else
+# else
explicit strstreambuf(streamsize __alsize = 0);
-# endif
+# endif
strstreambuf(void* (*__palloc)(size_t), void (*__pfree)(void*));
strstreambuf(char* __gnext, streamsize __n, char* __pbeg = nullptr);
strstreambuf(const char* __gnext, streamsize __n);
@@ -163,10 +166,10 @@ public:
strstreambuf(unsigned char* __gnext, streamsize __n, unsigned char* __pbeg = nullptr);
strstreambuf(const unsigned char* __gnext, streamsize __n);
-# ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI strstreambuf(strstreambuf&& __rhs);
_LIBCPP_HIDE_FROM_ABI strstreambuf& operator=(strstreambuf&& __rhs);
-# endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
~strstreambuf() override;
@@ -200,7 +203,7 @@ private:
void __init(char* __gnext, streamsize __n, char* __pbeg);
};
-# ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
inline _LIBCPP_HIDE_FROM_ABI strstreambuf::strstreambuf(strstreambuf&& __rhs)
: streambuf(__rhs),
@@ -229,7 +232,7 @@ inline _LIBCPP_HIDE_FROM_ABI strstreambuf& strstreambuf::operator=(strstreambuf&
return *this;
}
-# endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
class _LIBCPP_DEPRECATED _LIBCPP_EXPORTED_FROM_ABI istrstream : public istream {
public:
@@ -238,7 +241,7 @@ public:
_LIBCPP_HIDE_FROM_ABI istrstream(const char* __s, streamsize __n) : istream(&__sb_), __sb_(__s, __n) {}
_LIBCPP_HIDE_FROM_ABI istrstream(char* __s, streamsize __n) : istream(&__sb_), __sb_(__s, __n) {}
-# ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI istrstream(istrstream&& __rhs) // extension
: istream(std::move(static_cast<istream&>(__rhs))), __sb_(std::move(__rhs.__sb_)) {
istream::set_rdbuf(&__sb_);
@@ -249,7 +252,7 @@ public:
istream::operator=(std::move(__rhs));
return *this;
}
-# endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
~istrstream() override;
@@ -271,7 +274,7 @@ public:
_LIBCPP_HIDE_FROM_ABI ostrstream(char* __s, int __n, ios_base::openmode __mode = ios_base::out)
: ostream(&__sb_), __sb_(__s, __n, __s + (__mode & ios::app ? std::strlen(__s) : 0)) {}
-# ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI ostrstream(ostrstream&& __rhs) // extension
: ostream(std::move(static_cast<ostream&>(__rhs))), __sb_(std::move(__rhs.__sb_)) {
ostream::set_rdbuf(&__sb_);
@@ -282,7 +285,7 @@ public:
ostream::operator=(std::move(__rhs));
return *this;
}
-# endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
~ostrstream() override;
@@ -313,7 +316,7 @@ public:
_LIBCPP_HIDE_FROM_ABI strstream(char* __s, int __n, ios_base::openmode __mode = ios_base::in | ios_base::out)
: iostream(&__sb_), __sb_(__s, __n, __s + (__mode & ios::app ? std::strlen(__s) : 0)) {}
-# ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI strstream(strstream&& __rhs) // extension
: iostream(std::move(static_cast<iostream&>(__rhs))), __sb_(std::move(__rhs.__sb_)) {
iostream::set_rdbuf(&__sb_);
@@ -324,7 +327,7 @@ public:
iostream::operator=(std::move(__rhs));
return *this;
}
-# endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
~strstream() override;
@@ -347,6 +350,7 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP_STD_VER < 26 || defined(_LIBCPP_ENABLE_CXX26_REMOVED_STRSTREAM) || defined(_LIBCPP_BUILDING_LIBRARY)
+# endif // _LIBCPP_STD_VER < 26 || defined(_LIBCPP_ENABLE_CXX26_REMOVED_STRSTREAM) || defined(_LIBCPP_BUILDING_LIBRARY)
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_STRSTREAM
diff --git a/libcxx/include/syncstream b/libcxx/include/syncstream
index 2699a4b3a6fb..82761be76542 100644
--- a/libcxx/include/syncstream
+++ b/libcxx/include/syncstream
@@ -117,37 +117,40 @@ namespace std {
*/
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/syncstream>
+#else
+# include <__config>
-#if _LIBCPP_HAS_LOCALIZATION
+# if _LIBCPP_HAS_LOCALIZATION
-# include <__mutex/lock_guard.h>
-# include <__utility/move.h>
-# include <ios>
-# include <iosfwd> // required for declaration of default arguments
-# include <streambuf>
-# include <string>
+# include <__mutex/lock_guard.h>
+# include <__utility/move.h>
+# include <ios>
+# include <iosfwd> // required for declaration of default arguments
+# include <streambuf>
+# include <string>
-# if _LIBCPP_HAS_THREADS
-# include <map>
-# include <shared_mutex>
-# endif
+# if _LIBCPP_HAS_THREADS
+# include <map>
+# include <shared_mutex>
+# endif
// standard-mandated includes
// [syncstream.syn]
-# include <ostream>
+# include <ostream>
-# 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
_LIBCPP_PUSH_MACROS
-# include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
-# if _LIBCPP_STD_VER >= 20 && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)
+# if _LIBCPP_STD_VER >= 20 && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)
// [syncstream.syncbuf.overview]/1
// Class template basic_syncbuf stores character data written to it,
@@ -160,7 +163,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD
//
// This helper singleton is used to implement the required
// synchronisation guarantees.
-# if _LIBCPP_HAS_THREADS
+# if _LIBCPP_HAS_THREADS
class __wrapped_streambuf_mutex {
_LIBCPP_HIDE_FROM_ABI __wrapped_streambuf_mutex() = default;
@@ -233,7 +236,7 @@ private:
return __it;
}
};
-# endif // _LIBCPP_HAS_THREADS
+# endif // _LIBCPP_HAS_THREADS
// basic_syncbuf
@@ -273,14 +276,14 @@ public:
}
_LIBCPP_HIDE_FROM_ABI ~basic_syncbuf() {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
emit();
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
__dec_reference();
}
@@ -337,9 +340,9 @@ protected:
return traits_type::not_eof(__c);
if (this->pptr() == this->epptr()) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif
+# endif
size_t __size = __str_.size();
__str_.resize(__str_.capacity() + 1);
_LIBCPP_ASSERT_INTERNAL(__str_.size() > __size, "the buffer hasn't grown");
@@ -348,11 +351,11 @@ protected:
this->setp(__p, __p + __str_.size());
this->pbump(__size);
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
return traits_type::eof();
}
-# endif
+# endif
}
return this->sputc(traits_type::to_char_type(__c));
@@ -373,9 +376,9 @@ private:
if (!__wrapped_)
return false;
-# if _LIBCPP_HAS_THREADS
+# if _LIBCPP_HAS_THREADS
lock_guard<mutex> __lock = __wrapped_streambuf_mutex::__instance().__get_lock(__wrapped_);
-# endif
+# endif
bool __result = true;
if (this->pptr() != this->pbase()) {
@@ -407,24 +410,24 @@ private:
}
_LIBCPP_HIDE_FROM_ABI void __inc_reference() {
-# if _LIBCPP_HAS_THREADS
+# if _LIBCPP_HAS_THREADS
if (__wrapped_)
__wrapped_streambuf_mutex::__instance().__inc_reference(__wrapped_);
-# endif
+# endif
}
_LIBCPP_HIDE_FROM_ABI void __dec_reference() noexcept {
-# if _LIBCPP_HAS_THREADS
+# if _LIBCPP_HAS_THREADS
if (__wrapped_)
__wrapped_streambuf_mutex::__instance().__dec_reference(__wrapped_);
-# endif
+# endif
}
};
using std::syncbuf;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
using std::wsyncbuf;
-# endif
+# endif
// [syncstream.syncbuf.special], specialized algorithms
template <class _CharT, class _Traits, class _Allocator>
@@ -480,17 +483,17 @@ public:
// TODO validate other unformatted output functions.
typename basic_ostream<char_type, traits_type>::sentry __s(*this);
if (__s) {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif
+# endif
if (__sb_.emit() == false)
this->setstate(ios::badbit);
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
this->__set_badbit_and_consider_rethrow();
}
-# endif
+# endif
}
}
@@ -505,16 +508,17 @@ private:
};
using std::osyncstream;
-# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if _LIBCPP_HAS_WIDE_CHARACTERS
using std::wosyncstream;
-# endif
+# endif
-# endif // _LIBCPP_STD_VER >= 20 && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)
+# endif // _LIBCPP_STD_VER >= 20 && !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)
_LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#endif // _LIBCPP_HAS_LOCALIZATION
+# endif // _LIBCPP_HAS_LOCALIZATION
+#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 eeab347788a9..4dadc0a6ab48 100644
--- a/libcxx/include/system_error
+++ b/libcxx/include/system_error
@@ -144,28 +144,32 @@ template <> struct hash<std::error_condition>;
*/
-#include <__config>
-#include <__system_error/errc.h>
-#include <__system_error/error_category.h>
-#include <__system_error/error_code.h>
-#include <__system_error/error_condition.h>
-#include <__system_error/system_error.h>
-#include <version>
+#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>
+# include <__system_error/error_code.h>
+# include <__system_error/error_condition.h>
+# include <__system_error/system_error.h>
+# include <version>
// standard-mandated includes
// [system.error.syn]
-#include <compare>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstdint>
-# include <cstring>
-# include <limits>
-# include <type_traits>
-#endif
+# include <compare>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstdint>
+# include <cstring>
+# include <limits>
+# include <type_traits>
+# endif
+#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 1c5058cb065a..3f8f14fd579a 100644
--- a/libcxx/include/tgmath.h
+++ b/libcxx/include/tgmath.h
@@ -17,19 +17,23 @@
*/
-#include <__config>
+#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)
-# pragma GCC system_header
-#endif
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
-#ifdef __cplusplus
-# include <cmath>
-# include <complex>
-#else
-# if __has_include_next(<tgmath.h>)
-# include_next <tgmath.h>
+# ifdef __cplusplus
+# include <cmath>
+# include <complex>
+# else
+# if __has_include_next(<tgmath.h>)
+# include_next <tgmath.h>
+# endif
# endif
-#endif
+#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 d7c3f704ad67..029ed418e207 100644
--- a/libcxx/include/thread
+++ b/libcxx/include/thread
@@ -86,44 +86,48 @@ void sleep_for(const chrono::duration<Rep, Period>& rel_time);
*/
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/thread>
+#else
+# include <__config>
-#if _LIBCPP_HAS_THREADS
+# if _LIBCPP_HAS_THREADS
-# include <__thread/this_thread.h>
-# include <__thread/thread.h>
+# include <__thread/this_thread.h>
+# include <__thread/thread.h>
-# if _LIBCPP_STD_VER >= 20
-# include <__thread/jthread.h>
-# endif
+# if _LIBCPP_STD_VER >= 20
+# include <__thread/jthread.h>
+# endif
-# if _LIBCPP_STD_VER >= 23
-# include <__thread/formatter.h>
-# endif
+# if _LIBCPP_STD_VER >= 23
+# include <__thread/formatter.h>
+# endif
-# include <version>
+# include <version>
// standard-mandated includes
// [thread.syn]
-# include <compare>
+# include <compare>
-# 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
-#endif // _LIBCPP_HAS_THREADS
+# endif // _LIBCPP_HAS_THREADS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 17
-# include <chrono>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 17
+# include <chrono>
+# endif
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstring>
-# include <functional>
-# include <new>
-# include <system_error>
-# include <type_traits>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstring>
+# include <functional>
+# include <new>
+# include <system_error>
+# include <type_traits>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_THREAD
diff --git a/libcxx/include/tuple b/libcxx/include/tuple
index c3f7b8041686..b2478746f5e2 100644
--- a/libcxx/include/tuple
+++ b/libcxx/include/tuple
@@ -210,76 +210,79 @@ template <class... Types>
// clang-format on
-#include <__compare/common_comparison_category.h>
-#include <__compare/ordering.h>
-#include <__compare/synth_three_way.h>
-#include <__config>
-#include <__cstddef/size_t.h>
-#include <__fwd/array.h>
-#include <__fwd/pair.h>
-#include <__fwd/tuple.h>
-#include <__memory/allocator_arg_t.h>
-#include <__memory/uses_allocator.h>
-#include <__tuple/find_index.h>
-#include <__tuple/ignore.h>
-#include <__tuple/make_tuple_types.h>
-#include <__tuple/sfinae_helpers.h>
-#include <__tuple/tuple_element.h>
-#include <__tuple/tuple_indices.h>
-#include <__tuple/tuple_like_ext.h>
-#include <__tuple/tuple_size.h>
-#include <__tuple/tuple_types.h>
-#include <__type_traits/common_reference.h>
-#include <__type_traits/common_type.h>
-#include <__type_traits/conditional.h>
-#include <__type_traits/conjunction.h>
-#include <__type_traits/copy_cvref.h>
-#include <__type_traits/disjunction.h>
-#include <__type_traits/enable_if.h>
-#include <__type_traits/invoke.h>
-#include <__type_traits/is_arithmetic.h>
-#include <__type_traits/is_assignable.h>
-#include <__type_traits/is_constructible.h>
-#include <__type_traits/is_convertible.h>
-#include <__type_traits/is_empty.h>
-#include <__type_traits/is_final.h>
-#include <__type_traits/is_implicitly_default_constructible.h>
-#include <__type_traits/is_nothrow_assignable.h>
-#include <__type_traits/is_nothrow_constructible.h>
-#include <__type_traits/is_reference.h>
-#include <__type_traits/is_same.h>
-#include <__type_traits/is_swappable.h>
-#include <__type_traits/is_trivially_relocatable.h>
-#include <__type_traits/lazy.h>
-#include <__type_traits/maybe_const.h>
-#include <__type_traits/nat.h>
-#include <__type_traits/negation.h>
-#include <__type_traits/remove_cvref.h>
-#include <__type_traits/remove_reference.h>
-#include <__type_traits/unwrap_ref.h>
-#include <__utility/declval.h>
-#include <__utility/forward.h>
-#include <__utility/integer_sequence.h>
-#include <__utility/move.h>
-#include <__utility/piecewise_construct.h>
-#include <__utility/swap.h>
-#include <version>
+#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>
+# include <__config>
+# include <__cstddef/size_t.h>
+# include <__fwd/array.h>
+# include <__fwd/pair.h>
+# include <__fwd/tuple.h>
+# include <__memory/allocator_arg_t.h>
+# include <__memory/uses_allocator.h>
+# include <__tuple/find_index.h>
+# include <__tuple/ignore.h>
+# include <__tuple/make_tuple_types.h>
+# include <__tuple/sfinae_helpers.h>
+# include <__tuple/tuple_element.h>
+# include <__tuple/tuple_indices.h>
+# include <__tuple/tuple_like_ext.h>
+# include <__tuple/tuple_size.h>
+# include <__tuple/tuple_types.h>
+# include <__type_traits/common_reference.h>
+# include <__type_traits/common_type.h>
+# include <__type_traits/conditional.h>
+# include <__type_traits/conjunction.h>
+# include <__type_traits/copy_cvref.h>
+# include <__type_traits/disjunction.h>
+# include <__type_traits/enable_if.h>
+# include <__type_traits/invoke.h>
+# include <__type_traits/is_arithmetic.h>
+# include <__type_traits/is_assignable.h>
+# include <__type_traits/is_constructible.h>
+# include <__type_traits/is_convertible.h>
+# include <__type_traits/is_empty.h>
+# include <__type_traits/is_final.h>
+# include <__type_traits/is_implicitly_default_constructible.h>
+# include <__type_traits/is_nothrow_assignable.h>
+# include <__type_traits/is_nothrow_constructible.h>
+# include <__type_traits/is_reference.h>
+# include <__type_traits/is_same.h>
+# include <__type_traits/is_swappable.h>
+# include <__type_traits/is_trivially_relocatable.h>
+# include <__type_traits/lazy.h>
+# include <__type_traits/maybe_const.h>
+# include <__type_traits/nat.h>
+# include <__type_traits/negation.h>
+# include <__type_traits/remove_cvref.h>
+# include <__type_traits/remove_reference.h>
+# include <__type_traits/unwrap_ref.h>
+# include <__utility/declval.h>
+# include <__utility/forward.h>
+# include <__utility/integer_sequence.h>
+# include <__utility/move.h>
+# include <__utility/piecewise_construct.h>
+# include <__utility/swap.h>
+# include <version>
// standard-mandated includes
// [tuple.syn]
-#include <compare>
+# include <compare>
-#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
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
// __tuple_leaf
@@ -305,11 +308,11 @@ class __tuple_leaf {
template <class _Tp>
static _LIBCPP_HIDE_FROM_ABI constexpr bool __can_bind_reference() {
-# if __has_keyword(__reference_binds_to_temporary)
+# if __has_keyword(__reference_binds_to_temporary)
return !__reference_binds_to_temporary(_Hp, _Tp);
-# else
+# else
return true;
-# endif
+# endif
}
public:
@@ -693,7 +696,7 @@ public:
tuple(allocator_arg_t, const _Alloc& __a, const tuple<_Up...>& __t)
: __base_(allocator_arg_t(), __a, __t) {}
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
// tuple(tuple<U...>&) constructors (including allocator_arg_t variants)
template <class... _Up, enable_if_t< _EnableCtorFromUTypesTuple<tuple<_Up...>&>::value>* = nullptr>
@@ -704,7 +707,7 @@ public:
_LIBCPP_HIDE_FROM_ABI constexpr explicit(!_Lazy<_And, is_convertible<_Up&, _Tp>...>::value)
tuple(allocator_arg_t, const _Alloc& __alloc, tuple<_Up...>& __t)
: __base_(allocator_arg_t(), __alloc, __t) {}
-# endif // _LIBCPP_STD_VER >= 23
+# endif // _LIBCPP_STD_VER >= 23
// tuple(tuple<U...>&&) constructors (including allocator_arg_t variants)
template <class... _Up, __enable_if_t< _And< _EnableCtorFromUTypesTuple<tuple<_Up...>&&> >::value, int> = 0>
@@ -719,7 +722,7 @@ public:
tuple(allocator_arg_t, const _Alloc& __a, tuple<_Up...>&& __t)
: __base_(allocator_arg_t(), __a, std::move(__t)) {}
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
// tuple(const tuple<U...>&&) constructors (including allocator_arg_t variants)
template <class... _Up, enable_if_t< _EnableCtorFromUTypesTuple<const tuple<_Up...>&&>::value>* = nullptr>
@@ -733,7 +736,7 @@ public:
_LIBCPP_HIDE_FROM_ABI constexpr explicit(!_Lazy<_And, is_convertible<const _Up&&, _Tp>...>::value)
tuple(allocator_arg_t, const _Alloc& __alloc, const tuple<_Up...>&& __t)
: __base_(allocator_arg_t(), __alloc, std::move(__t)) {}
-# endif // _LIBCPP_STD_VER >= 23
+# endif // _LIBCPP_STD_VER >= 23
// tuple(const pair<U1, U2>&) constructors (including allocator_arg_t variants)
@@ -779,7 +782,7 @@ public:
tuple(allocator_arg_t, const _Alloc& __a, const pair<_Up1, _Up2>& __p)
: __base_(allocator_arg_t(), __a, __p) {}
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
// tuple(pair<U1, U2>&) constructors (including allocator_arg_t variants)
template <class _U1, class _U2, enable_if_t< _EnableCtorFromPair<pair<_U1, _U2>&>::value>* = nullptr>
@@ -794,7 +797,7 @@ public:
_LIBCPP_HIDE_FROM_ABI constexpr explicit(!_BothImplicitlyConvertible<pair<_U1, _U2>&>::value)
tuple(allocator_arg_t, const _Alloc& __alloc, pair<_U1, _U2>& __p)
: __base_(allocator_arg_t(), __alloc, __p) {}
-# endif
+# endif
// tuple(pair<U1, U2>&&) constructors (including allocator_arg_t variants)
@@ -817,7 +820,7 @@ public:
tuple(allocator_arg_t, const _Alloc& __a, pair<_Up1, _Up2>&& __p)
: __base_(allocator_arg_t(), __a, std::move(__p)) {}
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
// tuple(const pair<U1, U2>&&) constructors (including allocator_arg_t variants)
template <class _U1, class _U2, enable_if_t< _EnableCtorFromPair<const pair<_U1, _U2>&&>::value>* = nullptr>
@@ -832,7 +835,7 @@ public:
_LIBCPP_HIDE_FROM_ABI constexpr explicit(!_BothImplicitlyConvertible<const pair<_U1, _U2>&&>::value)
tuple(allocator_arg_t, const _Alloc& __alloc, const pair<_U1, _U2>&& __p)
: __base_(allocator_arg_t(), __alloc, std::move(__p)) {}
-# endif // _LIBCPP_STD_VER >= 23
+# endif // _LIBCPP_STD_VER >= 23
// [tuple.assign]
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 tuple&
@@ -842,7 +845,7 @@ public:
return *this;
}
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
_LIBCPP_HIDE_FROM_ABI constexpr const tuple& operator=(tuple const& __tuple) const
requires(_And<is_copy_assignable<const _Tp>...>::value)
{
@@ -857,7 +860,7 @@ public:
*this, std::move(__tuple), __tuple_types<_Tp...>(), typename __make_tuple_indices<sizeof...(_Tp)>::type());
return *this;
}
-# endif // _LIBCPP_STD_VER >= 23
+# endif // _LIBCPP_STD_VER >= 23
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 tuple&
operator=(_If<_And<is_move_assignable<_Tp>...>::value, tuple, __nat>&& __tuple) noexcept(
@@ -887,7 +890,7 @@ public:
return *this;
}
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <class... _UTypes,
enable_if_t< _And<_BoolConstant<sizeof...(_Tp) == sizeof...(_UTypes)>,
is_assignable<const _Tp&, const _UTypes&>...>::value>* = nullptr>
@@ -904,7 +907,7 @@ public:
*this, __u, __tuple_types<_UTypes...>(), typename __make_tuple_indices<sizeof...(_Tp)>::type());
return *this;
}
-# endif // _LIBCPP_STD_VER >= 23
+# endif // _LIBCPP_STD_VER >= 23
template <template <class...> class _Pred,
bool _Const,
@@ -924,7 +927,7 @@ public:
template <bool _Const, class _Pair>
struct _NothrowAssignFromPair : _AssignPredicateFromPair<is_nothrow_assignable, _Const, _Pair> {};
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <class _U1, class _U2, enable_if_t< _EnableAssignFromPair<true, const pair<_U1, _U2>&>::value>* = nullptr>
_LIBCPP_HIDE_FROM_ABI constexpr const tuple& operator=(const pair<_U1, _U2>& __pair) const
noexcept(_NothrowAssignFromPair<true, const pair<_U1, _U2>&>::value) {
@@ -940,7 +943,7 @@ public:
std::get<1>(*this) = std::move(__pair.second);
return *this;
}
-# endif // _LIBCPP_STD_VER >= 23
+# endif // _LIBCPP_STD_VER >= 23
template <class _Up1,
class _Up2,
@@ -992,12 +995,12 @@ public:
__base_.swap(__t.__base_);
}
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
_LIBCPP_HIDE_FROM_ABI constexpr void swap(const tuple& __t) const
noexcept(__all<is_nothrow_swappable_v<const _Tp&>...>::value) {
__base_.swap(__t.__base_);
}
-# endif // _LIBCPP_STD_VER >= 23
+# endif // _LIBCPP_STD_VER >= 23
};
template <>
@@ -1013,12 +1016,12 @@ public:
template <class _Alloc, class _Up>
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 tuple(allocator_arg_t, const _Alloc&, array<_Up, 0>) _NOEXCEPT {}
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void swap(tuple&) _NOEXCEPT {}
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
_LIBCPP_HIDE_FROM_ABI constexpr void swap(const tuple&) const noexcept {}
-# endif
+# endif
};
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <class... _TTypes, class... _UTypes, template <class> class _TQual, template <class> class _UQual>
requires requires { typename tuple<common_reference_t<_TQual<_TTypes>, _UQual<_UTypes>>...>; }
struct basic_common_reference<tuple<_TTypes...>, tuple<_UTypes...>, _TQual, _UQual> {
@@ -1030,9 +1033,9 @@ template <class... _TTypes, class... _UTypes>
struct common_type<tuple<_TTypes...>, tuple<_UTypes...>> {
using type = tuple<common_type_t<_TTypes, _UTypes>...>;
};
-# endif // _LIBCPP_STD_VER >= 23
+# endif // _LIBCPP_STD_VER >= 23
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class... _Tp>
tuple(_Tp...) -> tuple<_Tp...>;
template <class _Tp1, class _Tp2>
@@ -1043,7 +1046,7 @@ template <class _Alloc, class _Tp1, class _Tp2>
tuple(allocator_arg_t, _Alloc, pair<_Tp1, _Tp2>) -> tuple<_Tp1, _Tp2>;
template <class _Alloc, class... _Tp>
tuple(allocator_arg_t, _Alloc, tuple<_Tp...>) -> tuple<_Tp...>;
-# endif
+# endif
template <class... _Tp, __enable_if_t<__all<__is_swappable_v<_Tp>...>::value, int> = 0>
inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void
@@ -1051,46 +1054,46 @@ swap(tuple<_Tp...>& __t, tuple<_Tp...>& __u) noexcept(__all<__is_nothrow_swappab
__t.swap(__u);
}
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <class... _Tp>
_LIBCPP_HIDE_FROM_ABI constexpr enable_if_t<__all<is_swappable_v<const _Tp>...>::value, void>
swap(const tuple<_Tp...>& __lhs,
const tuple<_Tp...>& __rhs) noexcept(__all<is_nothrow_swappable_v<const _Tp>...>::value) {
__lhs.swap(__rhs);
}
-# endif
+# endif
// get
template <size_t _Ip, class... _Tp>
inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 typename tuple_element<_Ip, tuple<_Tp...> >::type&
get(tuple<_Tp...>& __t) _NOEXCEPT {
- typedef _LIBCPP_NODEBUG typename tuple_element<_Ip, tuple<_Tp...> >::type type;
+ using type _LIBCPP_NODEBUG = typename tuple_element<_Ip, tuple<_Tp...> >::type;
return static_cast<__tuple_leaf<_Ip, type>&>(__t.__base_).get();
}
template <size_t _Ip, class... _Tp>
inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 const typename tuple_element<_Ip, tuple<_Tp...> >::type&
get(const tuple<_Tp...>& __t) _NOEXCEPT {
- typedef _LIBCPP_NODEBUG typename tuple_element<_Ip, tuple<_Tp...> >::type type;
+ using type _LIBCPP_NODEBUG = typename tuple_element<_Ip, tuple<_Tp...> >::type;
return static_cast<const __tuple_leaf<_Ip, type>&>(__t.__base_).get();
}
template <size_t _Ip, class... _Tp>
inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 typename tuple_element<_Ip, tuple<_Tp...> >::type&&
get(tuple<_Tp...>&& __t) _NOEXCEPT {
- typedef _LIBCPP_NODEBUG typename tuple_element<_Ip, tuple<_Tp...> >::type type;
+ using type _LIBCPP_NODEBUG = typename tuple_element<_Ip, tuple<_Tp...> >::type;
return static_cast<type&&>(static_cast<__tuple_leaf<_Ip, type>&&>(__t.__base_).get());
}
template <size_t _Ip, class... _Tp>
inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 const typename tuple_element<_Ip, tuple<_Tp...> >::type&&
get(const tuple<_Tp...>&& __t) _NOEXCEPT {
- typedef _LIBCPP_NODEBUG typename tuple_element<_Ip, tuple<_Tp...> >::type type;
+ using type _LIBCPP_NODEBUG = typename tuple_element<_Ip, tuple<_Tp...> >::type;
return static_cast<const type&&>(static_cast<const __tuple_leaf<_Ip, type>&&>(__t.__base_).get());
}
-# if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <class _T1, class... _Args>
inline _LIBCPP_HIDE_FROM_ABI constexpr _T1& get(tuple<_Args...>& __tup) noexcept {
@@ -1112,7 +1115,7 @@ inline _LIBCPP_HIDE_FROM_ABI constexpr _T1 const&& get(tuple<_Args...> const&& _
return std::get<__find_exactly_one_t<_T1, _Args...>::value>(std::move(__tup));
}
-# endif
+# endif
// tie
@@ -1155,7 +1158,7 @@ operator==(const tuple<_Tp...>& __x, const tuple<_Up...>& __y) {
return __tuple_equal<sizeof...(_Tp)>()(__x, __y);
}
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
// operator<=>
@@ -1175,7 +1178,7 @@ operator<=>(const tuple<_Tp...>& __x, const tuple<_Up...>& __y) {
return std::__tuple_compare_three_way(__x, __y, index_sequence_for<_Tp...>{});
}
-# else // _LIBCPP_STD_VER >= 20
+# else // _LIBCPP_STD_VER >= 20
template <class... _Tp, class... _Up>
inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 bool
@@ -1229,7 +1232,7 @@ operator<=(const tuple<_Tp...>& __x, const tuple<_Up...>& __y) {
return !(__y < __x);
}
-# endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
// tuple_cat
@@ -1238,7 +1241,7 @@ struct __tuple_cat_type;
template <class... _Ttypes, class... _Utypes>
struct __tuple_cat_type<tuple<_Ttypes...>, __tuple_types<_Utypes...> > {
- typedef _LIBCPP_NODEBUG tuple<_Ttypes..., _Utypes...> type;
+ using type _LIBCPP_NODEBUG = tuple<_Ttypes..., _Utypes...>;
};
template <class _ResultTuple, bool _Is_Tuple0TupleLike, class... _Tuples>
@@ -1272,7 +1275,7 @@ struct __tuple_cat_return<_Tuple0, _Tuples...>
template <>
struct __tuple_cat_return<> {
- typedef _LIBCPP_NODEBUG tuple<> type;
+ using type _LIBCPP_NODEBUG = tuple<>;
};
inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 tuple<> tuple_cat() { return tuple<>(); }
@@ -1282,7 +1285,7 @@ struct __tuple_cat_return_ref_imp;
template <class... _Types, size_t... _I0, class _Tuple0>
struct __tuple_cat_return_ref_imp<tuple<_Types...>, __tuple_indices<_I0...>, _Tuple0> {
- typedef _LIBCPP_NODEBUG __libcpp_remove_reference_t<_Tuple0> _T0;
+ using _T0 _LIBCPP_NODEBUG = __libcpp_remove_reference_t<_Tuple0>;
typedef tuple<_Types..., __copy_cvref_t<_Tuple0, typename tuple_element<_I0, _T0>::type>&&...> type;
};
@@ -1322,8 +1325,8 @@ struct __tuple_cat<tuple<_Types...>, __tuple_indices<_I0...>, __tuple_indices<_J
typename __tuple_cat_return_ref<tuple<_Types...>&&, _Tuple0&&, _Tuple1&&, _Tuples&&...>::type
operator()(tuple<_Types...> __t, _Tuple0&& __t0, _Tuple1&& __t1, _Tuples&&... __tpls) {
(void)__t; // avoid unused parameter warning on GCC when _I0 is empty
- typedef _LIBCPP_NODEBUG __libcpp_remove_reference_t<_Tuple0> _T0;
- typedef _LIBCPP_NODEBUG __libcpp_remove_reference_t<_Tuple1> _T1;
+ using _T0 _LIBCPP_NODEBUG = __libcpp_remove_reference_t<_Tuple0>;
+ using _T1 _LIBCPP_NODEBUG = __libcpp_remove_reference_t<_Tuple1>;
return __tuple_cat<tuple<_Types..., __copy_cvref_t<_Tuple0, typename tuple_element<_J0, _T0>::type>&&...>,
typename __make_tuple_indices<sizeof...(_Types) + tuple_size<_T0>::value>::type,
typename __make_tuple_indices<tuple_size<_T1>::value>::type>()(
@@ -1337,7 +1340,7 @@ struct __tuple_cat<tuple<_Types...>, __tuple_indices<_I0...>, __tuple_indices<_J
template <class _Tuple0, class... _Tuples>
inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 typename __tuple_cat_return<_Tuple0, _Tuples...>::type
tuple_cat(_Tuple0&& __t0, _Tuples&&... __tpls) {
- typedef _LIBCPP_NODEBUG __libcpp_remove_reference_t<_Tuple0> _T0;
+ using _T0 _LIBCPP_NODEBUG = __libcpp_remove_reference_t<_Tuple0>;
return __tuple_cat<tuple<>, __tuple_indices<>, typename __make_tuple_indices<tuple_size<_T0>::value>::type>()(
tuple<>(), std::forward<_Tuple0>(__t0), std::forward<_Tuples>(__tpls)...);
}
@@ -1345,9 +1348,9 @@ tuple_cat(_Tuple0&& __t0, _Tuples&&... __tpls) {
template <class... _Tp, class _Alloc>
struct _LIBCPP_TEMPLATE_VIS uses_allocator<tuple<_Tp...>, _Alloc> : true_type {};
-# if _LIBCPP_STD_VER >= 17
-# define _LIBCPP_NOEXCEPT_RETURN(...) \
- noexcept(noexcept(__VA_ARGS__)) { return __VA_ARGS__; }
+# if _LIBCPP_STD_VER >= 17
+# define _LIBCPP_NOEXCEPT_RETURN(...) \
+ noexcept(noexcept(__VA_ARGS__)) { return __VA_ARGS__; }
// The _LIBCPP_NOEXCEPT_RETURN macro breaks formatting.
// clang-format off
@@ -1410,14 +1413,15 @@ _LIBCPP_POP_MACROS
// clang-format on
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstddef>
-# include <exception>
-# include <iosfwd>
-# include <new>
-# include <type_traits>
-# include <typeinfo>
-# include <utility>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstddef>
+# include <exception>
+# include <iosfwd>
+# include <new>
+# include <type_traits>
+# include <typeinfo>
+# include <utility>
+# endif
+#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 cc2b7511d24d..ffcddb017661 100644
--- a/libcxx/include/type_traits
+++ b/libcxx/include/type_traits
@@ -424,108 +424,112 @@ namespace std
*/
-#include <__config>
-#include <__type_traits/add_cv_quals.h>
-#include <__type_traits/add_lvalue_reference.h>
-#include <__type_traits/add_pointer.h>
-#include <__type_traits/add_rvalue_reference.h>
-#include <__type_traits/aligned_storage.h>
-#include <__type_traits/aligned_union.h>
-#include <__type_traits/alignment_of.h>
-#include <__type_traits/common_type.h>
-#include <__type_traits/conditional.h>
-#include <__type_traits/decay.h>
-#include <__type_traits/enable_if.h>
-#include <__type_traits/extent.h>
-#include <__type_traits/has_virtual_destructor.h>
-#include <__type_traits/integral_constant.h>
-#include <__type_traits/is_abstract.h>
-#include <__type_traits/is_arithmetic.h>
-#include <__type_traits/is_array.h>
-#include <__type_traits/is_assignable.h>
-#include <__type_traits/is_base_of.h>
-#include <__type_traits/is_class.h>
-#include <__type_traits/is_compound.h>
-#include <__type_traits/is_const.h>
-#include <__type_traits/is_constructible.h>
-#include <__type_traits/is_convertible.h>
-#include <__type_traits/is_destructible.h>
-#include <__type_traits/is_empty.h>
-#include <__type_traits/is_enum.h>
-#include <__type_traits/is_floating_point.h>
-#include <__type_traits/is_function.h>
-#include <__type_traits/is_fundamental.h>
-#include <__type_traits/is_integral.h>
-#include <__type_traits/is_literal_type.h>
-#include <__type_traits/is_member_pointer.h>
-#include <__type_traits/is_nothrow_assignable.h>
-#include <__type_traits/is_nothrow_constructible.h>
-#include <__type_traits/is_nothrow_destructible.h>
-#include <__type_traits/is_object.h>
-#include <__type_traits/is_pod.h>
-#include <__type_traits/is_pointer.h>
-#include <__type_traits/is_polymorphic.h>
-#include <__type_traits/is_reference.h>
-#include <__type_traits/is_same.h>
-#include <__type_traits/is_scalar.h>
-#include <__type_traits/is_signed.h>
-#include <__type_traits/is_standard_layout.h>
-#include <__type_traits/is_trivial.h>
-#include <__type_traits/is_trivially_assignable.h>
-#include <__type_traits/is_trivially_constructible.h>
-#include <__type_traits/is_trivially_copyable.h>
-#include <__type_traits/is_trivially_destructible.h>
-#include <__type_traits/is_union.h>
-#include <__type_traits/is_unsigned.h>
-#include <__type_traits/is_void.h>
-#include <__type_traits/is_volatile.h>
-#include <__type_traits/make_signed.h>
-#include <__type_traits/make_unsigned.h>
-#include <__type_traits/rank.h>
-#include <__type_traits/remove_all_extents.h>
-#include <__type_traits/remove_const.h>
-#include <__type_traits/remove_cv.h>
-#include <__type_traits/remove_extent.h>
-#include <__type_traits/remove_pointer.h>
-#include <__type_traits/remove_reference.h>
-#include <__type_traits/remove_volatile.h>
-#include <__type_traits/result_of.h>
-#include <__type_traits/underlying_type.h>
-
-#if _LIBCPP_STD_VER >= 14
-# include <__type_traits/is_final.h>
-# include <__type_traits/is_null_pointer.h>
-#endif
-
-#if _LIBCPP_STD_VER >= 17
-# include <__type_traits/conjunction.h>
-# include <__type_traits/disjunction.h>
-# include <__type_traits/has_unique_object_representation.h>
-# include <__type_traits/invoke.h>
-# include <__type_traits/is_aggregate.h>
-# include <__type_traits/is_swappable.h>
-# include <__type_traits/negation.h>
-# include <__type_traits/void_t.h>
-#endif
-
-#if _LIBCPP_STD_VER >= 20
-# include <__type_traits/common_reference.h>
-# include <__type_traits/is_bounded_array.h>
-# include <__type_traits/is_constant_evaluated.h>
-# include <__type_traits/is_nothrow_convertible.h>
-# include <__type_traits/is_unbounded_array.h>
-# include <__type_traits/type_identity.h>
-# include <__type_traits/unwrap_ref.h>
-#endif
-
-#if _LIBCPP_STD_VER >= 23
-# include <__type_traits/is_implicit_lifetime.h>
-#endif
-
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
+#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>
+# include <__type_traits/add_pointer.h>
+# include <__type_traits/add_rvalue_reference.h>
+# include <__type_traits/aligned_storage.h>
+# include <__type_traits/aligned_union.h>
+# include <__type_traits/alignment_of.h>
+# include <__type_traits/common_type.h>
+# include <__type_traits/conditional.h>
+# include <__type_traits/decay.h>
+# include <__type_traits/enable_if.h>
+# include <__type_traits/extent.h>
+# include <__type_traits/has_virtual_destructor.h>
+# include <__type_traits/integral_constant.h>
+# include <__type_traits/is_abstract.h>
+# include <__type_traits/is_arithmetic.h>
+# include <__type_traits/is_array.h>
+# include <__type_traits/is_assignable.h>
+# include <__type_traits/is_base_of.h>
+# include <__type_traits/is_class.h>
+# include <__type_traits/is_compound.h>
+# include <__type_traits/is_const.h>
+# include <__type_traits/is_constructible.h>
+# include <__type_traits/is_convertible.h>
+# include <__type_traits/is_destructible.h>
+# include <__type_traits/is_empty.h>
+# include <__type_traits/is_enum.h>
+# include <__type_traits/is_floating_point.h>
+# include <__type_traits/is_function.h>
+# include <__type_traits/is_fundamental.h>
+# include <__type_traits/is_integral.h>
+# include <__type_traits/is_literal_type.h>
+# include <__type_traits/is_member_pointer.h>
+# include <__type_traits/is_nothrow_assignable.h>
+# include <__type_traits/is_nothrow_constructible.h>
+# include <__type_traits/is_nothrow_destructible.h>
+# include <__type_traits/is_object.h>
+# include <__type_traits/is_pod.h>
+# include <__type_traits/is_pointer.h>
+# include <__type_traits/is_polymorphic.h>
+# include <__type_traits/is_reference.h>
+# include <__type_traits/is_same.h>
+# include <__type_traits/is_scalar.h>
+# include <__type_traits/is_signed.h>
+# include <__type_traits/is_standard_layout.h>
+# include <__type_traits/is_trivial.h>
+# include <__type_traits/is_trivially_assignable.h>
+# include <__type_traits/is_trivially_constructible.h>
+# include <__type_traits/is_trivially_copyable.h>
+# include <__type_traits/is_trivially_destructible.h>
+# include <__type_traits/is_union.h>
+# include <__type_traits/is_unsigned.h>
+# include <__type_traits/is_void.h>
+# include <__type_traits/is_volatile.h>
+# include <__type_traits/make_signed.h>
+# include <__type_traits/make_unsigned.h>
+# include <__type_traits/rank.h>
+# include <__type_traits/remove_all_extents.h>
+# include <__type_traits/remove_const.h>
+# include <__type_traits/remove_cv.h>
+# include <__type_traits/remove_extent.h>
+# include <__type_traits/remove_pointer.h>
+# include <__type_traits/remove_reference.h>
+# include <__type_traits/remove_volatile.h>
+# include <__type_traits/result_of.h>
+# include <__type_traits/underlying_type.h>
+
+# if _LIBCPP_STD_VER >= 14
+# include <__type_traits/is_final.h>
+# include <__type_traits/is_null_pointer.h>
+# endif
+
+# if _LIBCPP_STD_VER >= 17
+# include <__type_traits/conjunction.h>
+# include <__type_traits/disjunction.h>
+# include <__type_traits/has_unique_object_representation.h>
+# include <__type_traits/invoke.h>
+# include <__type_traits/is_aggregate.h>
+# include <__type_traits/is_swappable.h>
+# include <__type_traits/negation.h>
+# include <__type_traits/void_t.h>
+# endif
+
+# if _LIBCPP_STD_VER >= 20
+# include <__type_traits/common_reference.h>
+# include <__type_traits/is_bounded_array.h>
+# include <__type_traits/is_constant_evaluated.h>
+# include <__type_traits/is_nothrow_convertible.h>
+# include <__type_traits/is_unbounded_array.h>
+# include <__type_traits/type_identity.h>
+# include <__type_traits/unwrap_ref.h>
+# endif
+
+# if _LIBCPP_STD_VER >= 23
+# include <__type_traits/is_implicit_lifetime.h>
+# endif
+
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_TYPE_TRAITS
diff --git a/libcxx/include/typeindex b/libcxx/include/typeindex
index 9f8e65befcba..76faee4bf199 100644
--- a/libcxx/include/typeindex
+++ b/libcxx/include/typeindex
@@ -45,17 +45,20 @@ struct hash<type_index>
*/
-#include <__config>
-#include <__functional/unary_function.h>
-#include <typeinfo>
-#include <version>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/typeindex>
+#else
+# include <__config>
+# include <__functional/unary_function.h>
+# include <typeinfo>
+# include <version>
// standard-mandated includes
-#include <compare>
+# include <compare>
-#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
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -66,14 +69,14 @@ public:
_LIBCPP_HIDE_FROM_ABI type_index(const type_info& __y) _NOEXCEPT : __t_(&__y) {}
_LIBCPP_HIDE_FROM_ABI bool operator==(const type_index& __y) const _NOEXCEPT { return *__t_ == *__y.__t_; }
-#if _LIBCPP_STD_VER <= 17
+# if _LIBCPP_STD_VER <= 17
_LIBCPP_HIDE_FROM_ABI bool operator!=(const type_index& __y) const _NOEXCEPT { return *__t_ != *__y.__t_; }
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI bool operator<(const type_index& __y) const _NOEXCEPT { return __t_->before(*__y.__t_); }
_LIBCPP_HIDE_FROM_ABI bool operator<=(const type_index& __y) const _NOEXCEPT { return !__y.__t_->before(*__t_); }
_LIBCPP_HIDE_FROM_ABI bool operator>(const type_index& __y) const _NOEXCEPT { return __y.__t_->before(*__t_); }
_LIBCPP_HIDE_FROM_ABI bool operator>=(const type_index& __y) const _NOEXCEPT { return !__t_->before(*__y.__t_); }
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI strong_ordering operator<=>(const type_index& __y) const noexcept {
if (*__t_ == *__y.__t_)
return strong_ordering::equal;
@@ -81,7 +84,7 @@ public:
return strong_ordering::less;
return strong_ordering::greater;
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI size_t hash_code() const _NOEXCEPT { return __t_->hash_code(); }
_LIBCPP_HIDE_FROM_ABI const char* name() const _NOEXCEPT { return __t_->name(); }
@@ -97,11 +100,12 @@ struct _LIBCPP_TEMPLATE_VIS hash<type_index> : public __unary_function<type_inde
_LIBCPP_END_NAMESPACE_STD
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstddef>
-# include <iosfwd>
-# include <new>
-# include <utility>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstddef>
+# include <iosfwd>
+# include <new>
+# include <utility>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_TYPEINDEX
diff --git a/libcxx/include/typeinfo b/libcxx/include/typeinfo
index 28713077c688..799c6ebd5ecb 100644
--- a/libcxx/include/typeinfo
+++ b/libcxx/include/typeinfo
@@ -56,27 +56,30 @@ public:
*/
-#include <__config>
-#include <__cstddef/size_t.h>
-#include <__exception/exception.h>
-#include <__type_traits/integral_constant.h>
-#include <__type_traits/is_constant_evaluated.h>
-#include <__verbose_abort>
-#include <cstdint>
-#include <version>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#if defined(_LIBCPP_ABI_VCRUNTIME)
-# include <vcruntime_typeinfo.h>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/typeinfo>
#else
+# include <__config>
+# include <__cstddef/size_t.h>
+# include <__exception/exception.h>
+# include <__type_traits/integral_constant.h>
+# include <__type_traits/is_constant_evaluated.h>
+# include <__verbose_abort>
+# include <cstdint>
+# include <version>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+
+# if defined(_LIBCPP_ABI_VCRUNTIME)
+# include <vcruntime_typeinfo.h>
+# else
namespace std // purposefully not using versioning namespace
{
-# if defined(_LIBCPP_ABI_MICROSOFT)
+# if defined(_LIBCPP_ABI_MICROSOFT)
class _LIBCPP_EXPORTED_FROM_ABI type_info {
type_info& operator=(const type_info&);
@@ -107,12 +110,12 @@ public:
return __compare(__arg) == 0;
}
-# if _LIBCPP_STD_VER <= 17
+# if _LIBCPP_STD_VER <= 17
_LIBCPP_HIDE_FROM_ABI bool operator!=(const type_info& __arg) const _NOEXCEPT { return !operator==(__arg); }
-# endif
+# endif
};
-# else // !defined(_LIBCPP_ABI_MICROSOFT)
+# else // !defined(_LIBCPP_ABI_MICROSOFT)
// ========================================================================== //
// Implementations
@@ -167,21 +170,21 @@ public:
// This value can be overriden in the __config_site. When it's not overriden,
// we pick a default implementation based on the platform here.
-# ifndef _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION
+# ifndef _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION
// Windows and AIX binaries can't merge typeinfos, so use the NonUnique implementation.
-# if defined(_LIBCPP_OBJECT_FORMAT_COFF) || defined(_LIBCPP_OBJECT_FORMAT_XCOFF)
-# define _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION 2
+# if defined(_LIBCPP_OBJECT_FORMAT_COFF) || defined(_LIBCPP_OBJECT_FORMAT_XCOFF)
+# define _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION 2
// On arm64 on Apple platforms, use the special NonUniqueARMRTTIBit implementation.
-# elif defined(__APPLE__) && defined(__LP64__) && !defined(__x86_64__)
-# define _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION 3
+# elif defined(__APPLE__) && defined(__LP64__) && !defined(__x86_64__)
+# define _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION 3
// On all other platforms, assume the Itanium C++ ABI and use the Unique implementation.
-# else
-# define _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION 1
+# else
+# define _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION 1
+# endif
# endif
-# endif
struct __type_info_implementations {
struct __string_impl_base {
@@ -265,30 +268,30 @@ struct __type_info_implementations {
};
typedef
-# if _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION == 1
+# if _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION == 1
__unique_impl
-# elif _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION == 2
+# elif _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION == 2
__non_unique_impl
-# elif _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION == 3
+# elif _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION == 3
__non_unique_arm_rtti_bit_impl
-# else
-# error invalid configuration for _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION
-# endif
+# else
+# error invalid configuration for _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION
+# endif
__impl;
};
-# if __has_cpp_attribute(_Clang::__ptrauth_vtable_pointer__)
-# if __has_feature(ptrauth_type_info_vtable_pointer_discrimination)
-# define _LIBCPP_TYPE_INFO_VTABLE_POINTER_AUTH \
- [[_Clang::__ptrauth_vtable_pointer__(process_independent, address_discrimination, type_discrimination)]]
+# if __has_cpp_attribute(_Clang::__ptrauth_vtable_pointer__)
+# if __has_feature(ptrauth_type_info_vtable_pointer_discrimination)
+# define _LIBCPP_TYPE_INFO_VTABLE_POINTER_AUTH \
+ [[_Clang::__ptrauth_vtable_pointer__(process_independent, address_discrimination, type_discrimination)]]
+# else
+# define _LIBCPP_TYPE_INFO_VTABLE_POINTER_AUTH \
+ [[_Clang::__ptrauth_vtable_pointer__( \
+ process_independent, no_address_discrimination, no_extra_discrimination)]]
+# endif
# else
-# define _LIBCPP_TYPE_INFO_VTABLE_POINTER_AUTH \
- [[_Clang::__ptrauth_vtable_pointer__( \
- process_independent, no_address_discrimination, no_extra_discrimination)]]
+# define _LIBCPP_TYPE_INFO_VTABLE_POINTER_AUTH
# endif
-# else
-# define _LIBCPP_TYPE_INFO_VTABLE_POINTER_AUTH
-# endif
class _LIBCPP_EXPORTED_FROM_ABI _LIBCPP_TYPE_INFO_VTABLE_POINTER_AUTH type_info {
type_info& operator=(const type_info&);
@@ -321,11 +324,11 @@ public:
return __impl::__eq(__type_name, __arg.__type_name);
}
-# if _LIBCPP_STD_VER <= 17
+# if _LIBCPP_STD_VER <= 17
_LIBCPP_HIDE_FROM_ABI bool operator!=(const type_info& __arg) const _NOEXCEPT { return !operator==(__arg); }
-# endif
+# endif
};
-# endif // defined(_LIBCPP_ABI_MICROSOFT)
+# endif // defined(_LIBCPP_ABI_MICROSOFT)
class _LIBCPP_EXPORTED_FROM_ABI bad_cast : public exception {
public:
@@ -347,9 +350,9 @@ public:
} // namespace std
-#endif // defined(_LIBCPP_ABI_VCRUNTIME)
+# endif // defined(_LIBCPP_ABI_VCRUNTIME)
-#if defined(_LIBCPP_ABI_VCRUNTIME) && _HAS_EXCEPTIONS == 0
+# if defined(_LIBCPP_ABI_VCRUNTIME) && _HAS_EXCEPTIONS == 0
namespace std {
@@ -371,22 +374,23 @@ private:
} // namespace std
-#endif // defined(_LIBCPP_ABI_VCRUNTIME) && _HAS_EXCEPTIONS == 0
+# endif // defined(_LIBCPP_ABI_VCRUNTIME) && _HAS_EXCEPTIONS == 0
_LIBCPP_BEGIN_NAMESPACE_STD
[[__noreturn__]] inline _LIBCPP_HIDE_FROM_ABI void __throw_bad_cast() {
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
throw bad_cast();
-#else
+# else
_LIBCPP_VERBOSE_ABORT("bad_cast was thrown in -fno-exceptions mode");
-#endif
+# endif
}
_LIBCPP_END_NAMESPACE_STD
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstddef>
-# include <cstdlib>
-# include <type_traits>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstddef>
+# include <cstdlib>
+# include <type_traits>
+# endif
+#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 07b78611406d..01e1d57db745 100644
--- a/libcxx/include/uchar.h
+++ b/libcxx/include/uchar.h
@@ -32,25 +32,29 @@ size_t c32rtomb(char* s, char32_t c32, mbstate_t* ps);
*/
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/uchar.h>
+#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
-#if !defined(_LIBCPP_CXX03_LANG)
+# if !defined(_LIBCPP_CXX03_LANG)
// Some platforms don't implement <uchar.h> and we don't want to give a hard
// error on those platforms. When the platform doesn't provide <uchar.h>, at
// least include <stddef.h> so we get the declaration for size_t, and try to
// get the declaration of mbstate_t too.
-# if __has_include_next(<uchar.h>)
-# include_next <uchar.h>
-# else
-# include <__mbstate_t.h>
-# include <stddef.h>
-# endif
-
-#endif // _LIBCPP_CXX03_LANG
+# if __has_include_next(<uchar.h>)
+# include_next <uchar.h>
+# else
+# include <__mbstate_t.h>
+# include <stddef.h>
+# endif
+
+# endif // _LIBCPP_CXX03_LANG
+#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 05aa01a3b7c3..0ae413849177 100644
--- a/libcxx/include/unordered_map
+++ b/libcxx/include/unordered_map
@@ -583,60 +583,63 @@ template <class Key, class T, class Hash, class Pred, class Alloc>
*/
-#include <__algorithm/is_permutation.h>
-#include <__assert>
-#include <__config>
-#include <__functional/hash.h>
-#include <__functional/is_transparent.h>
-#include <__functional/operations.h>
-#include <__hash_table>
-#include <__iterator/distance.h>
-#include <__iterator/erase_if_container.h>
-#include <__iterator/iterator_traits.h>
-#include <__iterator/ranges_iterator_traits.h>
-#include <__memory/addressof.h>
-#include <__memory/allocator.h>
-#include <__memory/allocator_traits.h>
-#include <__memory/pointer_traits.h>
-#include <__memory/unique_ptr.h>
-#include <__memory_resource/polymorphic_allocator.h>
-#include <__node_handle>
-#include <__ranges/concepts.h>
-#include <__ranges/container_compatible_range.h>
-#include <__ranges/from_range.h>
-#include <__type_traits/container_traits.h>
-#include <__type_traits/enable_if.h>
-#include <__type_traits/invoke.h>
-#include <__type_traits/is_allocator.h>
-#include <__type_traits/is_integral.h>
-#include <__type_traits/remove_const.h>
-#include <__type_traits/type_identity.h>
-#include <__utility/forward.h>
-#include <__utility/pair.h>
-#include <new> // launder
-#include <stdexcept>
-#include <tuple>
-#include <version>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/unordered_map>
+#else
+# include <__algorithm/is_permutation.h>
+# include <__assert>
+# include <__config>
+# include <__functional/hash.h>
+# include <__functional/is_transparent.h>
+# include <__functional/operations.h>
+# include <__hash_table>
+# include <__iterator/distance.h>
+# include <__iterator/erase_if_container.h>
+# include <__iterator/iterator_traits.h>
+# include <__iterator/ranges_iterator_traits.h>
+# include <__memory/addressof.h>
+# include <__memory/allocator.h>
+# include <__memory/allocator_traits.h>
+# include <__memory/pointer_traits.h>
+# include <__memory/unique_ptr.h>
+# include <__memory_resource/polymorphic_allocator.h>
+# include <__new/launder.h>
+# include <__node_handle>
+# include <__ranges/concepts.h>
+# include <__ranges/container_compatible_range.h>
+# include <__ranges/from_range.h>
+# include <__type_traits/container_traits.h>
+# include <__type_traits/enable_if.h>
+# include <__type_traits/invoke.h>
+# include <__type_traits/is_allocator.h>
+# include <__type_traits/is_integral.h>
+# include <__type_traits/remove_const.h>
+# include <__type_traits/type_identity.h>
+# include <__utility/forward.h>
+# include <__utility/pair.h>
+# include <stdexcept>
+# include <tuple>
+# include <version>
// standard-mandated includes
// [iterator.range]
-#include <__iterator/access.h>
-#include <__iterator/data.h>
-#include <__iterator/empty.h>
-#include <__iterator/reverse_access.h>
-#include <__iterator/size.h>
+# include <__iterator/access.h>
+# include <__iterator/data.h>
+# include <__iterator/empty.h>
+# include <__iterator/reverse_access.h>
+# include <__iterator/size.h>
// [unord.map.syn]
-#include <compare>
-#include <initializer_list>
+# include <compare>
+# include <initializer_list>
-#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
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -655,12 +658,12 @@ public:
return static_cast<const _Hash&>(*this)(__x.__get_value().first);
}
_LIBCPP_HIDE_FROM_ABI size_t operator()(const _Key& __x) const { return static_cast<const _Hash&>(*this)(__x); }
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <typename _K2>
_LIBCPP_HIDE_FROM_ABI size_t operator()(const _K2& __x) const {
return static_cast<const _Hash&>(*this)(__x);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI void swap(__unordered_map_hasher& __y) _NOEXCEPT_(__is_nothrow_swappable_v<_Hash>) {
using std::swap;
swap(static_cast<_Hash&>(*this), static_cast<_Hash&>(__y));
@@ -679,12 +682,12 @@ public:
_LIBCPP_HIDE_FROM_ABI const _Hash& hash_function() const _NOEXCEPT { return __hash_; }
_LIBCPP_HIDE_FROM_ABI size_t operator()(const _Cp& __x) const { return __hash_(__x.__get_value().first); }
_LIBCPP_HIDE_FROM_ABI size_t operator()(const _Key& __x) const { return __hash_(__x); }
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <typename _K2>
_LIBCPP_HIDE_FROM_ABI size_t operator()(const _K2& __x) const {
return __hash_(__x);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI void swap(__unordered_map_hasher& __y) _NOEXCEPT_(__is_nothrow_swappable_v<_Hash>) {
using std::swap;
swap(__hash_, __y.__hash_);
@@ -718,7 +721,7 @@ public:
_LIBCPP_HIDE_FROM_ABI bool operator()(const _Key& __x, const _Cp& __y) const {
return static_cast<const _Pred&>(*this)(__x, __y.__get_value().first);
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <typename _K2>
_LIBCPP_HIDE_FROM_ABI bool operator()(const _Cp& __x, const _K2& __y) const {
return static_cast<const _Pred&>(*this)(__x.__get_value().first, __y);
@@ -735,7 +738,7 @@ public:
_LIBCPP_HIDE_FROM_ABI bool operator()(const _K2& __x, const _Key& __y) const {
return static_cast<const _Pred&>(*this)(__x, __y);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI void swap(__unordered_map_equal& __y) _NOEXCEPT_(__is_nothrow_swappable_v<_Pred>) {
using std::swap;
swap(static_cast<_Pred&>(*this), static_cast<_Pred&>(__y));
@@ -761,7 +764,7 @@ public:
_LIBCPP_HIDE_FROM_ABI bool operator()(const _Key& __x, const _Cp& __y) const {
return __pred_(__x, __y.__get_value().first);
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <typename _K2>
_LIBCPP_HIDE_FROM_ABI bool operator()(const _Cp& __x, const _K2& __y) const {
return __pred_(__x.__get_value().first, __y);
@@ -778,7 +781,7 @@ public:
_LIBCPP_HIDE_FROM_ABI bool operator()(const _K2& __x, const _Key& __y) const {
return __pred_(__x, __y);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI void swap(__unordered_map_equal& __y) _NOEXCEPT_(__is_nothrow_swappable_v<_Pred>) {
using std::swap;
swap(__pred_, __y.__pred_);
@@ -814,19 +817,19 @@ public:
__first_constructed(false),
__second_constructed(false) {}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI __hash_map_node_destructor(__hash_node_destructor<allocator_type>&& __x) _NOEXCEPT
: __na_(__x.__na_),
__first_constructed(__x.__value_constructed),
__second_constructed(__x.__value_constructed) {
__x.__value_constructed = false;
}
-#else // _LIBCPP_CXX03_LANG
+# else // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI __hash_map_node_destructor(const __hash_node_destructor<allocator_type>& __x)
: __na_(__x.__na_), __first_constructed(__x.__value_constructed), __second_constructed(__x.__value_constructed) {
const_cast<bool&>(__x.__value_constructed) = false;
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI void operator()(pointer __p) _NOEXCEPT {
if (__second_constructed)
@@ -838,7 +841,7 @@ public:
}
};
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Key, class _Tp>
struct _LIBCPP_STANDALONE_DEBUG __hash_value_type {
typedef _Key key_type;
@@ -852,19 +855,19 @@ private:
public:
_LIBCPP_HIDE_FROM_ABI value_type& __get_value() {
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
return *std::launder(std::addressof(__cc_));
-# else
+# else
return __cc_;
-# endif
+# endif
}
_LIBCPP_HIDE_FROM_ABI const value_type& __get_value() const {
-# if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
return *std::launder(std::addressof(__cc_));
-# else
+# else
return __cc_;
-# endif
+# endif
}
_LIBCPP_HIDE_FROM_ABI __nc_ref_pair_type __ref() {
@@ -901,7 +904,7 @@ public:
~__hash_value_type() = delete;
};
-#else
+# else
template <class _Key, class _Tp>
struct __hash_value_type {
@@ -919,7 +922,7 @@ public:
~__hash_value_type() = delete;
};
-#endif
+# endif
template <class _HashIterator>
class _LIBCPP_TEMPLATE_VIS __hash_map_iterator {
@@ -954,11 +957,11 @@ public:
friend _LIBCPP_HIDE_FROM_ABI bool operator==(const __hash_map_iterator& __x, const __hash_map_iterator& __y) {
return __x.__i_ == __y.__i_;
}
-#if _LIBCPP_STD_VER <= 17
+# if _LIBCPP_STD_VER <= 17
friend _LIBCPP_HIDE_FROM_ABI bool operator!=(const __hash_map_iterator& __x, const __hash_map_iterator& __y) {
return __x.__i_ != __y.__i_;
}
-#endif
+# endif
template <class, class, class, class, class>
friend class _LIBCPP_TEMPLATE_VIS unordered_map;
@@ -1009,12 +1012,12 @@ public:
operator==(const __hash_map_const_iterator& __x, const __hash_map_const_iterator& __y) {
return __x.__i_ == __y.__i_;
}
-#if _LIBCPP_STD_VER <= 17
+# if _LIBCPP_STD_VER <= 17
friend _LIBCPP_HIDE_FROM_ABI bool
operator!=(const __hash_map_const_iterator& __x, const __hash_map_const_iterator& __y) {
return __x.__i_ != __y.__i_;
}
-#endif
+# endif
template <class, class, class, class, class>
friend class _LIBCPP_TEMPLATE_VIS unordered_map;
@@ -1084,10 +1087,10 @@ public:
typedef __hash_map_iterator<typename __table::local_iterator> local_iterator;
typedef __hash_map_const_iterator<typename __table::const_local_iterator> const_local_iterator;
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
typedef __map_node_handle<__node, allocator_type> node_type;
typedef __insert_return_type<iterator, node_type> insert_return_type;
-#endif
+# endif
template <class _Key2, class _Tp2, class _Hash2, class _Pred2, class _Alloc2>
friend class _LIBCPP_TEMPLATE_VIS unordered_map;
@@ -1117,7 +1120,7 @@ public:
const key_equal& __eql,
const allocator_type& __a);
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<value_type> _Range>
_LIBCPP_HIDE_FROM_ABI unordered_map(
from_range_t,
@@ -1132,12 +1135,12 @@ public:
}
insert_range(std::forward<_Range>(__range));
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI explicit unordered_map(const allocator_type& __a);
_LIBCPP_HIDE_FROM_ABI unordered_map(const unordered_map& __u);
_LIBCPP_HIDE_FROM_ABI unordered_map(const unordered_map& __u, const allocator_type& __a);
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI unordered_map(unordered_map&& __u) _NOEXCEPT_(is_nothrow_move_constructible<__table>::value);
_LIBCPP_HIDE_FROM_ABI unordered_map(unordered_map&& __u, const allocator_type& __a);
_LIBCPP_HIDE_FROM_ABI unordered_map(initializer_list<value_type> __il);
@@ -1152,8 +1155,8 @@ public:
const hasher& __hf,
const key_equal& __eql,
const allocator_type& __a);
-#endif // _LIBCPP_CXX03_LANG
-#if _LIBCPP_STD_VER >= 14
+# endif // _LIBCPP_CXX03_LANG
+# if _LIBCPP_STD_VER >= 14
_LIBCPP_HIDE_FROM_ABI unordered_map(size_type __n, const allocator_type& __a)
: unordered_map(__n, hasher(), key_equal(), __a) {}
_LIBCPP_HIDE_FROM_ABI unordered_map(size_type __n, const hasher& __hf, const allocator_type& __a)
@@ -1167,7 +1170,7 @@ public:
_InputIterator __first, _InputIterator __last, size_type __n, const hasher& __hf, const allocator_type& __a)
: unordered_map(__first, __last, __n, __hf, key_equal(), __a) {}
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<value_type> _Range>
_LIBCPP_HIDE_FROM_ABI unordered_map(from_range_t, _Range&& __range, size_type __n, const allocator_type& __a)
: unordered_map(from_range, std::forward<_Range>(__range), __n, hasher(), key_equal(), __a) {}
@@ -1176,22 +1179,22 @@ public:
_LIBCPP_HIDE_FROM_ABI
unordered_map(from_range_t, _Range&& __range, size_type __n, const hasher& __hf, const allocator_type& __a)
: unordered_map(from_range, std::forward<_Range>(__range), __n, __hf, key_equal(), __a) {}
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI unordered_map(initializer_list<value_type> __il, size_type __n, const allocator_type& __a)
: unordered_map(__il, __n, hasher(), key_equal(), __a) {}
_LIBCPP_HIDE_FROM_ABI
unordered_map(initializer_list<value_type> __il, size_type __n, const hasher& __hf, const allocator_type& __a)
: unordered_map(__il, __n, __hf, key_equal(), __a) {}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI ~unordered_map() {
static_assert(sizeof(std::__diagnose_unordered_container_requirements<_Key, _Hash, _Pred>(0)), "");
}
_LIBCPP_HIDE_FROM_ABI unordered_map& operator=(const unordered_map& __u) {
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
__table_ = __u.__table_;
-#else
+# else
if (this != std::addressof(__u)) {
__table_.clear();
__table_.hash_function() = __u.__table_.hash_function();
@@ -1200,14 +1203,14 @@ public:
__table_.__copy_assign_alloc(__u.__table_);
insert(__u.begin(), __u.end());
}
-#endif
+# endif
return *this;
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI unordered_map& operator=(unordered_map&& __u)
_NOEXCEPT_(is_nothrow_move_assignable<__table>::value);
_LIBCPP_HIDE_FROM_ABI unordered_map& operator=(initializer_list<value_type> __il);
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI allocator_type get_allocator() const _NOEXCEPT {
return allocator_type(__table_.__node_alloc());
@@ -1231,16 +1234,16 @@ public:
template <class _InputIterator>
_LIBCPP_HIDE_FROM_ABI void insert(_InputIterator __first, _InputIterator __last);
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<value_type> _Range>
_LIBCPP_HIDE_FROM_ABI void insert_range(_Range&& __range) {
for (auto&& __element : __range) {
__table_.__insert_unique(std::forward<decltype(__element)>(__element));
}
}
-#endif
+# endif
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI void insert(initializer_list<value_type> __il) { insert(__il.begin(), __il.end()); }
_LIBCPP_HIDE_FROM_ABI pair<iterator, bool> insert(value_type&& __x) {
@@ -1271,9 +1274,9 @@ public:
return __table_.__emplace_unique(std::forward<_Args>(__args)...).first;
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class... _Args>
_LIBCPP_HIDE_FROM_ABI pair<iterator, bool> try_emplace(const key_type& __k, _Args&&... __args) {
return __table_.__emplace_unique_key_args(
@@ -1326,7 +1329,7 @@ public:
_LIBCPP_HIDE_FROM_ABI iterator insert_or_assign(const_iterator, key_type&& __k, _Vp&& __v) {
return insert_or_assign(std::move(__k), std::forward<_Vp>(__v)).first;
}
-#endif // _LIBCPP_STD_VER >= 17
+# endif // _LIBCPP_STD_VER >= 17
_LIBCPP_HIDE_FROM_ABI iterator erase(const_iterator __p) { return __table_.erase(__p.__i_); }
_LIBCPP_HIDE_FROM_ABI iterator erase(iterator __p) { return __table_.erase(__p.__i_); }
@@ -1336,7 +1339,7 @@ public:
}
_LIBCPP_HIDE_FROM_ABI void clear() _NOEXCEPT { __table_.clear(); }
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
_LIBCPP_HIDE_FROM_ABI insert_return_type insert(node_type&& __nh) {
_LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR(__nh.empty() || __nh.get_allocator() == get_allocator(),
"node_type with incompatible allocator passed to unordered_map::insert()");
@@ -1378,7 +1381,7 @@ public:
__source.get_allocator() == get_allocator(), "merging container with incompatible allocator");
return __table_.__node_handle_merge_unique(__source.__table_);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI void swap(unordered_map& __u) _NOEXCEPT_(__is_nothrow_swappable_v<__table>) {
__table_.swap(__u.__table_);
@@ -1389,7 +1392,7 @@ public:
_LIBCPP_HIDE_FROM_ABI iterator find(const key_type& __k) { return __table_.find(__k); }
_LIBCPP_HIDE_FROM_ABI const_iterator find(const key_type& __k) const { return __table_.find(__k); }
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _K2, enable_if_t<__is_transparent_v<hasher, _K2> && __is_transparent_v<key_equal, _K2>>* = nullptr>
_LIBCPP_HIDE_FROM_ABI iterator find(const _K2& __k) {
return __table_.find(__k);
@@ -1398,24 +1401,24 @@ public:
_LIBCPP_HIDE_FROM_ABI const_iterator find(const _K2& __k) const {
return __table_.find(__k);
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI size_type count(const key_type& __k) const { return __table_.__count_unique(__k); }
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _K2, enable_if_t<__is_transparent_v<hasher, _K2> && __is_transparent_v<key_equal, _K2>>* = nullptr>
_LIBCPP_HIDE_FROM_ABI size_type count(const _K2& __k) const {
return __table_.__count_unique(__k);
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI bool contains(const key_type& __k) const { return find(__k) != end(); }
template <class _K2, enable_if_t<__is_transparent_v<hasher, _K2> && __is_transparent_v<key_equal, _K2>>* = nullptr>
_LIBCPP_HIDE_FROM_ABI bool contains(const _K2& __k) const {
return find(__k) != end();
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI pair<iterator, iterator> equal_range(const key_type& __k) {
return __table_.__equal_range_unique(__k);
@@ -1423,7 +1426,7 @@ public:
_LIBCPP_HIDE_FROM_ABI pair<const_iterator, const_iterator> equal_range(const key_type& __k) const {
return __table_.__equal_range_unique(__k);
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _K2, enable_if_t<__is_transparent_v<hasher, _K2> && __is_transparent_v<key_equal, _K2>>* = nullptr>
_LIBCPP_HIDE_FROM_ABI pair<iterator, iterator> equal_range(const _K2& __k) {
return __table_.__equal_range_unique(__k);
@@ -1432,12 +1435,12 @@ public:
_LIBCPP_HIDE_FROM_ABI pair<const_iterator, const_iterator> equal_range(const _K2& __k) const {
return __table_.__equal_range_unique(__k);
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI mapped_type& operator[](const key_type& __k);
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI mapped_type& operator[](key_type&& __k);
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI mapped_type& at(const key_type& __k);
_LIBCPP_HIDE_FROM_ABI const mapped_type& at(const key_type& __k) const;
@@ -1462,12 +1465,12 @@ public:
_LIBCPP_HIDE_FROM_ABI void reserve(size_type __n) { __table_.__reserve_unique(__n); }
private:
-#ifdef _LIBCPP_CXX03_LANG
+# ifdef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI __node_holder __construct_node_with_key(const key_type& __k);
-#endif
+# endif
};
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _InputIterator,
class _Hash = hash<__iter_key_type<_InputIterator>>,
class _Pred = equal_to<__iter_key_type<_InputIterator>>,
@@ -1485,7 +1488,7 @@ unordered_map(_InputIterator,
_Allocator = _Allocator())
-> unordered_map<__iter_key_type<_InputIterator>, __iter_mapped_type<_InputIterator>, _Hash, _Pred, _Allocator>;
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <ranges::input_range _Range,
class _Hash = hash<__range_key_type<_Range>>,
class _Pred = equal_to<__range_key_type<_Range>>,
@@ -1501,7 +1504,7 @@ unordered_map(from_range_t,
_Pred = _Pred(),
_Allocator = _Allocator())
-> unordered_map<__range_key_type<_Range>, __range_mapped_type<_Range>, _Hash, _Pred, _Allocator>; // C++23
-# endif
+# endif
template <class _Key,
class _Tp,
@@ -1554,7 +1557,7 @@ unordered_map(_InputIterator, _InputIterator, typename allocator_traits<_Allocat
equal_to<__iter_key_type<_InputIterator>>,
_Allocator>;
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <ranges::input_range _Range, class _Allocator, class = enable_if_t<__is_allocator<_Allocator>::value>>
unordered_map(from_range_t, _Range&&, typename allocator_traits<_Allocator>::size_type, _Allocator)
@@ -1585,7 +1588,7 @@ unordered_map(from_range_t, _Range&&, typename allocator_traits<_Allocator>::siz
equal_to<__range_key_type<_Range>>,
_Allocator>;
-# endif
+# endif
template <class _Key, class _Tp, class _Allocator, class = enable_if_t<__is_allocator<_Allocator>::value>>
unordered_map(initializer_list<pair<_Key, _Tp>>, typename allocator_traits<_Allocator>::size_type, _Allocator)
@@ -1604,7 +1607,7 @@ template <class _Key,
class = enable_if_t<__is_allocator<_Allocator>::value>>
unordered_map(initializer_list<pair<_Key, _Tp>>, typename allocator_traits<_Allocator>::size_type, _Hash, _Allocator)
-> unordered_map<remove_const_t<_Key>, _Tp, _Hash, equal_to<remove_const_t<_Key>>, _Allocator>;
-#endif
+# endif
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(size_type __n, const hasher& __hf, const key_equal& __eql)
@@ -1665,7 +1668,7 @@ unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(const unordered_ma
insert(__u.begin(), __u.end());
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
inline unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(unordered_map&& __u)
@@ -1723,7 +1726,7 @@ unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator=(initializer_list<value
return *this;
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
template <class _InputIterator>
@@ -1732,7 +1735,7 @@ inline void unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::insert(_InputIterato
__table_.__insert_unique(*__first);
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
_Tp& unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator[](const key_type& __k) {
@@ -1750,7 +1753,7 @@ _Tp& unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator[](key_type&& __k)
.first->__get_value()
.second;
}
-#else // _LIBCPP_CXX03_LANG
+# else // _LIBCPP_CXX03_LANG
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
typename unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::__node_holder
@@ -1775,7 +1778,7 @@ _Tp& unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::operator[](const key_type&
return __r.first->second;
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
_Tp& unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::at(const key_type& __k) {
@@ -1800,13 +1803,13 @@ swap(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, unordered_map<_Key, _T
__x.swap(__y);
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc, class _Predicate>
inline _LIBCPP_HIDE_FROM_ABI typename unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::size_type
erase_if(unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __c, _Predicate __pred) {
return std::__libcpp_erase_if_container(__c, __pred);
}
-#endif
+# endif
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
_LIBCPP_HIDE_FROM_ABI bool operator==(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
@@ -1822,7 +1825,7 @@ _LIBCPP_HIDE_FROM_ABI bool operator==(const unordered_map<_Key, _Tp, _Hash, _Pre
return true;
}
-#if _LIBCPP_STD_VER <= 17
+# if _LIBCPP_STD_VER <= 17
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
@@ -1830,7 +1833,7 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const unordered_map<_Key, _Tp, _Has
return !(__x == __y);
}
-#endif
+# endif
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
struct __container_traits<unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc> > {
@@ -1893,9 +1896,9 @@ public:
typedef __hash_map_iterator<typename __table::local_iterator> local_iterator;
typedef __hash_map_const_iterator<typename __table::const_local_iterator> const_local_iterator;
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
typedef __map_node_handle<__node, allocator_type> node_type;
-#endif
+# endif
template <class _Key2, class _Tp2, class _Hash2, class _Pred2, class _Alloc2>
friend class _LIBCPP_TEMPLATE_VIS unordered_map;
@@ -1925,7 +1928,7 @@ public:
const key_equal& __eql,
const allocator_type& __a);
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<value_type> _Range>
_LIBCPP_HIDE_FROM_ABI unordered_multimap(
from_range_t,
@@ -1940,12 +1943,12 @@ public:
}
insert_range(std::forward<_Range>(__range));
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI explicit unordered_multimap(const allocator_type& __a);
_LIBCPP_HIDE_FROM_ABI unordered_multimap(const unordered_multimap& __u);
_LIBCPP_HIDE_FROM_ABI unordered_multimap(const unordered_multimap& __u, const allocator_type& __a);
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI unordered_multimap(unordered_multimap&& __u)
_NOEXCEPT_(is_nothrow_move_constructible<__table>::value);
_LIBCPP_HIDE_FROM_ABI unordered_multimap(unordered_multimap&& __u, const allocator_type& __a);
@@ -1961,8 +1964,8 @@ public:
const hasher& __hf,
const key_equal& __eql,
const allocator_type& __a);
-#endif // _LIBCPP_CXX03_LANG
-#if _LIBCPP_STD_VER >= 14
+# endif // _LIBCPP_CXX03_LANG
+# if _LIBCPP_STD_VER >= 14
_LIBCPP_HIDE_FROM_ABI unordered_multimap(size_type __n, const allocator_type& __a)
: unordered_multimap(__n, hasher(), key_equal(), __a) {}
_LIBCPP_HIDE_FROM_ABI unordered_multimap(size_type __n, const hasher& __hf, const allocator_type& __a)
@@ -1976,7 +1979,7 @@ public:
_InputIterator __first, _InputIterator __last, size_type __n, const hasher& __hf, const allocator_type& __a)
: unordered_multimap(__first, __last, __n, __hf, key_equal(), __a) {}
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<value_type> _Range>
_LIBCPP_HIDE_FROM_ABI unordered_multimap(from_range_t, _Range&& __range, size_type __n, const allocator_type& __a)
: unordered_multimap(from_range, std::forward<_Range>(__range), __n, hasher(), key_equal(), __a) {}
@@ -1985,22 +1988,22 @@ public:
_LIBCPP_HIDE_FROM_ABI
unordered_multimap(from_range_t, _Range&& __range, size_type __n, const hasher& __hf, const allocator_type& __a)
: unordered_multimap(from_range, std::forward<_Range>(__range), __n, __hf, key_equal(), __a) {}
-# endif
+# endif
_LIBCPP_HIDE_FROM_ABI unordered_multimap(initializer_list<value_type> __il, size_type __n, const allocator_type& __a)
: unordered_multimap(__il, __n, hasher(), key_equal(), __a) {}
_LIBCPP_HIDE_FROM_ABI
unordered_multimap(initializer_list<value_type> __il, size_type __n, const hasher& __hf, const allocator_type& __a)
: unordered_multimap(__il, __n, __hf, key_equal(), __a) {}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI ~unordered_multimap() {
static_assert(sizeof(std::__diagnose_unordered_container_requirements<_Key, _Hash, _Pred>(0)), "");
}
_LIBCPP_HIDE_FROM_ABI unordered_multimap& operator=(const unordered_multimap& __u) {
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
__table_ = __u.__table_;
-#else
+# else
if (this != std::addressof(__u)) {
__table_.clear();
__table_.hash_function() = __u.__table_.hash_function();
@@ -2009,14 +2012,14 @@ public:
__table_.__copy_assign_alloc(__u.__table_);
insert(__u.begin(), __u.end());
}
-#endif
+# endif
return *this;
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI unordered_multimap& operator=(unordered_multimap&& __u)
_NOEXCEPT_(is_nothrow_move_assignable<__table>::value);
_LIBCPP_HIDE_FROM_ABI unordered_multimap& operator=(initializer_list<value_type> __il);
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI allocator_type get_allocator() const _NOEXCEPT {
return allocator_type(__table_.__node_alloc());
@@ -2042,16 +2045,16 @@ public:
template <class _InputIterator>
_LIBCPP_HIDE_FROM_ABI void insert(_InputIterator __first, _InputIterator __last);
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<value_type> _Range>
_LIBCPP_HIDE_FROM_ABI void insert_range(_Range&& __range) {
for (auto&& __element : __range) {
__table_.__insert_multi(std::forward<decltype(__element)>(__element));
}
}
-#endif
+# endif
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI void insert(initializer_list<value_type> __il) { insert(__il.begin(), __il.end()); }
_LIBCPP_HIDE_FROM_ABI iterator insert(value_type&& __x) { return __table_.__insert_multi(std::move(__x)); }
@@ -2078,7 +2081,7 @@ public:
_LIBCPP_HIDE_FROM_ABI iterator emplace_hint(const_iterator __p, _Args&&... __args) {
return __table_.__emplace_hint_multi(__p.__i_, std::forward<_Args>(__args)...);
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI iterator erase(const_iterator __p) { return __table_.erase(__p.__i_); }
_LIBCPP_HIDE_FROM_ABI iterator erase(iterator __p) { return __table_.erase(__p.__i_); }
@@ -2088,7 +2091,7 @@ public:
}
_LIBCPP_HIDE_FROM_ABI void clear() _NOEXCEPT { __table_.clear(); }
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
_LIBCPP_HIDE_FROM_ABI iterator insert(node_type&& __nh) {
_LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR(__nh.empty() || __nh.get_allocator() == get_allocator(),
"node_type with incompatible allocator passed to unordered_multimap::insert()");
@@ -2130,7 +2133,7 @@ public:
__source.get_allocator() == get_allocator(), "merging container with incompatible allocator");
return __table_.__node_handle_merge_multi(__source.__table_);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI void swap(unordered_multimap& __u) _NOEXCEPT_(__is_nothrow_swappable_v<__table>) {
__table_.swap(__u.__table_);
@@ -2141,7 +2144,7 @@ public:
_LIBCPP_HIDE_FROM_ABI iterator find(const key_type& __k) { return __table_.find(__k); }
_LIBCPP_HIDE_FROM_ABI const_iterator find(const key_type& __k) const { return __table_.find(__k); }
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _K2, enable_if_t<__is_transparent_v<hasher, _K2> && __is_transparent_v<key_equal, _K2>>* = nullptr>
_LIBCPP_HIDE_FROM_ABI iterator find(const _K2& __k) {
return __table_.find(__k);
@@ -2150,24 +2153,24 @@ public:
_LIBCPP_HIDE_FROM_ABI const_iterator find(const _K2& __k) const {
return __table_.find(__k);
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI size_type count(const key_type& __k) const { return __table_.__count_multi(__k); }
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _K2, enable_if_t<__is_transparent_v<hasher, _K2> && __is_transparent_v<key_equal, _K2>>* = nullptr>
_LIBCPP_HIDE_FROM_ABI size_type count(const _K2& __k) const {
return __table_.__count_multi(__k);
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI bool contains(const key_type& __k) const { return find(__k) != end(); }
template <class _K2, enable_if_t<__is_transparent_v<hasher, _K2> && __is_transparent_v<key_equal, _K2>>* = nullptr>
_LIBCPP_HIDE_FROM_ABI bool contains(const _K2& __k) const {
return find(__k) != end();
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI pair<iterator, iterator> equal_range(const key_type& __k) {
return __table_.__equal_range_multi(__k);
@@ -2175,7 +2178,7 @@ public:
_LIBCPP_HIDE_FROM_ABI pair<const_iterator, const_iterator> equal_range(const key_type& __k) const {
return __table_.__equal_range_multi(__k);
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _K2, enable_if_t<__is_transparent_v<hasher, _K2> && __is_transparent_v<key_equal, _K2>>* = nullptr>
_LIBCPP_HIDE_FROM_ABI pair<iterator, iterator> equal_range(const _K2& __k) {
return __table_.__equal_range_multi(__k);
@@ -2184,7 +2187,7 @@ public:
_LIBCPP_HIDE_FROM_ABI pair<const_iterator, const_iterator> equal_range(const _K2& __k) const {
return __table_.__equal_range_multi(__k);
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI size_type bucket_count() const _NOEXCEPT { return __table_.bucket_count(); }
_LIBCPP_HIDE_FROM_ABI size_type max_bucket_count() const _NOEXCEPT { return __table_.max_bucket_count(); }
@@ -2206,7 +2209,7 @@ public:
_LIBCPP_HIDE_FROM_ABI void reserve(size_type __n) { __table_.__reserve_multi(__n); }
};
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _InputIterator,
class _Hash = hash<__iter_key_type<_InputIterator>>,
class _Pred = equal_to<__iter_key_type<_InputIterator>>,
@@ -2228,7 +2231,7 @@ unordered_multimap(_InputIterator,
_Pred,
_Allocator>;
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <ranges::input_range _Range,
class _Hash = hash<__range_key_type<_Range>>,
class _Pred = equal_to<__range_key_type<_Range>>,
@@ -2244,7 +2247,7 @@ unordered_multimap(from_range_t,
_Pred = _Pred(),
_Allocator = _Allocator())
-> unordered_multimap<__range_key_type<_Range>, __range_mapped_type<_Range>, _Hash, _Pred, _Allocator>;
-# endif
+# endif
template <class _Key,
class _Tp,
@@ -2298,7 +2301,7 @@ unordered_multimap(_InputIterator, _InputIterator, typename allocator_traits<_Al
equal_to<__iter_key_type<_InputIterator>>,
_Allocator>;
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <ranges::input_range _Range, class _Allocator, class = enable_if_t<__is_allocator<_Allocator>::value>>
unordered_multimap(from_range_t, _Range&&, typename allocator_traits<_Allocator>::size_type, _Allocator)
@@ -2329,7 +2332,7 @@ unordered_multimap(from_range_t, _Range&&, typename allocator_traits<_Allocator>
equal_to<__range_key_type<_Range>>,
_Allocator>;
-# endif
+# endif
template <class _Key, class _Tp, class _Allocator, class = enable_if_t<__is_allocator<_Allocator>::value>>
unordered_multimap(initializer_list<pair<_Key, _Tp>>, typename allocator_traits<_Allocator>::size_type, _Allocator)
@@ -2357,7 +2360,7 @@ template <class _Key,
unordered_multimap(
initializer_list<pair<_Key, _Tp>>, typename allocator_traits<_Allocator>::size_type, _Hash, _Allocator)
-> unordered_multimap<remove_const_t<_Key>, _Tp, _Hash, equal_to<remove_const_t<_Key>>, _Allocator>;
-#endif
+# endif
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
@@ -2421,7 +2424,7 @@ unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(
insert(__u.begin(), __u.end());
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
inline unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_multimap(unordered_multimap&& __u)
@@ -2480,7 +2483,7 @@ unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::operator=(initializer_list<
return *this;
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
template <class _InputIterator>
@@ -2496,13 +2499,13 @@ swap(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x, unordered_multima
__x.swap(__y);
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc, class _Predicate>
inline _LIBCPP_HIDE_FROM_ABI typename unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>::size_type
erase_if(unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __c, _Predicate __pred) {
return std::__libcpp_erase_if_container(__c, __pred);
}
-#endif
+# endif
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
_LIBCPP_HIDE_FROM_ABI bool operator==(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
@@ -2522,7 +2525,7 @@ _LIBCPP_HIDE_FROM_ABI bool operator==(const unordered_multimap<_Key, _Tp, _Hash,
return true;
}
-#if _LIBCPP_STD_VER <= 17
+# if _LIBCPP_STD_VER <= 17
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
@@ -2530,7 +2533,7 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const unordered_multimap<_Key, _Tp,
return !(__x == __y);
}
-#endif
+# endif
template <class _Key, class _Tp, class _Hash, class _Pred, class _Alloc>
struct __container_traits<unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc> > {
@@ -2544,7 +2547,7 @@ struct __container_traits<unordered_multimap<_Key, _Tp, _Hash, _Pred, _Alloc> >
_LIBCPP_END_NAMESPACE_STD
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
_LIBCPP_BEGIN_NAMESPACE_STD
namespace pmr {
template <class _KeyT, class _ValueT, class _HashT = std::hash<_KeyT>, class _PredT = std::equal_to<_KeyT>>
@@ -2556,18 +2559,19 @@ using unordered_multimap _LIBCPP_AVAILABILITY_PMR =
std::unordered_multimap<_KeyT, _ValueT, _HashT, _PredT, polymorphic_allocator<std::pair<const _KeyT, _ValueT>>>;
} // namespace pmr
_LIBCPP_END_NAMESPACE_STD
-#endif
+# endif
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <algorithm>
-# include <bit>
-# include <cmath>
-# include <concepts>
-# include <cstdlib>
-# include <iterator>
-# include <type_traits>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <algorithm>
+# include <bit>
+# include <cmath>
+# include <concepts>
+# include <cstdlib>
+# include <iterator>
+# include <type_traits>
+# endif
+#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 7ab1c651b8c9..87f0a9f438ef 100644
--- a/libcxx/include/unordered_set
+++ b/libcxx/include/unordered_set
@@ -531,59 +531,62 @@ template <class Value, class Hash, class Pred, class Alloc>
// clang-format on
-#include <__algorithm/is_permutation.h>
-#include <__assert>
-#include <__config>
-#include <__functional/hash.h>
-#include <__functional/is_transparent.h>
-#include <__functional/operations.h>
-#include <__hash_table>
-#include <__iterator/distance.h>
-#include <__iterator/erase_if_container.h>
-#include <__iterator/iterator_traits.h>
-#include <__iterator/ranges_iterator_traits.h>
-#include <__memory/addressof.h>
-#include <__memory/allocator.h>
-#include <__memory/allocator_traits.h>
-#include <__memory_resource/polymorphic_allocator.h>
-#include <__node_handle>
-#include <__ranges/concepts.h>
-#include <__ranges/container_compatible_range.h>
-#include <__ranges/from_range.h>
-#include <__type_traits/container_traits.h>
-#include <__type_traits/enable_if.h>
-#include <__type_traits/invoke.h>
-#include <__type_traits/is_allocator.h>
-#include <__type_traits/is_integral.h>
-#include <__type_traits/is_nothrow_assignable.h>
-#include <__type_traits/is_nothrow_constructible.h>
-#include <__type_traits/is_same.h>
-#include <__type_traits/is_swappable.h>
-#include <__type_traits/type_identity.h>
-#include <__utility/forward.h>
-#include <__utility/move.h>
-#include <__utility/pair.h>
-#include <version>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/unordered_set>
+#else
+# include <__algorithm/is_permutation.h>
+# include <__assert>
+# include <__config>
+# include <__functional/hash.h>
+# include <__functional/is_transparent.h>
+# include <__functional/operations.h>
+# include <__hash_table>
+# include <__iterator/distance.h>
+# include <__iterator/erase_if_container.h>
+# include <__iterator/iterator_traits.h>
+# include <__iterator/ranges_iterator_traits.h>
+# include <__memory/addressof.h>
+# include <__memory/allocator.h>
+# include <__memory/allocator_traits.h>
+# include <__memory_resource/polymorphic_allocator.h>
+# include <__node_handle>
+# include <__ranges/concepts.h>
+# include <__ranges/container_compatible_range.h>
+# include <__ranges/from_range.h>
+# include <__type_traits/container_traits.h>
+# include <__type_traits/enable_if.h>
+# include <__type_traits/invoke.h>
+# include <__type_traits/is_allocator.h>
+# include <__type_traits/is_integral.h>
+# include <__type_traits/is_nothrow_assignable.h>
+# include <__type_traits/is_nothrow_constructible.h>
+# include <__type_traits/is_same.h>
+# include <__type_traits/is_swappable.h>
+# include <__type_traits/type_identity.h>
+# include <__utility/forward.h>
+# include <__utility/move.h>
+# include <__utility/pair.h>
+# include <version>
// standard-mandated includes
// [iterator.range]
-#include <__iterator/access.h>
-#include <__iterator/data.h>
-#include <__iterator/empty.h>
-#include <__iterator/reverse_access.h>
-#include <__iterator/size.h>
+# include <__iterator/access.h>
+# include <__iterator/data.h>
+# include <__iterator/empty.h>
+# include <__iterator/reverse_access.h>
+# include <__iterator/size.h>
// [unord.set.syn]
-#include <compare>
-#include <initializer_list>
+# include <compare>
+# include <initializer_list>
-#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
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -621,10 +624,10 @@ public:
typedef typename __table::const_local_iterator local_iterator;
typedef typename __table::const_local_iterator const_local_iterator;
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
typedef __set_node_handle<typename __table::__node, allocator_type> node_type;
typedef __insert_return_type<iterator, node_type> insert_return_type;
-#endif
+# endif
template <class _Value2, class _Hash2, class _Pred2, class _Alloc2>
friend class _LIBCPP_TEMPLATE_VIS unordered_set;
@@ -634,12 +637,12 @@ public:
_LIBCPP_HIDE_FROM_ABI unordered_set() _NOEXCEPT_(is_nothrow_default_constructible<__table>::value) {}
explicit _LIBCPP_HIDE_FROM_ABI
unordered_set(size_type __n, const hasher& __hf = hasher(), const key_equal& __eql = key_equal());
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
inline _LIBCPP_HIDE_FROM_ABI unordered_set(size_type __n, const allocator_type& __a)
: unordered_set(__n, hasher(), key_equal(), __a) {}
inline _LIBCPP_HIDE_FROM_ABI unordered_set(size_type __n, const hasher& __hf, const allocator_type& __a)
: unordered_set(__n, __hf, key_equal(), __a) {}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI
unordered_set(size_type __n, const hasher& __hf, const key_equal& __eql, const allocator_type& __a);
template <class _InputIterator>
@@ -660,7 +663,7 @@ public:
const key_equal& __eql,
const allocator_type& __a);
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<value_type> _Range>
_LIBCPP_HIDE_FROM_ABI unordered_set(
from_range_t,
@@ -675,9 +678,9 @@ public:
}
insert_range(std::forward<_Range>(__range));
}
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <class _InputIterator>
inline _LIBCPP_HIDE_FROM_ABI
unordered_set(_InputIterator __first, _InputIterator __last, size_type __n, const allocator_type& __a)
@@ -686,9 +689,9 @@ public:
_LIBCPP_HIDE_FROM_ABI unordered_set(
_InputIterator __first, _InputIterator __last, size_type __n, const hasher& __hf, const allocator_type& __a)
: unordered_set(__first, __last, __n, __hf, key_equal(), __a) {}
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<value_type> _Range>
_LIBCPP_HIDE_FROM_ABI unordered_set(from_range_t, _Range&& __range, size_type __n, const allocator_type& __a)
: unordered_set(from_range, std::forward<_Range>(__range), __n, hasher(), key_equal(), __a) {}
@@ -697,12 +700,12 @@ public:
_LIBCPP_HIDE_FROM_ABI
unordered_set(from_range_t, _Range&& __range, size_type __n, const hasher& __hf, const allocator_type& __a)
: unordered_set(from_range, std::forward<_Range>(__range), __n, __hf, key_equal(), __a) {}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI explicit unordered_set(const allocator_type& __a);
_LIBCPP_HIDE_FROM_ABI unordered_set(const unordered_set& __u);
_LIBCPP_HIDE_FROM_ABI unordered_set(const unordered_set& __u, const allocator_type& __a);
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI unordered_set(unordered_set&& __u) _NOEXCEPT_(is_nothrow_move_constructible<__table>::value);
_LIBCPP_HIDE_FROM_ABI unordered_set(unordered_set&& __u, const allocator_type& __a);
_LIBCPP_HIDE_FROM_ABI unordered_set(initializer_list<value_type> __il);
@@ -717,15 +720,15 @@ public:
const hasher& __hf,
const key_equal& __eql,
const allocator_type& __a);
-# if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
inline _LIBCPP_HIDE_FROM_ABI
unordered_set(initializer_list<value_type> __il, size_type __n, const allocator_type& __a)
: unordered_set(__il, __n, hasher(), key_equal(), __a) {}
inline _LIBCPP_HIDE_FROM_ABI
unordered_set(initializer_list<value_type> __il, size_type __n, const hasher& __hf, const allocator_type& __a)
: unordered_set(__il, __n, __hf, key_equal(), __a) {}
-# endif
-#endif // _LIBCPP_CXX03_LANG
+# endif
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI ~unordered_set() {
static_assert(sizeof(std::__diagnose_unordered_container_requirements<_Value, _Hash, _Pred>(0)), "");
}
@@ -734,11 +737,11 @@ public:
__table_ = __u.__table_;
return *this;
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI unordered_set& operator=(unordered_set&& __u)
_NOEXCEPT_(is_nothrow_move_assignable<__table>::value);
_LIBCPP_HIDE_FROM_ABI unordered_set& operator=(initializer_list<value_type> __il);
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI allocator_type get_allocator() const _NOEXCEPT {
return allocator_type(__table_.__node_alloc());
@@ -755,7 +758,7 @@ public:
_LIBCPP_HIDE_FROM_ABI const_iterator cbegin() const _NOEXCEPT { return __table_.begin(); }
_LIBCPP_HIDE_FROM_ABI const_iterator cend() const _NOEXCEPT { return __table_.end(); }
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class... _Args>
_LIBCPP_HIDE_FROM_ABI pair<iterator, bool> emplace(_Args&&... __args) {
return __table_.__emplace_unique(std::forward<_Args>(__args)...);
@@ -771,21 +774,21 @@ public:
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator, value_type&& __x) { return insert(std::move(__x)).first; }
_LIBCPP_HIDE_FROM_ABI void insert(initializer_list<value_type> __il) { insert(__il.begin(), __il.end()); }
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI pair<iterator, bool> insert(const value_type& __x) { return __table_.__insert_unique(__x); }
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator, const value_type& __x) { return insert(__x).first; }
template <class _InputIterator>
_LIBCPP_HIDE_FROM_ABI void insert(_InputIterator __first, _InputIterator __last);
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<value_type> _Range>
_LIBCPP_HIDE_FROM_ABI void insert_range(_Range&& __range) {
for (auto&& __element : __range) {
__table_.__insert_unique(std::forward<decltype(__element)>(__element));
}
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI iterator erase(const_iterator __p) { return __table_.erase(__p); }
_LIBCPP_HIDE_FROM_ABI size_type erase(const key_type& __k) { return __table_.__erase_unique(__k); }
@@ -794,7 +797,7 @@ public:
}
_LIBCPP_HIDE_FROM_ABI void clear() _NOEXCEPT { __table_.clear(); }
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
_LIBCPP_HIDE_FROM_ABI insert_return_type insert(node_type&& __nh) {
_LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR(__nh.empty() || __nh.get_allocator() == get_allocator(),
"node_type with incompatible allocator passed to unordered_set::insert()");
@@ -836,7 +839,7 @@ public:
__source.get_allocator() == get_allocator(), "merging container with incompatible allocator");
__table_.__node_handle_merge_unique(__source.__table_);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI void swap(unordered_set& __u) _NOEXCEPT_(__is_nothrow_swappable_v<__table>) {
__table_.swap(__u.__table_);
@@ -847,7 +850,7 @@ public:
_LIBCPP_HIDE_FROM_ABI iterator find(const key_type& __k) { return __table_.find(__k); }
_LIBCPP_HIDE_FROM_ABI const_iterator find(const key_type& __k) const { return __table_.find(__k); }
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _K2, enable_if_t<__is_transparent_v<hasher, _K2> && __is_transparent_v<key_equal, _K2>>* = nullptr>
_LIBCPP_HIDE_FROM_ABI iterator find(const _K2& __k) {
return __table_.find(__k);
@@ -856,24 +859,24 @@ public:
_LIBCPP_HIDE_FROM_ABI const_iterator find(const _K2& __k) const {
return __table_.find(__k);
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI size_type count(const key_type& __k) const { return __table_.__count_unique(__k); }
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _K2, enable_if_t<__is_transparent_v<hasher, _K2> && __is_transparent_v<key_equal, _K2>>* = nullptr>
_LIBCPP_HIDE_FROM_ABI size_type count(const _K2& __k) const {
return __table_.__count_unique(__k);
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI bool contains(const key_type& __k) const { return find(__k) != end(); }
template <class _K2, enable_if_t<__is_transparent_v<hasher, _K2> && __is_transparent_v<key_equal, _K2>>* = nullptr>
_LIBCPP_HIDE_FROM_ABI bool contains(const _K2& __k) const {
return find(__k) != end();
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI pair<iterator, iterator> equal_range(const key_type& __k) {
return __table_.__equal_range_unique(__k);
@@ -881,7 +884,7 @@ public:
_LIBCPP_HIDE_FROM_ABI pair<const_iterator, const_iterator> equal_range(const key_type& __k) const {
return __table_.__equal_range_unique(__k);
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _K2, enable_if_t<__is_transparent_v<hasher, _K2> && __is_transparent_v<key_equal, _K2>>* = nullptr>
_LIBCPP_HIDE_FROM_ABI pair<iterator, iterator> equal_range(const _K2& __k) {
return __table_.__equal_range_unique(__k);
@@ -890,7 +893,7 @@ public:
_LIBCPP_HIDE_FROM_ABI pair<const_iterator, const_iterator> equal_range(const _K2& __k) const {
return __table_.__equal_range_unique(__k);
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI size_type bucket_count() const _NOEXCEPT { return __table_.bucket_count(); }
_LIBCPP_HIDE_FROM_ABI size_type max_bucket_count() const _NOEXCEPT { return __table_.max_bucket_count(); }
@@ -912,7 +915,7 @@ public:
_LIBCPP_HIDE_FROM_ABI void reserve(size_type __n) { __table_.__reserve_unique(__n); }
};
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _InputIterator,
class _Hash = hash<__iter_value_type<_InputIterator>>,
class _Pred = equal_to<__iter_value_type<_InputIterator>>,
@@ -929,7 +932,7 @@ unordered_set(_InputIterator,
_Pred = _Pred(),
_Allocator = _Allocator()) -> unordered_set<__iter_value_type<_InputIterator>, _Hash, _Pred, _Allocator>;
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <ranges::input_range _Range,
class _Hash = hash<ranges::range_value_t<_Range>>,
class _Pred = equal_to<ranges::range_value_t<_Range>>,
@@ -945,7 +948,7 @@ unordered_set(
_Hash = _Hash(),
_Pred = _Pred(),
_Allocator = _Allocator()) -> unordered_set<ranges::range_value_t<_Range>, _Hash, _Pred, _Allocator>; // C++23
-# endif
+# endif
template <class _Tp,
class _Hash = hash<_Tp>,
@@ -981,7 +984,7 @@ template <class _InputIterator,
unordered_set(_InputIterator, _InputIterator, typename allocator_traits<_Allocator>::size_type, _Hash, _Allocator)
-> unordered_set<__iter_value_type<_InputIterator>, _Hash, equal_to<__iter_value_type<_InputIterator>>, _Allocator>;
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <ranges::input_range _Range, class _Allocator, class = enable_if_t<__is_allocator<_Allocator>::value>>
unordered_set(from_range_t, _Range&&, typename allocator_traits<_Allocator>::size_type, _Allocator)
@@ -1006,7 +1009,7 @@ template <ranges::input_range _Range,
unordered_set(from_range_t, _Range&&, typename allocator_traits<_Allocator>::size_type, _Hash, _Allocator)
-> unordered_set<ranges::range_value_t<_Range>, _Hash, equal_to<ranges::range_value_t<_Range>>, _Allocator>;
-# endif
+# endif
template <class _Tp, class _Allocator, class = enable_if_t<__is_allocator<_Allocator>::value>>
unordered_set(initializer_list<_Tp>, typename allocator_traits<_Allocator>::size_type, _Allocator)
@@ -1020,7 +1023,7 @@ template <class _Tp,
class = enable_if_t<__is_allocator<_Allocator>::value>>
unordered_set(initializer_list<_Tp>, typename allocator_traits<_Allocator>::size_type, _Hash, _Allocator)
-> unordered_set<_Tp, _Hash, equal_to<_Tp>, _Allocator>;
-#endif
+# endif
template <class _Value, class _Hash, class _Pred, class _Alloc>
unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(size_type __n, const hasher& __hf, const key_equal& __eql)
@@ -1080,7 +1083,7 @@ unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(const unordered_set&
insert(__u.begin(), __u.end());
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Value, class _Hash, class _Pred, class _Alloc>
inline unordered_set<_Value, _Hash, _Pred, _Alloc>::unordered_set(unordered_set&& __u)
@@ -1137,7 +1140,7 @@ unordered_set<_Value, _Hash, _Pred, _Alloc>::operator=(initializer_list<value_ty
return *this;
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Value, class _Hash, class _Pred, class _Alloc>
template <class _InputIterator>
@@ -1153,13 +1156,13 @@ swap(unordered_set<_Value, _Hash, _Pred, _Alloc>& __x, unordered_set<_Value, _Ha
__x.swap(__y);
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _Value, class _Hash, class _Pred, class _Alloc, class _Predicate>
inline _LIBCPP_HIDE_FROM_ABI typename unordered_set<_Value, _Hash, _Pred, _Alloc>::size_type
erase_if(unordered_set<_Value, _Hash, _Pred, _Alloc>& __c, _Predicate __pred) {
return std::__libcpp_erase_if_container(__c, __pred);
}
-#endif
+# endif
template <class _Value, class _Hash, class _Pred, class _Alloc>
_LIBCPP_HIDE_FROM_ABI bool operator==(const unordered_set<_Value, _Hash, _Pred, _Alloc>& __x,
@@ -1175,7 +1178,7 @@ _LIBCPP_HIDE_FROM_ABI bool operator==(const unordered_set<_Value, _Hash, _Pred,
return true;
}
-#if _LIBCPP_STD_VER <= 17
+# if _LIBCPP_STD_VER <= 17
template <class _Value, class _Hash, class _Pred, class _Alloc>
inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const unordered_set<_Value, _Hash, _Pred, _Alloc>& __x,
@@ -1183,7 +1186,7 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const unordered_set<_Value, _Hash,
return !(__x == __y);
}
-#endif
+# endif
template <class _Value, class _Hash, class _Pred, class _Alloc>
struct __container_traits<unordered_set<_Value, _Hash, _Pred, _Alloc> > {
@@ -1225,9 +1228,9 @@ public:
typedef typename __table::const_local_iterator local_iterator;
typedef typename __table::const_local_iterator const_local_iterator;
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
typedef __set_node_handle<typename __table::__node, allocator_type> node_type;
-#endif
+# endif
template <class _Value2, class _Hash2, class _Pred2, class _Alloc2>
friend class _LIBCPP_TEMPLATE_VIS unordered_set;
@@ -1239,12 +1242,12 @@ public:
unordered_multiset(size_type __n, const hasher& __hf = hasher(), const key_equal& __eql = key_equal());
_LIBCPP_HIDE_FROM_ABI
unordered_multiset(size_type __n, const hasher& __hf, const key_equal& __eql, const allocator_type& __a);
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
inline _LIBCPP_HIDE_FROM_ABI unordered_multiset(size_type __n, const allocator_type& __a)
: unordered_multiset(__n, hasher(), key_equal(), __a) {}
inline _LIBCPP_HIDE_FROM_ABI unordered_multiset(size_type __n, const hasher& __hf, const allocator_type& __a)
: unordered_multiset(__n, __hf, key_equal(), __a) {}
-#endif
+# endif
template <class _InputIterator>
_LIBCPP_HIDE_FROM_ABI unordered_multiset(_InputIterator __first, _InputIterator __last);
template <class _InputIterator>
@@ -1263,7 +1266,7 @@ public:
const key_equal& __eql,
const allocator_type& __a);
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<value_type> _Range>
_LIBCPP_HIDE_FROM_ABI unordered_multiset(
from_range_t,
@@ -1278,9 +1281,9 @@ public:
}
insert_range(std::forward<_Range>(__range));
}
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
template <class _InputIterator>
inline _LIBCPP_HIDE_FROM_ABI
unordered_multiset(_InputIterator __first, _InputIterator __last, size_type __n, const allocator_type& __a)
@@ -1289,9 +1292,9 @@ public:
inline _LIBCPP_HIDE_FROM_ABI unordered_multiset(
_InputIterator __first, _InputIterator __last, size_type __n, const hasher& __hf, const allocator_type& __a)
: unordered_multiset(__first, __last, __n, __hf, key_equal(), __a) {}
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<value_type> _Range>
_LIBCPP_HIDE_FROM_ABI unordered_multiset(from_range_t, _Range&& __range, size_type __n, const allocator_type& __a)
: unordered_multiset(from_range, std::forward<_Range>(__range), __n, hasher(), key_equal(), __a) {}
@@ -1300,12 +1303,12 @@ public:
_LIBCPP_HIDE_FROM_ABI
unordered_multiset(from_range_t, _Range&& __range, size_type __n, const hasher& __hf, const allocator_type& __a)
: unordered_multiset(from_range, std::forward<_Range>(__range), __n, __hf, key_equal(), __a) {}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI explicit unordered_multiset(const allocator_type& __a);
_LIBCPP_HIDE_FROM_ABI unordered_multiset(const unordered_multiset& __u);
_LIBCPP_HIDE_FROM_ABI unordered_multiset(const unordered_multiset& __u, const allocator_type& __a);
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI unordered_multiset(unordered_multiset&& __u)
_NOEXCEPT_(is_nothrow_move_constructible<__table>::value);
_LIBCPP_HIDE_FROM_ABI unordered_multiset(unordered_multiset&& __u, const allocator_type& __a);
@@ -1321,15 +1324,15 @@ public:
const hasher& __hf,
const key_equal& __eql,
const allocator_type& __a);
-# if _LIBCPP_STD_VER >= 14
+# if _LIBCPP_STD_VER >= 14
inline _LIBCPP_HIDE_FROM_ABI
unordered_multiset(initializer_list<value_type> __il, size_type __n, const allocator_type& __a)
: unordered_multiset(__il, __n, hasher(), key_equal(), __a) {}
inline _LIBCPP_HIDE_FROM_ABI
unordered_multiset(initializer_list<value_type> __il, size_type __n, const hasher& __hf, const allocator_type& __a)
: unordered_multiset(__il, __n, __hf, key_equal(), __a) {}
-# endif
-#endif // _LIBCPP_CXX03_LANG
+# endif
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI ~unordered_multiset() {
static_assert(sizeof(std::__diagnose_unordered_container_requirements<_Value, _Hash, _Pred>(0)), "");
}
@@ -1338,11 +1341,11 @@ public:
__table_ = __u.__table_;
return *this;
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI unordered_multiset& operator=(unordered_multiset&& __u)
_NOEXCEPT_(is_nothrow_move_assignable<__table>::value);
_LIBCPP_HIDE_FROM_ABI unordered_multiset& operator=(initializer_list<value_type> __il);
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI allocator_type get_allocator() const _NOEXCEPT {
return allocator_type(__table_.__node_alloc());
@@ -1359,7 +1362,7 @@ public:
_LIBCPP_HIDE_FROM_ABI const_iterator cbegin() const _NOEXCEPT { return __table_.begin(); }
_LIBCPP_HIDE_FROM_ABI const_iterator cend() const _NOEXCEPT { return __table_.end(); }
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class... _Args>
_LIBCPP_HIDE_FROM_ABI iterator emplace(_Args&&... __args) {
return __table_.__emplace_multi(std::forward<_Args>(__args)...);
@@ -1374,7 +1377,7 @@ public:
return __table_.__insert_multi(__p, std::move(__x));
}
_LIBCPP_HIDE_FROM_ABI void insert(initializer_list<value_type> __il) { insert(__il.begin(), __il.end()); }
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI iterator insert(const value_type& __x) { return __table_.__insert_multi(__x); }
@@ -1385,16 +1388,16 @@ public:
template <class _InputIterator>
_LIBCPP_HIDE_FROM_ABI void insert(_InputIterator __first, _InputIterator __last);
-#if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <_ContainerCompatibleRange<value_type> _Range>
_LIBCPP_HIDE_FROM_ABI void insert_range(_Range&& __range) {
for (auto&& __element : __range) {
__table_.__insert_multi(std::forward<decltype(__element)>(__element));
}
}
-#endif
+# endif
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
_LIBCPP_HIDE_FROM_ABI iterator insert(node_type&& __nh) {
_LIBCPP_ASSERT_COMPATIBLE_ALLOCATOR(__nh.empty() || __nh.get_allocator() == get_allocator(),
"node_type with incompatible allocator passed to unordered_multiset::insert()");
@@ -1436,7 +1439,7 @@ public:
__source.get_allocator() == get_allocator(), "merging container with incompatible allocator");
return __table_.__node_handle_merge_multi(__source.__table_);
}
-#endif
+# endif
_LIBCPP_HIDE_FROM_ABI iterator erase(const_iterator __p) { return __table_.erase(__p); }
_LIBCPP_HIDE_FROM_ABI size_type erase(const key_type& __k) { return __table_.__erase_multi(__k); }
@@ -1454,7 +1457,7 @@ public:
_LIBCPP_HIDE_FROM_ABI iterator find(const key_type& __k) { return __table_.find(__k); }
_LIBCPP_HIDE_FROM_ABI const_iterator find(const key_type& __k) const { return __table_.find(__k); }
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _K2, enable_if_t<__is_transparent_v<hasher, _K2> && __is_transparent_v<key_equal, _K2>>* = nullptr>
_LIBCPP_HIDE_FROM_ABI iterator find(const _K2& __k) {
return __table_.find(__k);
@@ -1463,24 +1466,24 @@ public:
_LIBCPP_HIDE_FROM_ABI const_iterator find(const _K2& __k) const {
return __table_.find(__k);
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI size_type count(const key_type& __k) const { return __table_.__count_multi(__k); }
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _K2, enable_if_t<__is_transparent_v<hasher, _K2> && __is_transparent_v<key_equal, _K2>>* = nullptr>
_LIBCPP_HIDE_FROM_ABI size_type count(const _K2& __k) const {
return __table_.__count_multi(__k);
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI bool contains(const key_type& __k) const { return find(__k) != end(); }
template <class _K2, enable_if_t<__is_transparent_v<hasher, _K2> && __is_transparent_v<key_equal, _K2>>* = nullptr>
_LIBCPP_HIDE_FROM_ABI bool contains(const _K2& __k) const {
return find(__k) != end();
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI pair<iterator, iterator> equal_range(const key_type& __k) {
return __table_.__equal_range_multi(__k);
@@ -1488,7 +1491,7 @@ public:
_LIBCPP_HIDE_FROM_ABI pair<const_iterator, const_iterator> equal_range(const key_type& __k) const {
return __table_.__equal_range_multi(__k);
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _K2, enable_if_t<__is_transparent_v<hasher, _K2> && __is_transparent_v<key_equal, _K2>>* = nullptr>
_LIBCPP_HIDE_FROM_ABI pair<iterator, iterator> equal_range(const _K2& __k) {
return __table_.__equal_range_multi(__k);
@@ -1497,7 +1500,7 @@ public:
_LIBCPP_HIDE_FROM_ABI pair<const_iterator, const_iterator> equal_range(const _K2& __k) const {
return __table_.__equal_range_multi(__k);
}
-#endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI size_type bucket_count() const _NOEXCEPT { return __table_.bucket_count(); }
_LIBCPP_HIDE_FROM_ABI size_type max_bucket_count() const _NOEXCEPT { return __table_.max_bucket_count(); }
@@ -1519,7 +1522,7 @@ public:
_LIBCPP_HIDE_FROM_ABI void reserve(size_type __n) { __table_.__reserve_multi(__n); }
};
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _InputIterator,
class _Hash = hash<__iter_value_type<_InputIterator>>,
class _Pred = equal_to<__iter_value_type<_InputIterator>>,
@@ -1537,7 +1540,7 @@ unordered_multiset(
_Pred = _Pred(),
_Allocator = _Allocator()) -> unordered_multiset<__iter_value_type<_InputIterator>, _Hash, _Pred, _Allocator>;
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <ranges::input_range _Range,
class _Hash = hash<ranges::range_value_t<_Range>>,
class _Pred = equal_to<ranges::range_value_t<_Range>>,
@@ -1553,7 +1556,7 @@ unordered_multiset(
_Hash = _Hash(),
_Pred = _Pred(),
_Allocator = _Allocator()) -> unordered_multiset<ranges::range_value_t<_Range>, _Hash, _Pred, _Allocator>; // C++23
-# endif
+# endif
template <class _Tp,
class _Hash = hash<_Tp>,
@@ -1592,7 +1595,7 @@ unordered_multiset(_InputIterator, _InputIterator, typename allocator_traits<_Al
equal_to<__iter_value_type<_InputIterator>>,
_Allocator>;
-# if _LIBCPP_STD_VER >= 23
+# if _LIBCPP_STD_VER >= 23
template <ranges::input_range _Range, class _Allocator, class = enable_if_t<__is_allocator<_Allocator>::value>>
unordered_multiset(from_range_t, _Range&&, typename allocator_traits<_Allocator>::size_type, _Allocator)
@@ -1617,7 +1620,7 @@ template <ranges::input_range _Range,
unordered_multiset(from_range_t, _Range&&, typename allocator_traits<_Allocator>::size_type, _Hash, _Allocator)
-> unordered_multiset<ranges::range_value_t<_Range>, _Hash, equal_to<ranges::range_value_t<_Range>>, _Allocator>;
-# endif
+# endif
template <class _Tp, class _Allocator, class = enable_if_t<__is_allocator<_Allocator>::value>>
unordered_multiset(initializer_list<_Tp>, typename allocator_traits<_Allocator>::size_type, _Allocator)
@@ -1631,7 +1634,7 @@ template <class _Tp,
class = enable_if_t<__is_allocator<_Allocator>::value>>
unordered_multiset(initializer_list<_Tp>, typename allocator_traits<_Allocator>::size_type, _Hash, _Allocator)
-> unordered_multiset<_Tp, _Hash, equal_to<_Tp>, _Allocator>;
-#endif
+# endif
template <class _Value, class _Hash, class _Pred, class _Alloc>
unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset(
@@ -1695,7 +1698,7 @@ unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset(
insert(__u.begin(), __u.end());
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Value, class _Hash, class _Pred, class _Alloc>
inline unordered_multiset<_Value, _Hash, _Pred, _Alloc>::unordered_multiset(unordered_multiset&& __u)
@@ -1753,7 +1756,7 @@ unordered_multiset<_Value, _Hash, _Pred, _Alloc>::operator=(initializer_list<val
return *this;
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Value, class _Hash, class _Pred, class _Alloc>
template <class _InputIterator>
@@ -1769,13 +1772,13 @@ swap(unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __x, unordered_multiset<_
__x.swap(__y);
}
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _Value, class _Hash, class _Pred, class _Alloc, class _Predicate>
inline _LIBCPP_HIDE_FROM_ABI typename unordered_multiset<_Value, _Hash, _Pred, _Alloc>::size_type
erase_if(unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __c, _Predicate __pred) {
return std::__libcpp_erase_if_container(__c, __pred);
}
-#endif
+# endif
template <class _Value, class _Hash, class _Pred, class _Alloc>
_LIBCPP_HIDE_FROM_ABI bool operator==(const unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __x,
@@ -1795,7 +1798,7 @@ _LIBCPP_HIDE_FROM_ABI bool operator==(const unordered_multiset<_Value, _Hash, _P
return true;
}
-#if _LIBCPP_STD_VER <= 17
+# if _LIBCPP_STD_VER <= 17
template <class _Value, class _Hash, class _Pred, class _Alloc>
inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const unordered_multiset<_Value, _Hash, _Pred, _Alloc>& __x,
@@ -1803,7 +1806,7 @@ inline _LIBCPP_HIDE_FROM_ABI bool operator!=(const unordered_multiset<_Value, _H
return !(__x == __y);
}
-#endif
+# endif
template <class _Value, class _Hash, class _Pred, class _Alloc>
struct __container_traits<unordered_multiset<_Value, _Hash, _Pred, _Alloc> > {
@@ -1817,7 +1820,7 @@ struct __container_traits<unordered_multiset<_Value, _Hash, _Pred, _Alloc> > {
_LIBCPP_END_NAMESPACE_STD
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
_LIBCPP_BEGIN_NAMESPACE_STD
namespace pmr {
template <class _KeyT, class _HashT = std::hash<_KeyT>, class _PredT = std::equal_to<_KeyT>>
@@ -1828,18 +1831,19 @@ using unordered_multiset _LIBCPP_AVAILABILITY_PMR =
std::unordered_multiset<_KeyT, _HashT, _PredT, polymorphic_allocator<_KeyT>>;
} // namespace pmr
_LIBCPP_END_NAMESPACE_STD
-#endif
+# endif
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cmath>
-# include <concepts>
-# include <cstdlib>
-# include <functional>
-# include <iterator>
-# include <stdexcept>
-# include <type_traits>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cmath>
+# include <concepts>
+# include <cstdlib>
+# include <functional>
+# include <iterator>
+# include <stdexcept>
+# include <type_traits>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_UNORDERED_SET
diff --git a/libcxx/include/utility b/libcxx/include/utility
index 138cc3ba3189..fb8a6f81350b 100644
--- a/libcxx/include/utility
+++ b/libcxx/include/utility
@@ -246,65 +246,69 @@ template <class T>
*/
-#include <__config>
-
-#include <__utility/declval.h>
-#include <__utility/forward.h>
-#include <__utility/move.h>
-#include <__utility/pair.h>
-#include <__utility/piecewise_construct.h>
-#include <__utility/rel_ops.h>
-#include <__utility/swap.h>
-
-#if _LIBCPP_STD_VER >= 14
-# include <__utility/exchange.h>
-# include <__utility/integer_sequence.h>
-#endif
-
-#if _LIBCPP_STD_VER >= 17
-# include <__utility/as_const.h>
-# include <__utility/in_place.h>
-#endif
-
-#if _LIBCPP_STD_VER >= 20
-# include <__utility/cmp.h>
-#endif
-
-#if _LIBCPP_STD_VER >= 23
-# include <__utility/forward_like.h>
-# include <__utility/to_underlying.h>
-# include <__utility/unreachable.h>
-#endif
-
-#include <version>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/utility>
+#else
+# include <__config>
+
+# include <__utility/declval.h>
+# include <__utility/forward.h>
+# include <__utility/move.h>
+# include <__utility/pair.h>
+# include <__utility/piecewise_construct.h>
+# include <__utility/rel_ops.h>
+# include <__utility/swap.h>
+
+# if _LIBCPP_STD_VER >= 14
+# include <__utility/exchange.h>
+# include <__utility/integer_sequence.h>
+# endif
+
+# if _LIBCPP_STD_VER >= 17
+# include <__utility/as_const.h>
+# include <__utility/in_place.h>
+# endif
+
+# if _LIBCPP_STD_VER >= 20
+# include <__utility/cmp.h>
+# endif
+
+# if _LIBCPP_STD_VER >= 23
+# include <__utility/forward_like.h>
+# include <__utility/to_underlying.h>
+# include <__utility/unreachable.h>
+# endif
+
+# include <version>
// standard-mandated includes
// [utility.syn]
-#include <compare>
-#include <initializer_list>
+# include <compare>
+# include <initializer_list>
// [tuple.creation]
-#include <__tuple/ignore.h>
+# include <__tuple/ignore.h>
// [tuple.helper]
-#include <__tuple/tuple_element.h>
-#include <__tuple/tuple_size.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <limits>
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstddef>
-# include <cstdlib>
-# include <iosfwd>
-# include <type_traits>
-#endif
+# include <__tuple/tuple_element.h>
+# include <__tuple/tuple_size.h>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <limits>
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstddef>
+# include <cstdlib>
+# include <iosfwd>
+# include <type_traits>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_UTILITY
diff --git a/libcxx/include/valarray b/libcxx/include/valarray
index 2f7a1a7c5b49..abc7d391ada0 100644
--- a/libcxx/include/valarray
+++ b/libcxx/include/valarray
@@ -343,39 +343,41 @@ template <class T> unspecified2 end(const valarray<T>& v);
*/
-#include <__algorithm/copy.h>
-#include <__algorithm/count.h>
-#include <__algorithm/fill.h>
-#include <__algorithm/max_element.h>
-#include <__algorithm/min.h>
-#include <__algorithm/min_element.h>
-#include <__algorithm/unwrap_iter.h>
-#include <__assert>
-#include <__config>
-#include <__cstddef/ptrdiff_t.h>
-#include <__functional/operations.h>
-#include <__memory/addressof.h>
-#include <__memory/allocator.h>
-#include <__memory/uninitialized_algorithms.h>
-#include <__type_traits/decay.h>
-#include <__type_traits/remove_reference.h>
-#include <__utility/move.h>
-#include <__utility/swap.h>
-#include <cmath>
-#include <new>
-#include <version>
+#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>
+# include <__algorithm/max_element.h>
+# include <__algorithm/min.h>
+# include <__algorithm/min_element.h>
+# include <__algorithm/unwrap_iter.h>
+# include <__assert>
+# include <__config>
+# include <__cstddef/ptrdiff_t.h>
+# include <__functional/operations.h>
+# include <__memory/addressof.h>
+# include <__memory/allocator.h>
+# include <__memory/uninitialized_algorithms.h>
+# include <__type_traits/decay.h>
+# include <__type_traits/remove_reference.h>
+# include <__utility/move.h>
+# include <__utility/swap.h>
+# include <cmath>
+# include <version>
// standard-mandated includes
// [valarray.syn]
-#include <initializer_list>
+# include <initializer_list>
-#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
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
_LIBCPP_BEGIN_NAMESPACE_STD
@@ -397,13 +399,13 @@ public:
_LIBCPP_HIDE_FROM_ABI size_t size() const { return __size_; }
_LIBCPP_HIDE_FROM_ABI size_t stride() const { return __stride_; }
-#if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
_LIBCPP_HIDE_FROM_ABI friend bool operator==(const slice& __x, const slice& __y) {
return __x.start() == __y.start() && __x.size() == __y.size() && __x.stride() == __y.stride();
}
-#endif
+# endif
};
template <class _Tp>
@@ -794,10 +796,10 @@ public:
_LIBCPP_HIDE_FROM_ABI valarray(const value_type& __x, size_t __n);
valarray(const value_type* __p, size_t __n);
valarray(const valarray& __v);
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI valarray(valarray&& __v) _NOEXCEPT;
valarray(initializer_list<value_type> __il);
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
valarray(const slice_array<value_type>& __sa);
valarray(const gslice_array<value_type>& __ga);
valarray(const mask_array<value_type>& __ma);
@@ -806,10 +808,10 @@ public:
// assignment:
valarray& operator=(const valarray& __v);
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI valarray& operator=(valarray&& __v) _NOEXCEPT;
_LIBCPP_HIDE_FROM_ABI valarray& operator=(initializer_list<value_type>);
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI valarray& operator=(const value_type& __x);
_LIBCPP_HIDE_FROM_ABI valarray& operator=(const slice_array<value_type>& __sa);
_LIBCPP_HIDE_FROM_ABI valarray& operator=(const gslice_array<value_type>& __ga);
@@ -819,31 +821,37 @@ public:
_LIBCPP_HIDE_FROM_ABI valarray& operator=(const __val_expr<_ValExpr>& __v);
// element access:
- _LIBCPP_HIDE_FROM_ABI const value_type& operator[](size_t __i) const { return __begin_[__i]; }
+ _LIBCPP_HIDE_FROM_ABI const value_type& operator[](size_t __i) const {
+ _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(__i < size(), "valarray::operator[] index out of bounds");
+ return __begin_[__i];
+ }
- _LIBCPP_HIDE_FROM_ABI value_type& operator[](size_t __i) { return __begin_[__i]; }
+ _LIBCPP_HIDE_FROM_ABI value_type& operator[](size_t __i) {
+ _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(__i < size(), "valarray::operator[] index out of bounds");
+ return __begin_[__i];
+ }
// subset operations:
_LIBCPP_HIDE_FROM_ABI __val_expr<__slice_expr<const valarray&> > operator[](slice __s) const;
_LIBCPP_HIDE_FROM_ABI slice_array<value_type> operator[](slice __s);
_LIBCPP_HIDE_FROM_ABI __val_expr<__indirect_expr<const valarray&> > operator[](const gslice& __gs) const;
_LIBCPP_HIDE_FROM_ABI gslice_array<value_type> operator[](const gslice& __gs);
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI __val_expr<__indirect_expr<const valarray&> > operator[](gslice&& __gs) const;
_LIBCPP_HIDE_FROM_ABI gslice_array<value_type> operator[](gslice&& __gs);
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI __val_expr<__mask_expr<const valarray&> > operator[](const valarray<bool>& __vb) const;
_LIBCPP_HIDE_FROM_ABI mask_array<value_type> operator[](const valarray<bool>& __vb);
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI __val_expr<__mask_expr<const valarray&> > operator[](valarray<bool>&& __vb) const;
_LIBCPP_HIDE_FROM_ABI mask_array<value_type> operator[](valarray<bool>&& __vb);
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI __val_expr<__indirect_expr<const valarray&> > operator[](const valarray<size_t>& __vs) const;
_LIBCPP_HIDE_FROM_ABI indirect_array<value_type> operator[](const valarray<size_t>& __vs);
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI __val_expr<__indirect_expr<const valarray&> > operator[](valarray<size_t>&& __vs) const;
_LIBCPP_HIDE_FROM_ABI indirect_array<value_type> operator[](valarray<size_t>&& __vs);
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
// unary operators:
_LIBCPP_HIDE_FROM_ABI __val_expr<_UnaryOp<__unary_plus<_Tp>, const valarray&> > operator+() const;
@@ -942,10 +950,10 @@ private:
valarray& __assign_range(const value_type* __f, const value_type* __l);
};
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
template <class _Tp, size_t _Size>
valarray(const _Tp (&)[_Size], size_t) -> valarray<_Tp>;
-#endif
+# endif
template <class _Expr,
__enable_if_t<__is_val_expr<_Expr>::value && __val_expr_use_member_functions<_Expr>::value, int> = 0>
@@ -1221,7 +1229,7 @@ public:
__init(__start);
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI gslice(size_t __start, const valarray<size_t>& __size, valarray<size_t>&& __stride)
: __size_(__size), __stride_(std::move(__stride)) {
@@ -1238,7 +1246,7 @@ public:
__init(__start);
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI size_t start() const { return __1d_.size() ? __1d_[0] : 0; }
@@ -1318,10 +1326,10 @@ private:
gslice_array(const gslice& __gs, const valarray<value_type>& __v)
: __vp_(const_cast<value_type*>(__v.__begin_)), __1d_(__gs.__1d_) {}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
gslice_array(gslice&& __gs, const valarray<value_type>& __v)
: __vp_(const_cast<value_type*>(__v.__begin_)), __1d_(std::move(__gs.__1d_)) {}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class>
friend class valarray;
@@ -1708,12 +1716,12 @@ private:
_LIBCPP_HIDE_FROM_ABI indirect_array(const valarray<size_t>& __ia, const valarray<value_type>& __v)
: __vp_(const_cast<value_type*>(__v.__begin_)), __1d_(__ia) {}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI indirect_array(valarray<size_t>&& __ia, const valarray<value_type>& __v)
: __vp_(const_cast<value_type*>(__v.__begin_)), __1d_(std::move(__ia)) {}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class>
friend class valarray;
@@ -1837,12 +1845,12 @@ private:
_LIBCPP_HIDE_FROM_ABI __indirect_expr(const valarray<size_t>& __ia, const _RmExpr& __e) : __expr_(__e), __1d_(__ia) {}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
_LIBCPP_HIDE_FROM_ABI __indirect_expr(valarray<size_t>&& __ia, const _RmExpr& __e)
: __expr_(__e), __1d_(std::move(__ia)) {}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
public:
_LIBCPP_HIDE_FROM_ABI __result_type operator[](size_t __i) const { return __expr_[__1d_[__i]]; }
@@ -1984,17 +1992,17 @@ template <class _Tp>
inline valarray<_Tp>::valarray(size_t __n) : __begin_(nullptr), __end_(nullptr) {
if (__n) {
__begin_ = __end_ = allocator<value_type>().allocate(__n);
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
for (size_t __n_left = __n; __n_left; --__n_left, ++__end_)
::new ((void*)__end_) value_type();
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__clear(__n);
throw;
}
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
}
}
@@ -2007,17 +2015,17 @@ template <class _Tp>
valarray<_Tp>::valarray(const value_type* __p, size_t __n) : __begin_(nullptr), __end_(nullptr) {
if (__n) {
__begin_ = __end_ = allocator<value_type>().allocate(__n);
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
for (size_t __n_left = __n; __n_left; ++__end_, ++__p, --__n_left)
::new ((void*)__end_) value_type(*__p);
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__clear(__n);
throw;
}
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
}
}
@@ -2025,21 +2033,21 @@ template <class _Tp>
valarray<_Tp>::valarray(const valarray& __v) : __begin_(nullptr), __end_(nullptr) {
if (__v.size()) {
__begin_ = __end_ = allocator<value_type>().allocate(__v.size());
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
for (value_type* __p = __v.__begin_; __p != __v.__end_; ++__end_, ++__p)
::new ((void*)__end_) value_type(*__p);
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__clear(__v.size());
throw;
}
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
}
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Tp>
inline valarray<_Tp>::valarray(valarray&& __v) _NOEXCEPT : __begin_(__v.__begin_), __end_(__v.__end_) {
@@ -2051,40 +2059,40 @@ valarray<_Tp>::valarray(initializer_list<value_type> __il) : __begin_(nullptr),
const size_t __n = __il.size();
if (__n) {
__begin_ = __end_ = allocator<value_type>().allocate(__n);
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
size_t __n_left = __n;
for (const value_type* __p = __il.begin(); __n_left; ++__end_, ++__p, --__n_left)
::new ((void*)__end_) value_type(*__p);
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__clear(__n);
throw;
}
-# endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
}
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Tp>
valarray<_Tp>::valarray(const slice_array<value_type>& __sa) : __begin_(nullptr), __end_(nullptr) {
const size_t __n = __sa.__size_;
if (__n) {
__begin_ = __end_ = allocator<value_type>().allocate(__n);
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
size_t __n_left = __n;
for (const value_type* __p = __sa.__vp_; __n_left; ++__end_, __p += __sa.__stride_, --__n_left)
::new ((void*)__end_) value_type(*__p);
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__clear(__n);
throw;
}
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
}
}
@@ -2093,19 +2101,19 @@ valarray<_Tp>::valarray(const gslice_array<value_type>& __ga) : __begin_(nullptr
const size_t __n = __ga.__1d_.size();
if (__n) {
__begin_ = __end_ = allocator<value_type>().allocate(__n);
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
typedef const size_t* _Ip;
const value_type* __s = __ga.__vp_;
for (_Ip __i = __ga.__1d_.__begin_, __e = __ga.__1d_.__end_; __i != __e; ++__i, ++__end_)
::new ((void*)__end_) value_type(__s[*__i]);
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__clear(__n);
throw;
}
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
}
}
@@ -2114,19 +2122,19 @@ valarray<_Tp>::valarray(const mask_array<value_type>& __ma) : __begin_(nullptr),
const size_t __n = __ma.__1d_.size();
if (__n) {
__begin_ = __end_ = allocator<value_type>().allocate(__n);
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
typedef const size_t* _Ip;
const value_type* __s = __ma.__vp_;
for (_Ip __i = __ma.__1d_.__begin_, __e = __ma.__1d_.__end_; __i != __e; ++__i, ++__end_)
::new ((void*)__end_) value_type(__s[*__i]);
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__clear(__n);
throw;
}
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
}
}
@@ -2135,19 +2143,19 @@ valarray<_Tp>::valarray(const indirect_array<value_type>& __ia) : __begin_(nullp
const size_t __n = __ia.__1d_.size();
if (__n) {
__begin_ = __end_ = allocator<value_type>().allocate(__n);
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
typedef const size_t* _Ip;
const value_type* __s = __ia.__vp_;
for (_Ip __i = __ia.__1d_.__begin_, __e = __ia.__1d_.__end_; __i != __e; ++__i, ++__end_)
::new ((void*)__end_) value_type(__s[*__i]);
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__clear(__n);
throw;
}
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
}
}
@@ -2177,7 +2185,7 @@ valarray<_Tp>& valarray<_Tp>::operator=(const valarray& __v) {
return *this;
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Tp>
inline valarray<_Tp>& valarray<_Tp>::operator=(valarray&& __v) _NOEXCEPT {
@@ -2194,7 +2202,7 @@ inline valarray<_Tp>& valarray<_Tp>::operator=(initializer_list<value_type> __il
return __assign_range(__il.begin(), __il.end());
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Tp>
inline valarray<_Tp>& valarray<_Tp>::operator=(const value_type& __x) {
@@ -2273,7 +2281,7 @@ inline gslice_array<_Tp> valarray<_Tp>::operator[](const gslice& __gs) {
return gslice_array<value_type>(__gs, *this);
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Tp>
inline __val_expr<__indirect_expr<const valarray<_Tp>&> > valarray<_Tp>::operator[](gslice&& __gs) const {
@@ -2285,7 +2293,7 @@ inline gslice_array<_Tp> valarray<_Tp>::operator[](gslice&& __gs) {
return gslice_array<value_type>(std::move(__gs), *this);
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Tp>
inline __val_expr<__mask_expr<const valarray<_Tp>&> > valarray<_Tp>::operator[](const valarray<bool>& __vb) const {
@@ -2297,7 +2305,7 @@ inline mask_array<_Tp> valarray<_Tp>::operator[](const valarray<bool>& __vb) {
return mask_array<value_type>(__vb, *this);
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Tp>
inline __val_expr<__mask_expr<const valarray<_Tp>&> > valarray<_Tp>::operator[](valarray<bool>&& __vb) const {
@@ -2309,7 +2317,7 @@ inline mask_array<_Tp> valarray<_Tp>::operator[](valarray<bool>&& __vb) {
return mask_array<value_type>(std::move(__vb), *this);
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Tp>
inline __val_expr<__indirect_expr<const valarray<_Tp>&> >
@@ -2322,7 +2330,7 @@ inline indirect_array<_Tp> valarray<_Tp>::operator[](const valarray<size_t>& __v
return indirect_array<value_type>(__vs, *this);
}
-#ifndef _LIBCPP_CXX03_LANG
+# ifndef _LIBCPP_CXX03_LANG
template <class _Tp>
inline __val_expr<__indirect_expr<const valarray<_Tp>&> > valarray<_Tp>::operator[](valarray<size_t>&& __vs) const {
@@ -2334,7 +2342,7 @@ inline indirect_array<_Tp> valarray<_Tp>::operator[](valarray<size_t>&& __vs) {
return indirect_array<value_type>(std::move(__vs), *this);
}
-#endif // _LIBCPP_CXX03_LANG
+# endif // _LIBCPP_CXX03_LANG
template <class _Tp>
inline __val_expr<_UnaryOp<__unary_plus<_Tp>, const valarray<_Tp>&> > valarray<_Tp>::operator+() const {
@@ -2636,17 +2644,17 @@ void valarray<_Tp>::resize(size_t __n, value_type __x) {
__clear(size());
if (__n) {
__begin_ = __end_ = allocator<value_type>().allocate(__n);
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
try {
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
for (size_t __n_left = __n; __n_left; --__n_left, ++__end_)
::new ((void*)__end_) value_type(__x);
-#if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
} catch (...) {
__clear(__n);
throw;
}
-#endif // _LIBCPP_HAS_EXCEPTIONS
+# endif // _LIBCPP_HAS_EXCEPTIONS
}
}
@@ -3351,14 +3359,15 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <algorithm>
-# include <concepts>
-# include <cstdlib>
-# include <cstring>
-# include <functional>
-# include <stdexcept>
-# include <type_traits>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <algorithm>
+# include <concepts>
+# include <cstdlib>
+# include <cstring>
+# include <functional>
+# include <stdexcept>
+# include <type_traits>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_VALARRAY
diff --git a/libcxx/include/variant b/libcxx/include/variant
index f604527cd225..3fa1b4b30f05 100644
--- a/libcxx/include/variant
+++ b/libcxx/include/variant
@@ -212,74 +212,76 @@ namespace std {
*/
-#include <__compare/common_comparison_category.h>
-#include <__compare/compare_three_way_result.h>
-#include <__compare/ordering.h>
-#include <__compare/three_way_comparable.h>
-#include <__config>
-#include <__exception/exception.h>
-#include <__functional/hash.h>
-#include <__functional/operations.h>
-#include <__functional/unary_function.h>
-#include <__fwd/variant.h>
-#include <__memory/addressof.h>
-#include <__memory/construct_at.h>
-#include <__tuple/find_index.h>
-#include <__tuple/sfinae_helpers.h>
-#include <__type_traits/add_cv_quals.h>
-#include <__type_traits/add_pointer.h>
-#include <__type_traits/common_type.h>
-#include <__type_traits/conditional.h>
-#include <__type_traits/conjunction.h>
-#include <__type_traits/decay.h>
-#include <__type_traits/dependent_type.h>
-#include <__type_traits/enable_if.h>
-#include <__type_traits/invoke.h>
-#include <__type_traits/is_array.h>
-#include <__type_traits/is_assignable.h>
-#include <__type_traits/is_constructible.h>
-#include <__type_traits/is_convertible.h>
-#include <__type_traits/is_destructible.h>
-#include <__type_traits/is_nothrow_assignable.h>
-#include <__type_traits/is_nothrow_constructible.h>
-#include <__type_traits/is_reference.h>
-#include <__type_traits/is_same.h>
-#include <__type_traits/is_swappable.h>
-#include <__type_traits/is_trivially_assignable.h>
-#include <__type_traits/is_trivially_constructible.h>
-#include <__type_traits/is_trivially_destructible.h>
-#include <__type_traits/is_trivially_relocatable.h>
-#include <__type_traits/is_void.h>
-#include <__type_traits/remove_const.h>
-#include <__type_traits/remove_cvref.h>
-#include <__type_traits/remove_reference.h>
-#include <__type_traits/type_identity.h>
-#include <__type_traits/void_t.h>
-#include <__utility/declval.h>
-#include <__utility/forward.h>
-#include <__utility/forward_like.h>
-#include <__utility/in_place.h>
-#include <__utility/integer_sequence.h>
-#include <__utility/move.h>
-#include <__utility/swap.h>
-#include <__variant/monostate.h>
-#include <__verbose_abort>
-#include <initializer_list>
-#include <limits>
-#include <new>
-#include <version>
+#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>
+# include <__compare/three_way_comparable.h>
+# include <__config>
+# include <__exception/exception.h>
+# include <__functional/hash.h>
+# include <__functional/operations.h>
+# include <__functional/unary_function.h>
+# include <__fwd/variant.h>
+# include <__memory/addressof.h>
+# include <__memory/construct_at.h>
+# include <__tuple/find_index.h>
+# include <__tuple/sfinae_helpers.h>
+# include <__type_traits/add_cv_quals.h>
+# include <__type_traits/add_pointer.h>
+# include <__type_traits/common_type.h>
+# include <__type_traits/conditional.h>
+# include <__type_traits/conjunction.h>
+# include <__type_traits/decay.h>
+# include <__type_traits/dependent_type.h>
+# include <__type_traits/enable_if.h>
+# include <__type_traits/invoke.h>
+# include <__type_traits/is_array.h>
+# include <__type_traits/is_assignable.h>
+# include <__type_traits/is_constructible.h>
+# include <__type_traits/is_convertible.h>
+# include <__type_traits/is_destructible.h>
+# include <__type_traits/is_nothrow_assignable.h>
+# include <__type_traits/is_nothrow_constructible.h>
+# include <__type_traits/is_reference.h>
+# include <__type_traits/is_same.h>
+# include <__type_traits/is_swappable.h>
+# include <__type_traits/is_trivially_assignable.h>
+# include <__type_traits/is_trivially_constructible.h>
+# include <__type_traits/is_trivially_destructible.h>
+# include <__type_traits/is_trivially_relocatable.h>
+# include <__type_traits/is_void.h>
+# include <__type_traits/remove_const.h>
+# include <__type_traits/remove_cvref.h>
+# include <__type_traits/remove_reference.h>
+# include <__type_traits/type_identity.h>
+# include <__type_traits/void_t.h>
+# include <__utility/declval.h>
+# include <__utility/forward.h>
+# include <__utility/forward_like.h>
+# include <__utility/in_place.h>
+# include <__utility/integer_sequence.h>
+# include <__utility/move.h>
+# include <__utility/swap.h>
+# include <__variant/monostate.h>
+# include <__verbose_abort>
+# include <initializer_list>
+# include <limits>
+# include <version>
// standard-mandated includes
// [variant.syn]
-#include <compare>
+# include <compare>
-#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
_LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+# include <__undef_macros>
namespace std { // explicitly not using versioning namespace
@@ -292,7 +294,7 @@ public:
_LIBCPP_BEGIN_NAMESPACE_STD
-#if _LIBCPP_STD_VER >= 17
+# if _LIBCPP_STD_VER >= 17
// Light N-dimensional array of function pointers. Used in place of std::array to avoid
// adding a dependency.
@@ -306,11 +308,11 @@ struct __farray {
[[noreturn]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS void
__throw_bad_variant_access() {
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
throw bad_variant_access();
-# else
+# else
_LIBCPP_VERBOSE_ABORT("bad_variant_access was thrown in -fno-exceptions mode");
-# endif
+# endif
}
// variant_size
@@ -344,13 +346,13 @@ struct _LIBCPP_TEMPLATE_VIS variant_alternative<_Ip, variant<_Types...>> {
template <size_t _NumAlternatives>
_LIBCPP_HIDE_FROM_ABI constexpr auto __choose_index_type() {
-# ifdef _LIBCPP_ABI_VARIANT_INDEX_TYPE_OPTIMIZATION
+# ifdef _LIBCPP_ABI_VARIANT_INDEX_TYPE_OPTIMIZATION
if constexpr (_NumAlternatives < numeric_limits<unsigned char>::max())
return static_cast<unsigned char>(0);
else if constexpr (_NumAlternatives < numeric_limits<unsigned short>::max())
return static_cast<unsigned short>(0);
else
-# endif // _LIBCPP_ABI_VARIANT_INDEX_TYPE_OPTIMIZATION
+# endif // _LIBCPP_ABI_VARIANT_INDEX_TYPE_OPTIMIZATION
return static_cast<unsigned int>(0);
}
@@ -595,12 +597,12 @@ struct __variant {
return __visit_alt(__make_value_visitor(std::forward<_Visitor>(__visitor)), std::forward<_Vs>(__vs)...);
}
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _Rp, class _Visitor, class... _Vs>
_LIBCPP_HIDE_FROM_ABI static constexpr _Rp __visit_value(_Visitor&& __visitor, _Vs&&... __vs) {
return __visit_alt(__make_value_visitor<_Rp>(std::forward<_Visitor>(__visitor)), std::forward<_Vs>(__vs)...);
}
-# endif
+# endif
private:
template <class _Visitor, class... _Values>
@@ -618,7 +620,7 @@ private:
_Visitor&& __visitor;
};
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _Rp, class _Visitor>
struct __value_visitor_return_type {
template <class... _Alts>
@@ -633,26 +635,26 @@ private:
_Visitor&& __visitor;
};
-# endif
+# endif
template <class _Visitor>
_LIBCPP_HIDE_FROM_ABI static constexpr auto __make_value_visitor(_Visitor&& __visitor) {
return __value_visitor<_Visitor>{std::forward<_Visitor>(__visitor)};
}
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _Rp, class _Visitor>
_LIBCPP_HIDE_FROM_ABI static constexpr auto __make_value_visitor(_Visitor&& __visitor) {
return __value_visitor_return_type<_Rp, _Visitor>{std::forward<_Visitor>(__visitor)};
}
-# endif
+# endif
};
} // namespace __visitation
// Adding semi-colons in macro expansions helps clang-format to do a better job.
// This macro is used to avoid compilation errors due to "stray" semi-colons.
-# define _LIBCPP_EAT_SEMICOLON static_assert(true, "")
+# define _LIBCPP_EAT_SEMICOLON static_assert(true, "")
template <size_t _Index, class _Tp>
struct _LIBCPP_TEMPLATE_VIS __alt {
@@ -672,33 +674,33 @@ union _LIBCPP_TEMPLATE_VIS __union;
template <_Trait _DestructibleTrait, size_t _Index>
union _LIBCPP_TEMPLATE_VIS __union<_DestructibleTrait, _Index> {};
-# define _LIBCPP_VARIANT_UNION(destructible_trait, destructor_definition) \
- template <size_t _Index, class _Tp, class... _Types> \
- union _LIBCPP_TEMPLATE_VIS __union<destructible_trait, _Index, _Tp, _Types...> { \
- public: \
- _LIBCPP_HIDE_FROM_ABI explicit constexpr __union(__valueless_t) noexcept : __dummy{} {} \
+# define _LIBCPP_VARIANT_UNION(destructible_trait, destructor_definition) \
+ template <size_t _Index, class _Tp, class... _Types> \
+ union _LIBCPP_TEMPLATE_VIS __union<destructible_trait, _Index, _Tp, _Types...> { \
+ public: \
+ _LIBCPP_HIDE_FROM_ABI explicit constexpr __union(__valueless_t) noexcept : __dummy{} {} \
\
- template <class... _Args> \
- _LIBCPP_HIDE_FROM_ABI explicit constexpr __union(in_place_index_t<0>, _Args&&... __args) \
- : __head(in_place, std::forward<_Args>(__args)...) {} \
+ template <class... _Args> \
+ _LIBCPP_HIDE_FROM_ABI explicit constexpr __union(in_place_index_t<0>, _Args&&... __args) \
+ : __head(in_place, std::forward<_Args>(__args)...) {} \
\
- template <size_t _Ip, class... _Args> \
- _LIBCPP_HIDE_FROM_ABI explicit constexpr __union(in_place_index_t<_Ip>, _Args&&... __args) \
- : __tail(in_place_index<_Ip - 1>, std::forward<_Args>(__args)...) {} \
+ template <size_t _Ip, class... _Args> \
+ _LIBCPP_HIDE_FROM_ABI explicit constexpr __union(in_place_index_t<_Ip>, _Args&&... __args) \
+ : __tail(in_place_index<_Ip - 1>, std::forward<_Args>(__args)...) {} \
\
- _LIBCPP_HIDE_FROM_ABI __union(const __union&) = default; \
- _LIBCPP_HIDE_FROM_ABI __union(__union&&) = default; \
- _LIBCPP_HIDE_FROM_ABI __union& operator=(const __union&) = default; \
- _LIBCPP_HIDE_FROM_ABI __union& operator=(__union&&) = default; \
- destructor_definition; \
+ _LIBCPP_HIDE_FROM_ABI __union(const __union&) = default; \
+ _LIBCPP_HIDE_FROM_ABI __union(__union&&) = default; \
+ _LIBCPP_HIDE_FROM_ABI __union& operator=(const __union&) = default; \
+ _LIBCPP_HIDE_FROM_ABI __union& operator=(__union&&) = default; \
+ destructor_definition; \
\
- private: \
- char __dummy; \
- __alt<_Index, _Tp> __head; \
- __union<destructible_trait, _Index + 1, _Types...> __tail; \
+ private: \
+ char __dummy; \
+ __alt<_Index, _Tp> __head; \
+ __union<destructible_trait, _Index + 1, _Types...> __tail; \
\
- friend struct __access::__union; \
- }
+ friend struct __access::__union; \
+ }
_LIBCPP_VARIANT_UNION(_Trait::_TriviallyAvailable,
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 ~__union() = default);
@@ -706,7 +708,7 @@ _LIBCPP_VARIANT_UNION(
_Trait::_Available, _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 ~__union() {} _LIBCPP_EAT_SEMICOLON);
_LIBCPP_VARIANT_UNION(_Trait::_Unavailable, _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 ~__union() = delete);
-# undef _LIBCPP_VARIANT_UNION
+# undef _LIBCPP_VARIANT_UNION
template <_Trait _DestructibleTrait, class... _Types>
class _LIBCPP_TEMPLATE_VIS __base {
@@ -747,25 +749,25 @@ protected:
template <class _Traits, _Trait = _Traits::__destructible_trait>
class _LIBCPP_TEMPLATE_VIS __dtor;
-# define _LIBCPP_VARIANT_DESTRUCTOR(destructible_trait, destructor_definition, destroy) \
- template <class... _Types> \
- class _LIBCPP_TEMPLATE_VIS __dtor<__traits<_Types...>, destructible_trait> \
- : public __base<destructible_trait, _Types...> { \
- using __base_type = __base<destructible_trait, _Types...>; \
- using __index_t = typename __base_type::__index_t; \
+# define _LIBCPP_VARIANT_DESTRUCTOR(destructible_trait, destructor_definition, destroy) \
+ template <class... _Types> \
+ class _LIBCPP_TEMPLATE_VIS __dtor<__traits<_Types...>, destructible_trait> \
+ : public __base<destructible_trait, _Types...> { \
+ using __base_type = __base<destructible_trait, _Types...>; \
+ using __index_t = typename __base_type::__index_t; \
\
- public: \
- using __base_type::__base_type; \
- using __base_type::operator=; \
- _LIBCPP_HIDE_FROM_ABI __dtor(const __dtor&) = default; \
- _LIBCPP_HIDE_FROM_ABI __dtor(__dtor&&) = default; \
- _LIBCPP_HIDE_FROM_ABI __dtor& operator=(const __dtor&) = default; \
- _LIBCPP_HIDE_FROM_ABI __dtor& operator=(__dtor&&) = default; \
- destructor_definition; \
+ public: \
+ using __base_type::__base_type; \
+ using __base_type::operator=; \
+ _LIBCPP_HIDE_FROM_ABI __dtor(const __dtor&) = default; \
+ _LIBCPP_HIDE_FROM_ABI __dtor(__dtor&&) = default; \
+ _LIBCPP_HIDE_FROM_ABI __dtor& operator=(const __dtor&) = default; \
+ _LIBCPP_HIDE_FROM_ABI __dtor& operator=(__dtor&&) = default; \
+ destructor_definition; \
\
- protected: \
- destroy; \
- }
+ protected: \
+ destroy; \
+ }
_LIBCPP_VARIANT_DESTRUCTOR(
_Trait::_TriviallyAvailable,
@@ -793,7 +795,7 @@ _LIBCPP_VARIANT_DESTRUCTOR(_Trait::_Unavailable,
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 ~__dtor() = delete,
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 void __destroy() noexcept = delete);
-# undef _LIBCPP_VARIANT_DESTRUCTOR
+# undef _LIBCPP_VARIANT_DESTRUCTOR
template <class _Traits>
class _LIBCPP_TEMPLATE_VIS __ctor : public __dtor<_Traits> {
@@ -825,22 +827,22 @@ protected:
template <class _Traits, _Trait = _Traits::__move_constructible_trait>
class _LIBCPP_TEMPLATE_VIS __move_constructor;
-# define _LIBCPP_VARIANT_MOVE_CONSTRUCTOR(move_constructible_trait, move_constructor_definition) \
- template <class... _Types> \
- class _LIBCPP_TEMPLATE_VIS __move_constructor<__traits<_Types...>, move_constructible_trait> \
- : public __ctor<__traits<_Types...>> { \
- using __base_type = __ctor<__traits<_Types...>>; \
+# define _LIBCPP_VARIANT_MOVE_CONSTRUCTOR(move_constructible_trait, move_constructor_definition) \
+ template <class... _Types> \
+ class _LIBCPP_TEMPLATE_VIS __move_constructor<__traits<_Types...>, move_constructible_trait> \
+ : public __ctor<__traits<_Types...>> { \
+ using __base_type = __ctor<__traits<_Types...>>; \
\
- public: \
- using __base_type::__base_type; \
- using __base_type::operator=; \
+ public: \
+ using __base_type::__base_type; \
+ using __base_type::operator=; \
\
- _LIBCPP_HIDE_FROM_ABI __move_constructor(const __move_constructor&) = default; \
- _LIBCPP_HIDE_FROM_ABI ~__move_constructor() = default; \
- _LIBCPP_HIDE_FROM_ABI __move_constructor& operator=(const __move_constructor&) = default; \
- _LIBCPP_HIDE_FROM_ABI __move_constructor& operator=(__move_constructor&&) = default; \
- move_constructor_definition; \
- }
+ _LIBCPP_HIDE_FROM_ABI __move_constructor(const __move_constructor&) = default; \
+ _LIBCPP_HIDE_FROM_ABI ~__move_constructor() = default; \
+ _LIBCPP_HIDE_FROM_ABI __move_constructor& operator=(const __move_constructor&) = default; \
+ _LIBCPP_HIDE_FROM_ABI __move_constructor& operator=(__move_constructor&&) = default; \
+ move_constructor_definition; \
+ }
_LIBCPP_VARIANT_MOVE_CONSTRUCTOR(
_Trait::_TriviallyAvailable,
@@ -858,27 +860,27 @@ _LIBCPP_VARIANT_MOVE_CONSTRUCTOR(
_Trait::_Unavailable,
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 __move_constructor(__move_constructor&&) = delete);
-# undef _LIBCPP_VARIANT_MOVE_CONSTRUCTOR
+# undef _LIBCPP_VARIANT_MOVE_CONSTRUCTOR
template <class _Traits, _Trait = _Traits::__copy_constructible_trait>
class _LIBCPP_TEMPLATE_VIS __copy_constructor;
-# define _LIBCPP_VARIANT_COPY_CONSTRUCTOR(copy_constructible_trait, copy_constructor_definition) \
- template <class... _Types> \
- class _LIBCPP_TEMPLATE_VIS __copy_constructor<__traits<_Types...>, copy_constructible_trait> \
- : public __move_constructor<__traits<_Types...>> { \
- using __base_type = __move_constructor<__traits<_Types...>>; \
+# define _LIBCPP_VARIANT_COPY_CONSTRUCTOR(copy_constructible_trait, copy_constructor_definition) \
+ template <class... _Types> \
+ class _LIBCPP_TEMPLATE_VIS __copy_constructor<__traits<_Types...>, copy_constructible_trait> \
+ : public __move_constructor<__traits<_Types...>> { \
+ using __base_type = __move_constructor<__traits<_Types...>>; \
\
- public: \
- using __base_type::__base_type; \
- using __base_type::operator=; \
+ public: \
+ using __base_type::__base_type; \
+ using __base_type::operator=; \
\
- _LIBCPP_HIDE_FROM_ABI __copy_constructor(__copy_constructor&&) = default; \
- _LIBCPP_HIDE_FROM_ABI ~__copy_constructor() = default; \
- _LIBCPP_HIDE_FROM_ABI __copy_constructor& operator=(const __copy_constructor&) = default; \
- _LIBCPP_HIDE_FROM_ABI __copy_constructor& operator=(__copy_constructor&&) = default; \
- copy_constructor_definition; \
- }
+ _LIBCPP_HIDE_FROM_ABI __copy_constructor(__copy_constructor&&) = default; \
+ _LIBCPP_HIDE_FROM_ABI ~__copy_constructor() = default; \
+ _LIBCPP_HIDE_FROM_ABI __copy_constructor& operator=(const __copy_constructor&) = default; \
+ _LIBCPP_HIDE_FROM_ABI __copy_constructor& operator=(__copy_constructor&&) = default; \
+ copy_constructor_definition; \
+ }
_LIBCPP_VARIANT_COPY_CONSTRUCTOR(
_Trait::_TriviallyAvailable,
@@ -893,7 +895,7 @@ _LIBCPP_VARIANT_COPY_CONSTRUCTOR(
_Trait::_Unavailable,
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 __copy_constructor(const __copy_constructor&) = delete);
-# undef _LIBCPP_VARIANT_COPY_CONSTRUCTOR
+# undef _LIBCPP_VARIANT_COPY_CONSTRUCTOR
template <class _Traits>
class _LIBCPP_TEMPLATE_VIS __assignment : public __copy_constructor<_Traits> {
@@ -952,22 +954,22 @@ protected:
template <class _Traits, _Trait = _Traits::__move_assignable_trait>
class _LIBCPP_TEMPLATE_VIS __move_assignment;
-# define _LIBCPP_VARIANT_MOVE_ASSIGNMENT(move_assignable_trait, move_assignment_definition) \
- template <class... _Types> \
- class _LIBCPP_TEMPLATE_VIS __move_assignment<__traits<_Types...>, move_assignable_trait> \
- : public __assignment<__traits<_Types...>> { \
- using __base_type = __assignment<__traits<_Types...>>; \
+# define _LIBCPP_VARIANT_MOVE_ASSIGNMENT(move_assignable_trait, move_assignment_definition) \
+ template <class... _Types> \
+ class _LIBCPP_TEMPLATE_VIS __move_assignment<__traits<_Types...>, move_assignable_trait> \
+ : public __assignment<__traits<_Types...>> { \
+ using __base_type = __assignment<__traits<_Types...>>; \
\
- public: \
- using __base_type::__base_type; \
- using __base_type::operator=; \
+ public: \
+ using __base_type::__base_type; \
+ using __base_type::operator=; \
\
- _LIBCPP_HIDE_FROM_ABI __move_assignment(const __move_assignment&) = default; \
- _LIBCPP_HIDE_FROM_ABI __move_assignment(__move_assignment&&) = default; \
- _LIBCPP_HIDE_FROM_ABI ~__move_assignment() = default; \
- _LIBCPP_HIDE_FROM_ABI __move_assignment& operator=(const __move_assignment&) = default; \
- move_assignment_definition; \
- }
+ _LIBCPP_HIDE_FROM_ABI __move_assignment(const __move_assignment&) = default; \
+ _LIBCPP_HIDE_FROM_ABI __move_assignment(__move_assignment&&) = default; \
+ _LIBCPP_HIDE_FROM_ABI ~__move_assignment() = default; \
+ _LIBCPP_HIDE_FROM_ABI __move_assignment& operator=(const __move_assignment&) = default; \
+ move_assignment_definition; \
+ }
_LIBCPP_VARIANT_MOVE_ASSIGNMENT(_Trait::_TriviallyAvailable,
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 __move_assignment& operator=(
@@ -986,27 +988,27 @@ _LIBCPP_VARIANT_MOVE_ASSIGNMENT(
_Trait::_Unavailable,
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 __move_assignment& operator=(__move_assignment&&) = delete);
-# undef _LIBCPP_VARIANT_MOVE_ASSIGNMENT
+# undef _LIBCPP_VARIANT_MOVE_ASSIGNMENT
template <class _Traits, _Trait = _Traits::__copy_assignable_trait>
class _LIBCPP_TEMPLATE_VIS __copy_assignment;
-# define _LIBCPP_VARIANT_COPY_ASSIGNMENT(copy_assignable_trait, copy_assignment_definition) \
- template <class... _Types> \
- class _LIBCPP_TEMPLATE_VIS __copy_assignment<__traits<_Types...>, copy_assignable_trait> \
- : public __move_assignment<__traits<_Types...>> { \
- using __base_type = __move_assignment<__traits<_Types...>>; \
+# define _LIBCPP_VARIANT_COPY_ASSIGNMENT(copy_assignable_trait, copy_assignment_definition) \
+ template <class... _Types> \
+ class _LIBCPP_TEMPLATE_VIS __copy_assignment<__traits<_Types...>, copy_assignable_trait> \
+ : public __move_assignment<__traits<_Types...>> { \
+ using __base_type = __move_assignment<__traits<_Types...>>; \
\
- public: \
- using __base_type::__base_type; \
- using __base_type::operator=; \
+ public: \
+ using __base_type::__base_type; \
+ using __base_type::operator=; \
\
- _LIBCPP_HIDE_FROM_ABI __copy_assignment(const __copy_assignment&) = default; \
- _LIBCPP_HIDE_FROM_ABI __copy_assignment(__copy_assignment&&) = default; \
- _LIBCPP_HIDE_FROM_ABI ~__copy_assignment() = default; \
- _LIBCPP_HIDE_FROM_ABI __copy_assignment& operator=(__copy_assignment&&) = default; \
- copy_assignment_definition; \
- }
+ _LIBCPP_HIDE_FROM_ABI __copy_assignment(const __copy_assignment&) = default; \
+ _LIBCPP_HIDE_FROM_ABI __copy_assignment(__copy_assignment&&) = default; \
+ _LIBCPP_HIDE_FROM_ABI ~__copy_assignment() = default; \
+ _LIBCPP_HIDE_FROM_ABI __copy_assignment& operator=(__copy_assignment&&) = default; \
+ copy_assignment_definition; \
+ }
_LIBCPP_VARIANT_COPY_ASSIGNMENT(_Trait::_TriviallyAvailable,
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 __copy_assignment& operator=(
@@ -1024,7 +1026,7 @@ _LIBCPP_VARIANT_COPY_ASSIGNMENT(_Trait::_Unavailable,
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 __copy_assignment& operator=(
const __copy_assignment&) = delete);
-# undef _LIBCPP_VARIANT_COPY_ASSIGNMENT
+# undef _LIBCPP_VARIANT_COPY_ASSIGNMENT
template <class... _Types>
class _LIBCPP_TEMPLATE_VIS __impl : public __copy_assignment<__traits<_Types...>> {
@@ -1061,7 +1063,7 @@ public:
std::swap(__lhs, __rhs);
}
__impl __tmp(std::move(*__rhs));
-# if _LIBCPP_HAS_EXCEPTIONS
+# if _LIBCPP_HAS_EXCEPTIONS
if constexpr (__all<is_nothrow_move_constructible_v<_Types>...>::value) {
this->__generic_construct(*__rhs, std::move(*__lhs));
} else {
@@ -1077,11 +1079,11 @@ public:
throw;
}
}
-# else
+# else
// this isn't consolidated with the `if constexpr` branch above due to
// `throw` being ill-formed with exceptions disabled even when discarded.
this->__generic_construct(*__rhs, std::move(*__lhs));
-# endif
+# endif
this->__generic_construct(*__lhs, std::move(__tmp));
}
}
@@ -1144,14 +1146,14 @@ template <class _Visitor, class... _Vs, typename = void_t<decltype(std::__as_var
_LIBCPP_HIDE_FROM_ABI _LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS constexpr decltype(auto)
visit(_Visitor&& __visitor, _Vs&&... __vs);
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class _Rp,
class _Visitor,
class... _Vs,
typename = void_t<decltype(std::__as_variant(std::declval<_Vs>()))...>>
_LIBCPP_HIDE_FROM_ABI _LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS constexpr _Rp
visit(_Visitor&& __visitor, _Vs&&... __vs);
-# endif
+# endif
template <class... _Types>
class _LIBCPP_TEMPLATE_VIS _LIBCPP_DECLSPEC_EMPTY_BASES variant
@@ -1299,7 +1301,7 @@ public:
__impl_.__swap(__that.__impl_);
}
-# if _LIBCPP_STD_VER >= 26 && _LIBCPP_HAS_EXPLICIT_THIS_PARAMETER
+# if _LIBCPP_STD_VER >= 26 && _LIBCPP_HAS_EXPLICIT_THIS_PARAMETER
// Helper class to implement [variant.visit]/10
// Constraints: The call to visit does not use an explicit template-argument-list
// that begins with a type template-argument.
@@ -1309,16 +1311,14 @@ public:
template <__variant_visit_barrier_tag = __variant_visit_barrier_tag{}, class _Self, class _Visitor>
_LIBCPP_HIDE_FROM_ABI constexpr decltype(auto) visit(this _Self&& __self, _Visitor&& __visitor) {
- using _VariantT = _OverrideRef<_Self&&, _CopyConst<remove_reference_t<_Self>, variant>>;
- return std::visit(std::forward<_Visitor>(__visitor), (_VariantT)__self);
+ return std::visit(std::forward<_Visitor>(__visitor), std::__forward_as<_Self, variant>(__self));
}
template <class _Rp, class _Self, class _Visitor>
_LIBCPP_HIDE_FROM_ABI constexpr _Rp visit(this _Self&& __self, _Visitor&& __visitor) {
- using _VariantT = _OverrideRef<_Self&&, _CopyConst<remove_reference_t<_Self>, variant>>;
- return std::visit<_Rp>(std::forward<_Visitor>(__visitor), (_VariantT)__self);
+ return std::visit<_Rp>(std::forward<_Visitor>(__visitor), std::__forward_as<_Self, variant>(__self));
}
-# endif
+# endif
private:
__variant_detail::__impl<_Types...> __impl_;
@@ -1462,7 +1462,7 @@ _LIBCPP_HIDE_FROM_ABI constexpr bool operator==(const variant<_Types...>& __lhs,
return __variant::__visit_value_at(__lhs.index(), __convert_to_bool<equal_to<>>{}, __lhs, __rhs);
}
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template <class... _Types>
requires(three_way_comparable<_Types> && ...)
@@ -1482,7 +1482,7 @@ operator<=>(const variant<_Types...>& __lhs, const variant<_Types...>& __rhs) {
return __variant::__visit_value_at(__lhs.index(), __three_way, __lhs, __rhs);
}
-# endif // _LIBCPP_STD_VER >= 20
+# endif // _LIBCPP_STD_VER >= 20
template <class... _Types>
_LIBCPP_HIDE_FROM_ABI constexpr bool operator!=(const variant<_Types...>& __lhs, const variant<_Types...>& __rhs) {
@@ -1566,7 +1566,7 @@ visit(_Visitor&& __visitor, _Vs&&... __vs) {
return __variant::__visit_value(std::forward<_Visitor>(__visitor), std::forward<_Vs>(__vs)...);
}
-# if _LIBCPP_STD_VER >= 20
+# if _LIBCPP_STD_VER >= 20
template < class _Rp, class _Visitor, class... _Vs, typename>
_LIBCPP_HIDE_FROM_ABI _LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS constexpr _Rp
visit(_Visitor&& __visitor, _Vs&&... __vs) {
@@ -1574,7 +1574,7 @@ visit(_Visitor&& __visitor, _Vs&&... __vs) {
std::__throw_if_valueless(std::forward<_Vs>(__vs)...);
return __variant::__visit_value<_Rp>(std::forward<_Visitor>(__visitor), std::forward<_Vs>(__vs)...);
}
-# endif
+# endif
template <class... _Types>
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX20 auto
@@ -1623,19 +1623,20 @@ _LIBCPP_HIDE_FROM_ABI constexpr auto&& __unchecked_get(variant<_Types...>& __v)
return std::__unchecked_get<__find_exactly_one_t<_Tp, _Types...>::value>(__v);
}
-#endif // _LIBCPP_STD_VER >= 17
+# endif // _LIBCPP_STD_VER >= 17
_LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <cstddef>
-# include <exception>
-# include <tuple>
-# include <type_traits>
-# include <typeinfo>
-# include <utility>
-#endif
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <cstddef>
+# include <exception>
+# include <tuple>
+# include <type_traits>
+# include <typeinfo>
+# include <utility>
+# endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_VARIANT
diff --git a/libcxx/include/vector b/libcxx/include/vector
index f4fa758f6f6d..9fa81dcb7e76 100644
--- a/libcxx/include/vector
+++ b/libcxx/include/vector
@@ -304,67 +304,71 @@ template<class T, class charT> requires is-vector-bool-reference<T> // Since C++
// clang-format on
-#include <__config>
-
-#include <__vector/comparison.h>
-#include <__vector/swap.h>
-#include <__vector/vector.h>
-#include <__vector/vector_bool.h>
-
-#if _LIBCPP_STD_VER >= 17
-# include <__vector/pmr.h>
-#endif
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/vector>
+#else
+# include <__config>
+
+# include <__vector/comparison.h>
+# include <__vector/swap.h>
+# include <__vector/vector.h>
+# include <__vector/vector_bool.h>
+
+# if _LIBCPP_STD_VER >= 17
+# include <__vector/pmr.h>
+# endif
-#if _LIBCPP_STD_VER >= 20
-# include <__vector/erase.h>
-#endif
+# if _LIBCPP_STD_VER >= 20
+# include <__vector/erase.h>
+# endif
-#if _LIBCPP_STD_VER >= 23
-# include <__vector/vector_bool_formatter.h>
-#endif
+# if _LIBCPP_STD_VER >= 23
+# include <__vector/vector_bool_formatter.h>
+# endif
-#include <version>
+# include <version>
// standard-mandated includes
// [iterator.range]
-#include <__iterator/access.h>
-#include <__iterator/data.h>
-#include <__iterator/empty.h>
-#include <__iterator/reverse_access.h>
-#include <__iterator/size.h>
+# include <__iterator/access.h>
+# include <__iterator/data.h>
+# include <__iterator/empty.h>
+# include <__iterator/reverse_access.h>
+# include <__iterator/size.h>
// [vector.syn]
-#include <compare>
-#include <initializer_list>
+# include <compare>
+# include <initializer_list>
// [vector.syn], [unord.hash]
-#include <__functional/hash.h>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
-
-#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
-# include <algorithm>
-# include <array>
-# include <atomic>
-# include <cctype>
-# include <cerrno>
-# include <clocale>
-# include <concepts>
-# include <cstdint>
-# include <cstdlib>
-# include <iosfwd>
-# if _LIBCPP_HAS_LOCALIZATION
-# include <locale>
+# include <__functional/hash.h>
+
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
+
+# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <algorithm>
+# include <array>
+# include <atomic>
+# include <cctype>
+# include <cerrno>
+# include <clocale>
+# include <concepts>
+# include <cstdint>
+# include <cstdlib>
+# include <iosfwd>
+# if _LIBCPP_HAS_LOCALIZATION
+# include <locale>
+# endif
+# include <string>
+# include <string_view>
+# include <tuple>
+# include <type_traits>
+# include <typeinfo>
+# include <utility>
# endif
-# include <string>
-# include <string_view>
-# include <tuple>
-# include <type_traits>
-# include <typeinfo>
-# include <utility>
-#endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_VECTOR
diff --git a/libcxx/include/version b/libcxx/include/version
index fc57aeade9da..23cffd960e5d 100644
--- a/libcxx/include/version
+++ b/libcxx/include/version
@@ -269,11 +269,14 @@ __cpp_lib_void_t 201411L <type_traits>
*/
-#include <__config>
+#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/version>
+#else
+# include <__config>
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-#endif
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
// clang-format off
@@ -581,6 +584,8 @@ __cpp_lib_void_t 201411L <type_traits>
# define __cpp_lib_variant 202306L
#endif
+#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+
// clang-format on
#endif // _LIBCPP_VERSIONH
diff --git a/libcxx/include/wchar.h b/libcxx/include/wchar.h
index b7cd5d7fc62c..a932dd266b86 100644
--- a/libcxx/include/wchar.h
+++ b/libcxx/include/wchar.h
@@ -7,17 +7,6 @@
//
//===----------------------------------------------------------------------===//
-#if defined(__need_wint_t) || defined(__need_mbstate_t)
-
-# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-# pragma GCC system_header
-# endif
-
-# include_next <wchar.h>
-
-#elif !defined(_LIBCPP_WCHAR_H)
-# define _LIBCPP_WCHAR_H
-
/*
wchar.h synopsis
@@ -105,8 +94,10 @@ size_t wcsrtombs(char* restrict dst, const wchar_t** restrict src, size_t len,
*/
+#if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
+# include <__cxx03/wchar.h>
+#else
# include <__config>
-# include <stddef.h>
# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
@@ -114,31 +105,38 @@ size_t wcsrtombs(char* restrict dst, const wchar_t** restrict src, size_t len,
// We define this here to support older versions of glibc <wchar.h> that do
// not define this for clang.
-# ifdef __cplusplus
+# if defined(__cplusplus) && !defined(__CORRECT_ISO_CPP_WCHAR_H_PROTO)
# define __CORRECT_ISO_CPP_WCHAR_H_PROTO
# endif
+// The inclusion of the system's <wchar.h> is intentionally done once outside of any include
+// guards because some code expects to be able to include the underlying system header multiple
+// times to get different definitions based on the macros that are set before inclusion.
# if __has_include_next(<wchar.h>)
# include_next <wchar.h>
-# else
-# include <__mbstate_t.h> // make sure we have mbstate_t regardless of the existence of <wchar.h>
# endif
+# ifndef _LIBCPP_WCHAR_H
+# define _LIBCPP_WCHAR_H
+
+# include <__mbstate_t.h> // provide mbstate_t
+# include <stddef.h> // provide size_t
+
// Determine whether we have const-correct overloads for wcschr and friends.
-# if defined(_WCHAR_H_CPLUSPLUS_98_CONFORMANCE_)
-# define _LIBCPP_WCHAR_H_HAS_CONST_OVERLOADS 1
-# elif defined(__GLIBC_PREREQ)
-# if __GLIBC_PREREQ(2, 10)
-# define _LIBCPP_WCHAR_H_HAS_CONST_OVERLOADS 1
-# endif
-# elif defined(_LIBCPP_MSVCRT)
-# if defined(_CRT_CONST_CORRECT_OVERLOADS)
+# if defined(_WCHAR_H_CPLUSPLUS_98_CONFORMANCE_)
# define _LIBCPP_WCHAR_H_HAS_CONST_OVERLOADS 1
+# elif defined(__GLIBC_PREREQ)
+# if __GLIBC_PREREQ(2, 10)
+# define _LIBCPP_WCHAR_H_HAS_CONST_OVERLOADS 1
+# endif
+# elif defined(_LIBCPP_MSVCRT)
+# if defined(_CRT_CONST_CORRECT_OVERLOADS)
+# define _LIBCPP_WCHAR_H_HAS_CONST_OVERLOADS 1
+# endif
# endif
-# endif
-# if _LIBCPP_HAS_WIDE_CHARACTERS
-# if defined(__cplusplus) && !defined(_LIBCPP_WCHAR_H_HAS_CONST_OVERLOADS) && defined(_LIBCPP_PREFERRED_OVERLOAD)
+# if _LIBCPP_HAS_WIDE_CHARACTERS
+# if defined(__cplusplus) && !defined(_LIBCPP_WCHAR_H_HAS_CONST_OVERLOADS) && defined(_LIBCPP_PREFERRED_OVERLOAD)
extern "C++" {
inline _LIBCPP_HIDE_FROM_ABI wchar_t* __libcpp_wcschr(const wchar_t* __s, wchar_t __c) {
return (wchar_t*)wcschr(__s, __c);
@@ -193,16 +191,17 @@ inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_PREFERRED_OVERLOAD wchar_t* wmemchr(wchar_t
return __libcpp_wmemchr(__s, __c, __n);
}
}
-# endif
+# endif
-# if defined(__cplusplus) && (defined(_LIBCPP_MSVCRT_LIKE) || defined(__MVS__))
+# if defined(__cplusplus) && (defined(_LIBCPP_MSVCRT_LIKE) || defined(__MVS__))
extern "C" {
size_t mbsnrtowcs(
wchar_t* __restrict __dst, const char** __restrict __src, size_t __nmc, size_t __len, mbstate_t* __restrict __ps);
size_t wcsnrtombs(
char* __restrict __dst, const wchar_t** __restrict __src, size_t __nwc, size_t __len, mbstate_t* __restrict __ps);
} // extern "C"
-# endif // __cplusplus && (_LIBCPP_MSVCRT || __MVS__)
-# endif // _LIBCPP_HAS_WIDE_CHARACTERS
+# endif // __cplusplus && (_LIBCPP_MSVCRT || __MVS__)
+# endif // _LIBCPP_HAS_WIDE_CHARACTERS
+# endif // _LIBCPP_WCHAR_H
-#endif // _LIBCPP_WCHAR_H
+#endif // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
diff --git a/libcxx/include/wctype.h b/libcxx/include/wctype.h
index 9f378eaf8202..9a5b163ba43a 100644
--- a/libcxx/include/wctype.h
+++ b/libcxx/include/wctype.h
@@ -44,11 +44,14 @@ wctrans_t wctrans(const char* property);
*/
-#include <__config>
+#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)
-# pragma GCC system_header
-#endif
+# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+# endif
// TODO:
// In the future, we should unconditionally include_next <wctype.h> here and instead
@@ -59,32 +62,33 @@ wctrans_t wctrans(const char* property);
// nothing (with using_if_exists), and if we include another header that defines one
// of these declarations (e.g. <wchar.h>), the second `using ::wint_t` with using_if_exists
// will fail because it does not refer to the same declaration.
-#if __has_include_next(<wctype.h>)
-# include_next <wctype.h>
-# define _LIBCPP_INCLUDED_C_LIBRARY_WCTYPE_H
-#endif
+# if __has_include_next(<wctype.h>)
+# include_next <wctype.h>
+# define _LIBCPP_INCLUDED_C_LIBRARY_WCTYPE_H
+# endif
-#ifdef __cplusplus
+# ifdef __cplusplus
-# undef iswalnum
-# undef iswalpha
-# undef iswblank
-# undef iswcntrl
-# undef iswdigit
-# undef iswgraph
-# undef iswlower
-# undef iswprint
-# undef iswpunct
-# undef iswspace
-# undef iswupper
-# undef iswxdigit
-# undef iswctype
-# undef wctype
-# undef towlower
-# undef towupper
-# undef towctrans
-# undef wctrans
+# undef iswalnum
+# undef iswalpha
+# undef iswblank
+# undef iswcntrl
+# undef iswdigit
+# undef iswgraph
+# undef iswlower
+# undef iswprint
+# undef iswpunct
+# undef iswspace
+# undef iswupper
+# undef iswxdigit
+# undef iswctype
+# undef wctype
+# undef towlower
+# undef towupper
+# undef towctrans
+# undef wctrans
-#endif // __cplusplus
+# endif // __cplusplus
+#endif // defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#endif // _LIBCPP_WCTYPE_H