Skip to content

Conversation

philnik777
Copy link
Contributor

@philnik777 philnik777 commented Sep 17, 2024

This is part of the "Freezing C++03 headers" proposal explained in https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc/77319/58.

This patch updates the include paths used in __cxx03/ to refer to the __cxx03/ headers.

Copy link
Contributor Author

philnik777 commented Sep 17, 2024

Copy link

github-actions bot commented Sep 17, 2024

✅ With the latest revision this PR passed the C/C++ code formatter.

@philnik777 philnik777 marked this pull request as ready for review September 17, 2024 16:01
@philnik777 philnik777 requested a review from a team as a code owner September 17, 2024 16:01
@llvmbot llvmbot added the libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi. label Sep 17, 2024
@llvmbot
Copy link
Member

llvmbot commented Sep 17, 2024

@llvm/pr-subscribers-libcxx

Author: Nikolas Klauser (philnik777)

Changes

Patch is 1.15 MiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/109000.diff

1010 Files Affected:

  • (modified) libcxx/include/__cxx03/__algorithm/adjacent_find.h (+6-6)
  • (modified) libcxx/include/__cxx03/__algorithm/all_of.h (+1-1)
  • (modified) libcxx/include/__cxx03/__algorithm/any_of.h (+1-1)
  • (modified) libcxx/include/__cxx03/__algorithm/binary_search.h (+5-5)
  • (modified) libcxx/include/__cxx03/__algorithm/clamp.h (+3-3)
  • (modified) libcxx/include/__cxx03/__algorithm/comp.h (+2-2)
  • (modified) libcxx/include/__cxx03/__algorithm/comp_ref_type.h (+3-3)
  • (modified) libcxx/include/__cxx03/__algorithm/copy.h (+10-10)
  • (modified) libcxx/include/__cxx03/__algorithm/copy_backward.h (+10-10)
  • (modified) libcxx/include/__cxx03/__algorithm/copy_if.h (+1-1)
  • (modified) libcxx/include/__cxx03/__algorithm/copy_move_common.h (+17-17)
  • (modified) libcxx/include/__cxx03/__algorithm/copy_n.h (+5-5)
  • (modified) libcxx/include/__cxx03/__algorithm/count.h (+10-10)
  • (modified) libcxx/include/__cxx03/__algorithm/count_if.h (+2-2)
  • (modified) libcxx/include/__cxx03/__algorithm/equal.h (+15-15)
  • (modified) libcxx/include/__cxx03/__algorithm/equal_range.h (+18-18)
  • (modified) libcxx/include/__cxx03/__algorithm/fill.h (+3-3)
  • (modified) libcxx/include/__cxx03/__algorithm/fill_n.h (+7-7)
  • (modified) libcxx/include/__cxx03/__algorithm/find.h (+18-18)
  • (modified) libcxx/include/__cxx03/__algorithm/find_end.h (+11-11)
  • (modified) libcxx/include/__cxx03/__algorithm/find_first_of.h (+3-3)
  • (modified) libcxx/include/__cxx03/__algorithm/find_if.h (+1-1)
  • (modified) libcxx/include/__cxx03/__algorithm/find_if_not.h (+1-1)
  • (modified) libcxx/include/__cxx03/__algorithm/find_segment_if.h (+2-2)
  • (modified) libcxx/include/__cxx03/__algorithm/fold.h (+18-18)
  • (modified) libcxx/include/__cxx03/__algorithm/for_each.h (+8-8)
  • (modified) libcxx/include/__cxx03/__algorithm/for_each_n.h (+2-2)
  • (modified) libcxx/include/__cxx03/__algorithm/for_each_segment.h (+2-2)
  • (modified) libcxx/include/__cxx03/__algorithm/generate.h (+1-1)
  • (modified) libcxx/include/__cxx03/__algorithm/generate_n.h (+2-2)
  • (modified) libcxx/include/__cxx03/__algorithm/half_positive.h (+4-4)
  • (modified) libcxx/include/__cxx03/__algorithm/in_found_result.h (+4-4)
  • (modified) libcxx/include/__cxx03/__algorithm/in_fun_result.h (+4-4)
  • (modified) libcxx/include/__cxx03/__algorithm/in_in_out_result.h (+4-4)
  • (modified) libcxx/include/__cxx03/__algorithm/in_in_result.h (+4-4)
  • (modified) libcxx/include/__cxx03/__algorithm/in_out_out_result.h (+4-4)
  • (modified) libcxx/include/__cxx03/__algorithm/in_out_result.h (+4-4)
  • (modified) libcxx/include/__cxx03/__algorithm/includes.h (+9-9)
  • (modified) libcxx/include/__cxx03/__algorithm/inplace_merge.h (+20-20)
  • (modified) libcxx/include/__cxx03/__algorithm/is_heap.h (+5-5)
  • (modified) libcxx/include/__cxx03/__algorithm/is_heap_until.h (+4-4)
  • (modified) libcxx/include/__cxx03/__algorithm/is_partitioned.h (+1-1)
  • (modified) libcxx/include/__cxx03/__algorithm/is_permutation.h (+12-12)
  • (modified) libcxx/include/__cxx03/__algorithm/is_sorted.h (+5-5)
  • (modified) libcxx/include/__cxx03/__algorithm/is_sorted_until.h (+4-4)
  • (modified) libcxx/include/__cxx03/__algorithm/iter_swap.h (+3-3)
  • (modified) libcxx/include/__cxx03/__algorithm/iterator_operations.h (+21-21)
  • (modified) libcxx/include/__cxx03/__algorithm/lexicographical_compare.h (+4-4)
  • (modified) libcxx/include/__cxx03/__algorithm/lexicographical_compare_three_way.h (+11-11)
  • (modified) libcxx/include/__cxx03/__algorithm/lower_bound.h (+11-11)
  • (modified) libcxx/include/__cxx03/__algorithm/make_heap.h (+8-8)
  • (modified) libcxx/include/__cxx03/__algorithm/make_projected.h (+11-11)
  • (modified) libcxx/include/__cxx03/__algorithm/max.h (+6-6)
  • (modified) libcxx/include/__cxx03/__algorithm/max_element.h (+4-4)
  • (modified) libcxx/include/__cxx03/__algorithm/merge.h (+5-5)
  • (modified) libcxx/include/__cxx03/__algorithm/min.h (+6-6)
  • (modified) libcxx/include/__cxx03/__algorithm/min_element.h (+9-9)
  • (modified) libcxx/include/__cxx03/__algorithm/min_max_result.h (+4-4)
  • (modified) libcxx/include/__cxx03/__algorithm/minmax.h (+7-7)
  • (modified) libcxx/include/__cxx03/__algorithm/minmax_element.h (+7-7)
  • (modified) libcxx/include/__cxx03/__algorithm/mismatch.h (+17-17)
  • (modified) libcxx/include/__cxx03/__algorithm/move.h (+11-11)
  • (modified) libcxx/include/__cxx03/__algorithm/move_backward.h (+10-10)
  • (modified) libcxx/include/__cxx03/__algorithm/next_permutation.h (+9-9)
  • (modified) libcxx/include/__cxx03/__algorithm/none_of.h (+1-1)
  • (modified) libcxx/include/__cxx03/__algorithm/nth_element.h (+10-10)
  • (modified) libcxx/include/__cxx03/__algorithm/partial_sort.h (+13-13)
  • (modified) libcxx/include/__cxx03/__algorithm/partial_sort_copy.h (+15-15)
  • (modified) libcxx/include/__cxx03/__algorithm/partition.h (+6-6)
  • (modified) libcxx/include/__cxx03/__algorithm/partition_copy.h (+3-3)
  • (modified) libcxx/include/__cxx03/__algorithm/partition_point.h (+5-5)
  • (modified) libcxx/include/__cxx03/__algorithm/pop_heap.h (+12-12)
  • (modified) libcxx/include/__cxx03/__algorithm/prev_permutation.h (+9-9)
  • (modified) libcxx/include/__cxx03/__algorithm/pstl.h (+13-13)
  • (modified) libcxx/include/__cxx03/__algorithm/push_heap.h (+9-9)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_adjacent_find.h (+11-11)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_all_of.h (+9-9)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_any_of.h (+9-9)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_binary_search.h (+11-11)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_clamp.h (+9-9)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_contains.h (+12-12)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_contains_subrange.h (+14-14)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_copy.h (+12-12)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_copy_backward.h (+10-10)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_copy_if.h (+11-11)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_copy_n.h (+12-12)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_count.h (+13-13)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_count_if.h (+12-12)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_ends_with.h (+15-15)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_equal.h (+13-13)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_equal_range.h (+17-17)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_fill.h (+7-7)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_fill_n.h (+4-4)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_find.h (+15-15)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_find_end.h (+14-14)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_find_first_of.h (+11-11)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_find_if.h (+11-11)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_find_if_not.h (+13-13)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_find_last.h (+14-14)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_for_each.h (+11-11)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_for_each_n.h (+11-11)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_generate.h (+11-11)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_generate_n.h (+12-12)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_includes.h (+14-14)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_inplace_merge.h (+18-18)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_is_heap.h (+13-13)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_is_heap_until.h (+14-14)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_is_partitioned.h (+10-10)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_is_permutation.h (+12-12)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_is_sorted.h (+10-10)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_is_sorted_until.h (+11-11)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_iterator_concept.h (+5-5)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_lexicographical_compare.h (+10-10)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_lower_bound.h (+14-14)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_make_heap.h (+19-19)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_max.h (+15-15)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_max_element.h (+11-11)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_merge.h (+14-14)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_min.h (+14-14)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_min_element.h (+11-11)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_minmax.h (+23-23)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_minmax_element.h (+15-15)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_mismatch.h (+14-14)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_move.h (+10-10)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_move_backward.h (+12-12)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_next_permutation.h (+15-15)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_none_of.h (+9-9)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_nth_element.h (+18-18)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_partial_sort.h (+20-20)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_partial_sort_copy.h (+17-17)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_partition.h (+19-19)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_partition_copy.h (+13-13)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_partition_point.h (+14-14)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_pop_heap.h (+19-19)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_prev_permutation.h (+15-15)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_push_heap.h (+19-19)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_remove.h (+12-12)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_remove_copy.h (+13-13)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_remove_copy_if.h (+16-16)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_remove_if.h (+15-15)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_replace.h (+11-11)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_replace_copy.h (+13-13)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_replace_copy_if.h (+11-11)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_replace_if.h (+10-10)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_reverse.h (+8-8)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_reverse_copy.h (+12-12)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_rotate.h (+12-12)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_rotate_copy.h (+9-9)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_sample.h (+14-14)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_search.h (+14-14)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_search_n.h (+18-18)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_set_difference.h (+17-17)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_set_intersection.h (+15-15)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_set_symmetric_difference.h (+15-15)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_set_union.h (+18-18)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_shuffle.h (+18-18)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_sort.h (+18-18)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_sort_heap.h (+19-19)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_stable_partition.h (+21-21)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_stable_sort.h (+18-18)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_starts_with.h (+11-11)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_swap_ranges.h (+11-11)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_transform.h (+13-13)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_unique.h (+19-19)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_unique_copy.h (+19-19)
  • (modified) libcxx/include/__cxx03/__algorithm/ranges_upper_bound.h (+11-11)
  • (modified) libcxx/include/__cxx03/__algorithm/remove.h (+5-5)
  • (modified) libcxx/include/__cxx03/__algorithm/remove_copy.h (+1-1)
  • (modified) libcxx/include/__cxx03/__algorithm/remove_copy_if.h (+1-1)
  • (modified) libcxx/include/__cxx03/__algorithm/remove_if.h (+4-4)
  • (modified) libcxx/include/__cxx03/__algorithm/replace.h (+1-1)
  • (modified) libcxx/include/__cxx03/__algorithm/replace_copy.h (+1-1)
  • (modified) libcxx/include/__cxx03/__algorithm/replace_copy_if.h (+1-1)
  • (modified) libcxx/include/__cxx03/__algorithm/replace_if.h (+1-1)
  • (modified) libcxx/include/__cxx03/__algorithm/reverse.h (+6-6)
  • (modified) libcxx/include/__cxx03/__algorithm/reverse_copy.h (+1-1)
  • (modified) libcxx/include/__cxx03/__algorithm/rotate.h (+10-10)
  • (modified) libcxx/include/__cxx03/__algorithm/rotate_copy.h (+2-2)
  • (modified) libcxx/include/__cxx03/__algorithm/sample.h (+10-10)
  • (modified) libcxx/include/__cxx03/__algorithm/search.h (+11-11)
  • (modified) libcxx/include/__cxx03/__algorithm/search_n.h (+13-13)
  • (modified) libcxx/include/__cxx03/__algorithm/set_difference.h (+12-12)
  • (modified) libcxx/include/__cxx03/__algorithm/set_intersection.h (+13-13)
  • (modified) libcxx/include/__cxx03/__algorithm/set_symmetric_difference.h (+9-9)
  • (modified) libcxx/include/__cxx03/__algorithm/set_union.h (+9-9)
  • (modified) libcxx/include/__cxx03/__algorithm/shift_left.h (+4-4)
  • (modified) libcxx/include/__cxx03/__algorithm/shift_right.h (+7-7)
  • (modified) libcxx/include/__cxx03/__algorithm/shuffle.h (+10-10)
  • (modified) libcxx/include/__cxx03/__algorithm/sift_down.h (+6-6)
  • (modified) libcxx/include/__cxx03/__algorithm/simd_utils.h (+11-11)
  • (modified) libcxx/include/__cxx03/__algorithm/sort.h (+26-26)
  • (modified) libcxx/include/__cxx03/__algorithm/sort_heap.h (+11-11)
  • (modified) libcxx/include/__cxx03/__algorithm/stable_partition.h (+13-13)
  • (modified) libcxx/include/__cxx03/__algorithm/stable_sort.h (+16-16)
  • (modified) libcxx/include/__cxx03/__algorithm/swap_ranges.h (+5-5)
  • (modified) libcxx/include/__cxx03/__algorithm/three_way_comp_ref_type.h (+5-5)
  • (modified) libcxx/include/__cxx03/__algorithm/transform.h (+1-1)
  • (modified) libcxx/include/__cxx03/__algorithm/uniform_random_bit_generator_adaptor.h (+4-4)
  • (modified) libcxx/include/__cxx03/__algorithm/unique.h (+8-8)
  • (modified) libcxx/include/__cxx03/__algorithm/unique_copy.h (+10-10)
  • (modified) libcxx/include/__cxx03/__algorithm/unwrap_iter.h (+8-8)
  • (modified) libcxx/include/__cxx03/__algorithm/unwrap_range.h (+9-9)
  • (modified) libcxx/include/__cxx03/__algorithm/upper_bound.h (+12-12)
  • (modified) libcxx/include/__cxx03/__assert (+1-1)
  • (modified) libcxx/include/__cxx03/__atomic/aliases.h (+9-9)
  • (modified) libcxx/include/__cxx03/__atomic/atomic.h (+16-16)
  • (modified) libcxx/include/__cxx03/__atomic/atomic_base.h (+11-11)
  • (modified) libcxx/include/__cxx03/__atomic/atomic_flag.h (+9-9)
  • (modified) libcxx/include/__cxx03/__atomic/atomic_init.h (+1-1)
  • (modified) libcxx/include/__cxx03/__atomic/atomic_lock_free.h (+1-1)
  • (modified) libcxx/include/__cxx03/__atomic/atomic_ref.h (+14-14)
  • (modified) libcxx/include/__cxx03/__atomic/atomic_sync.h (+15-15)
  • (modified) libcxx/include/__cxx03/__atomic/check_memory_order.h (+1-1)
  • (modified) libcxx/include/__cxx03/__atomic/contention_t.h (+3-3)
  • (modified) libcxx/include/__cxx03/__atomic/cxx_atomic_impl.h (+8-8)
  • (modified) libcxx/include/__cxx03/__atomic/fence.h (+3-3)
  • (modified) libcxx/include/__cxx03/__atomic/is_always_lock_free.h (+1-1)
  • (modified) libcxx/include/__cxx03/__atomic/kill_dependency.h (+1-1)
  • (modified) libcxx/include/__cxx03/__atomic/memory_order.h (+3-3)
  • (modified) libcxx/include/__cxx03/__atomic/to_gcc_order.h (+2-2)
  • (modified) libcxx/include/__cxx03/__bit/bit_cast.h (+2-2)
  • (modified) libcxx/include/__cxx03/__bit/bit_ceil.h (+5-5)
  • (modified) libcxx/include/__cxx03/__bit/bit_floor.h (+4-4)
  • (modified) libcxx/include/__cxx03/__bit/bit_log2.h (+4-4)
  • (modified) libcxx/include/__cxx03/__bit/bit_width.h (+3-3)
  • (modified) libcxx/include/__cxx03/__bit/blsr.h (+1-1)
  • (modified) libcxx/include/__cxx03/__bit/byteswap.h (+3-3)
  • (modified) libcxx/include/__cxx03/__bit/countl.h (+6-6)
  • (modified) libcxx/include/__cxx03/__bit/countr.h (+5-5)
  • (modified) libcxx/include/__cxx03/__bit/endian.h (+1-1)
  • (modified) libcxx/include/__cxx03/__bit/has_single_bit.h (+3-3)
  • (modified) libcxx/include/__cxx03/__bit/invert_if.h (+2-2)
  • (modified) libcxx/include/__cxx03/__bit/popcount.h (+5-5)
  • (modified) libcxx/include/__cxx03/__bit/rotate.h (+4-4)
  • (modified) libcxx/include/__cxx03/__bit_reference (+16-16)
  • (modified) libcxx/include/__cxx03/__charconv/chars_format.h (+2-2)
  • (modified) libcxx/include/__cxx03/__charconv/from_chars_integral.h (+17-17)
  • (modified) libcxx/include/__cxx03/__charconv/from_chars_result.h (+2-2)
  • (modified) libcxx/include/__cxx03/__charconv/tables.h (+2-2)
  • (modified) libcxx/include/__cxx03/__charconv/to_chars.h (+3-3)
  • (modified) libcxx/include/__cxx03/__charconv/to_chars_base_10.h (+7-7)
  • (modified) libcxx/include/__cxx03/__charconv/to_chars_floating_point.h (+3-3)
  • (modified) libcxx/include/__cxx03/__charconv/to_chars_integral.h (+19-19)
  • (modified) libcxx/include/__cxx03/__charconv/to_chars_result.h (+2-2)
  • (modified) libcxx/include/__cxx03/__charconv/traits.h (+10-10)
  • (modified) libcxx/include/__cxx03/__chrono/calendar.h (+3-3)
  • (modified) libcxx/include/__cxx03/__chrono/concepts.h (+4-4)
  • (modified) libcxx/include/__cxx03/__chrono/convert_to_timespec.h (+4-4)
  • (modified) libcxx/include/__cxx03/__chrono/convert_to_tm.h (+30-30)
  • (modified) libcxx/include/__cxx03/__chrono/day.h (+3-3)
  • (modified) libcxx/include/__cxx03/__chrono/duration.h (+11-11)
  • (modified) libcxx/include/__cxx03/__chrono/exception.h (+10-10)
  • (modified) libcxx/include/__cxx03/__chrono/file_clock.h (+5-5)
  • (modified) libcxx/include/__cxx03/__chrono/formatter.h (+41-41)
  • (modified) libcxx/include/__cxx03/__chrono/hh_mm_ss.h (+5-5)
  • (modified) libcxx/include/__cxx03/__chrono/high_resolution_clock.h (+3-3)
  • (modified) libcxx/include/__cxx03/__chrono/leap_second.h (+8-8)
  • (modified) libcxx/include/__cxx03/__chrono/literals.h (+3-3)
  • (modified) libcxx/include/__cxx03/__chrono/local_info.h (+3-3)
  • (modified) libcxx/include/__cxx03/__chrono/month.h (+3-3)
  • (modified) libcxx/include/__cxx03/__chrono/month_weekday.h (+3-3)
  • (modified) libcxx/include/__cxx03/__chrono/monthday.h (+5-5)
  • (modified) libcxx/include/__cxx03/__chrono/ostream.h (+23-23)
  • (modified) libcxx/include/__cxx03/__chrono/parser_std_format_spec.h (+7-7)
  • (modified) libcxx/include/__cxx03/__chrono/statically_widen.h (+3-3)
  • (modified) libcxx/include/__cxx03/__chrono/steady_clock.h (+3-3)
  • (modified) libcxx/include/__cxx03/__chrono/sys_info.h (+6-6)
  • (modified) libcxx/include/__cxx03/__chrono/system_clock.h (+4-4)
  • (modified) libcxx/include/__cxx03/__chrono/time_point.h (+9-9)
  • (modified) libcxx/include/__cxx03/__chrono/time_zone.h (+13-13)
  • (modified) libcxx/include/__cxx03/__chrono/time_zone_link.h (+7-7)
  • (modified) libcxx/include/__cxx03/__chrono/tzdb.h (+9-9)
  • (modified) libcxx/include/__cxx03/__chrono/tzdb_list.h (+6-6)
  • (modified) libcxx/include/__cxx03/__chrono/weekday.h (+5-5)
  • (modified) libcxx/include/__cxx03/__chrono/year.h (+5-5)
  • (modified) libcxx/include/__cxx03/__chrono/year_month.h (+5-5)
  • (modified) libcxx/include/__cxx03/__chrono/year_month_day.h (+12-12)
  • (modified) libcxx/include/__cxx03/__chrono/year_month_weekday.h (+12-12)
  • (modified) libcxx/include/__cxx03/__chrono/zoned_time.h (+14-14)
  • (modified) libcxx/include/__cxx03/__compare/common_comparison_category.h (+4-4)
  • (modified) libcxx/include/__cxx03/__compare/compare_partial_order_fallback.h (+7-7)
  • (modified) libcxx/include/__cxx03/__compare/compare_strong_order_fallback.h (+7-7)
  • (modified) libcxx/include/__cxx03/__compare/compare_three_way.h (+3-3)
  • (modified) libcxx/include/__cxx03/__compare/compare_three_way_result.h (+3-3)
  • (modified) libcxx/include/__cxx03/__compare/compare_weak_order_fallback.h (+7-7)
diff --git a/libcxx/include/__cxx03/__algorithm/adjacent_find.h b/libcxx/include/__cxx03/__algorithm/adjacent_find.h
index 6f15456e3a4d07..88036db84de899 100644
--- a/libcxx/include/__cxx03/__algorithm/adjacent_find.h
+++ b/libcxx/include/__cxx03/__algorithm/adjacent_find.h
@@ -10,18 +10,18 @@
 #ifndef _LIBCPP___ALGORITHM_ADJACENT_FIND_H
 #define _LIBCPP___ALGORITHM_ADJACENT_FIND_H
 
-#include <__algorithm/comp.h>
-#include <__algorithm/iterator_operations.h>
-#include <__config>
-#include <__iterator/iterator_traits.h>
-#include <__utility/move.h>
+#include <__cxx03/__algorithm/comp.h>
+#include <__cxx03/__algorithm/iterator_operations.h>
+#include <__cxx03/__config>
+#include <__cxx03/__iterator/iterator_traits.h>
+#include <__cxx03/__utility/move.h>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif
 
 _LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+#include <__cxx03/__undef_macros>
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 
diff --git a/libcxx/include/__cxx03/__algorithm/all_of.h b/libcxx/include/__cxx03/__algorithm/all_of.h
index ec84eea7592966..b32d97241506e0 100644
--- a/libcxx/include/__cxx03/__algorithm/all_of.h
+++ b/libcxx/include/__cxx03/__algorithm/all_of.h
@@ -10,7 +10,7 @@
 #ifndef _LIBCPP___ALGORITHM_ALL_OF_H
 #define _LIBCPP___ALGORITHM_ALL_OF_H
 
-#include <__config>
+#include <__cxx03/__config>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
diff --git a/libcxx/include/__cxx03/__algorithm/any_of.h b/libcxx/include/__cxx03/__algorithm/any_of.h
index b5ff778c4171dc..bd7de96fbef40c 100644
--- a/libcxx/include/__cxx03/__algorithm/any_of.h
+++ b/libcxx/include/__cxx03/__algorithm/any_of.h
@@ -10,7 +10,7 @@
 #ifndef _LIBCPP___ALGORITHM_ANY_OF_H
 #define _LIBCPP___ALGORITHM_ANY_OF_H
 
-#include <__config>
+#include <__cxx03/__config>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
diff --git a/libcxx/include/__cxx03/__algorithm/binary_search.h b/libcxx/include/__cxx03/__algorithm/binary_search.h
index 6065fc37274dce..a93c62b32d7428 100644
--- a/libcxx/include/__cxx03/__algorithm/binary_search.h
+++ b/libcxx/include/__cxx03/__algorithm/binary_search.h
@@ -9,11 +9,11 @@
 #ifndef _LIBCPP___ALGORITHM_BINARY_SEARCH_H
 #define _LIBCPP___ALGORITHM_BINARY_SEARCH_H
 
-#include <__algorithm/comp.h>
-#include <__algorithm/comp_ref_type.h>
-#include <__algorithm/lower_bound.h>
-#include <__config>
-#include <__iterator/iterator_traits.h>
+#include <__cxx03/__algorithm/comp.h>
+#include <__cxx03/__algorithm/comp_ref_type.h>
+#include <__cxx03/__algorithm/lower_bound.h>
+#include <__cxx03/__config>
+#include <__cxx03/__iterator/iterator_traits.h>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
diff --git a/libcxx/include/__cxx03/__algorithm/clamp.h b/libcxx/include/__cxx03/__algorithm/clamp.h
index 1a5a3d0744be9c..e5e4dbf774dc31 100644
--- a/libcxx/include/__cxx03/__algorithm/clamp.h
+++ b/libcxx/include/__cxx03/__algorithm/clamp.h
@@ -9,9 +9,9 @@
 #ifndef _LIBCPP___ALGORITHM_CLAMP_H
 #define _LIBCPP___ALGORITHM_CLAMP_H
 
-#include <__algorithm/comp.h>
-#include <__assert>
-#include <__config>
+#include <__cxx03/__algorithm/comp.h>
+#include <__cxx03/__assert>
+#include <__cxx03/__config>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
diff --git a/libcxx/include/__cxx03/__algorithm/comp.h b/libcxx/include/__cxx03/__algorithm/comp.h
index a0fa88d6d2acd3..f01e395dc21ea5 100644
--- a/libcxx/include/__cxx03/__algorithm/comp.h
+++ b/libcxx/include/__cxx03/__algorithm/comp.h
@@ -9,8 +9,8 @@
 #ifndef _LIBCPP___ALGORITHM_COMP_H
 #define _LIBCPP___ALGORITHM_COMP_H
 
-#include <__config>
-#include <__type_traits/desugars_to.h>
+#include <__cxx03/__config>
+#include <__cxx03/__type_traits/desugars_to.h>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
diff --git a/libcxx/include/__cxx03/__algorithm/comp_ref_type.h b/libcxx/include/__cxx03/__algorithm/comp_ref_type.h
index c367fbb91ac282..413bf30c6a64ce 100644
--- a/libcxx/include/__cxx03/__algorithm/comp_ref_type.h
+++ b/libcxx/include/__cxx03/__algorithm/comp_ref_type.h
@@ -9,9 +9,9 @@
 #ifndef _LIBCPP___ALGORITHM_COMP_REF_TYPE_H
 #define _LIBCPP___ALGORITHM_COMP_REF_TYPE_H
 
-#include <__assert>
-#include <__config>
-#include <__utility/declval.h>
+#include <__cxx03/__assert>
+#include <__cxx03/__config>
+#include <__cxx03/__utility/declval.h>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
diff --git a/libcxx/include/__cxx03/__algorithm/copy.h b/libcxx/include/__cxx03/__algorithm/copy.h
index 0890b895f54092..6de8df3f980fea 100644
--- a/libcxx/include/__cxx03/__algorithm/copy.h
+++ b/libcxx/include/__cxx03/__algorithm/copy.h
@@ -9,22 +9,22 @@
 #ifndef _LIBCPP___ALGORITHM_COPY_H
 #define _LIBCPP___ALGORITHM_COPY_H
 
-#include <__algorithm/copy_move_common.h>
-#include <__algorithm/for_each_segment.h>
-#include <__algorithm/iterator_operations.h>
-#include <__algorithm/min.h>
-#include <__config>
-#include <__iterator/segmented_iterator.h>
-#include <__type_traits/common_type.h>
-#include <__utility/move.h>
-#include <__utility/pair.h>
+#include <__cxx03/__algorithm/copy_move_common.h>
+#include <__cxx03/__algorithm/for_each_segment.h>
+#include <__cxx03/__algorithm/iterator_operations.h>
+#include <__cxx03/__algorithm/min.h>
+#include <__cxx03/__config>
+#include <__cxx03/__iterator/segmented_iterator.h>
+#include <__cxx03/__type_traits/common_type.h>
+#include <__cxx03/__utility/move.h>
+#include <__cxx03/__utility/pair.h>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif
 
 _LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+#include <__cxx03/__undef_macros>
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 
diff --git a/libcxx/include/__cxx03/__algorithm/copy_backward.h b/libcxx/include/__cxx03/__algorithm/copy_backward.h
index 73dc846a975a44..dd7ff8ada5280c 100644
--- a/libcxx/include/__cxx03/__algorithm/copy_backward.h
+++ b/libcxx/include/__cxx03/__algorithm/copy_backward.h
@@ -9,22 +9,22 @@
 #ifndef _LIBCPP___ALGORITHM_COPY_BACKWARD_H
 #define _LIBCPP___ALGORITHM_COPY_BACKWARD_H
 
-#include <__algorithm/copy_move_common.h>
-#include <__algorithm/iterator_operations.h>
-#include <__algorithm/min.h>
-#include <__config>
-#include <__iterator/segmented_iterator.h>
-#include <__type_traits/common_type.h>
-#include <__type_traits/is_constructible.h>
-#include <__utility/move.h>
-#include <__utility/pair.h>
+#include <__cxx03/__algorithm/copy_move_common.h>
+#include <__cxx03/__algorithm/iterator_operations.h>
+#include <__cxx03/__algorithm/min.h>
+#include <__cxx03/__config>
+#include <__cxx03/__iterator/segmented_iterator.h>
+#include <__cxx03/__type_traits/common_type.h>
+#include <__cxx03/__type_traits/is_constructible.h>
+#include <__cxx03/__utility/move.h>
+#include <__cxx03/__utility/pair.h>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif
 
 _LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+#include <__cxx03/__undef_macros>
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 
diff --git a/libcxx/include/__cxx03/__algorithm/copy_if.h b/libcxx/include/__cxx03/__algorithm/copy_if.h
index 228e4d22323e3c..345b12878d3333 100644
--- a/libcxx/include/__cxx03/__algorithm/copy_if.h
+++ b/libcxx/include/__cxx03/__algorithm/copy_if.h
@@ -9,7 +9,7 @@
 #ifndef _LIBCPP___ALGORITHM_COPY_IF_H
 #define _LIBCPP___ALGORITHM_COPY_IF_H
 
-#include <__config>
+#include <__cxx03/__config>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
diff --git a/libcxx/include/__cxx03/__algorithm/copy_move_common.h b/libcxx/include/__cxx03/__algorithm/copy_move_common.h
index 8a98451a8f9653..c5983070251764 100644
--- a/libcxx/include/__cxx03/__algorithm/copy_move_common.h
+++ b/libcxx/include/__cxx03/__algorithm/copy_move_common.h
@@ -9,29 +9,29 @@
 #ifndef _LIBCPP___ALGORITHM_COPY_MOVE_COMMON_H
 #define _LIBCPP___ALGORITHM_COPY_MOVE_COMMON_H
 
-#include <__algorithm/iterator_operations.h>
-#include <__algorithm/unwrap_iter.h>
-#include <__algorithm/unwrap_range.h>
-#include <__config>
-#include <__iterator/iterator_traits.h>
-#include <__memory/pointer_traits.h>
-#include <__string/constexpr_c_functions.h>
-#include <__type_traits/enable_if.h>
-#include <__type_traits/is_always_bitcastable.h>
-#include <__type_traits/is_constant_evaluated.h>
-#include <__type_traits/is_constructible.h>
-#include <__type_traits/is_trivially_assignable.h>
-#include <__type_traits/is_volatile.h>
-#include <__utility/move.h>
-#include <__utility/pair.h>
-#include <cstddef>
+#include <__cxx03/__algorithm/iterator_operations.h>
+#include <__cxx03/__algorithm/unwrap_iter.h>
+#include <__cxx03/__algorithm/unwrap_range.h>
+#include <__cxx03/__config>
+#include <__cxx03/__iterator/iterator_traits.h>
+#include <__cxx03/__memory/pointer_traits.h>
+#include <__cxx03/__string/constexpr_c_functions.h>
+#include <__cxx03/__type_traits/enable_if.h>
+#include <__cxx03/__type_traits/is_always_bitcastable.h>
+#include <__cxx03/__type_traits/is_constant_evaluated.h>
+#include <__cxx03/__type_traits/is_constructible.h>
+#include <__cxx03/__type_traits/is_trivially_assignable.h>
+#include <__cxx03/__type_traits/is_volatile.h>
+#include <__cxx03/__utility/move.h>
+#include <__cxx03/__utility/pair.h>
+#include <__cxx03/cstddef>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif
 
 _LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+#include <__cxx03/__undef_macros>
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 
diff --git a/libcxx/include/__cxx03/__algorithm/copy_n.h b/libcxx/include/__cxx03/__algorithm/copy_n.h
index f93f39203a7e3b..14f14029443359 100644
--- a/libcxx/include/__cxx03/__algorithm/copy_n.h
+++ b/libcxx/include/__cxx03/__algorithm/copy_n.h
@@ -9,11 +9,11 @@
 #ifndef _LIBCPP___ALGORITHM_COPY_N_H
 #define _LIBCPP___ALGORITHM_COPY_N_H
 
-#include <__algorithm/copy.h>
-#include <__config>
-#include <__iterator/iterator_traits.h>
-#include <__type_traits/enable_if.h>
-#include <__utility/convert_to_integral.h>
+#include <__cxx03/__algorithm/copy.h>
+#include <__cxx03/__config>
+#include <__cxx03/__iterator/iterator_traits.h>
+#include <__cxx03/__type_traits/enable_if.h>
+#include <__cxx03/__utility/convert_to_integral.h>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
diff --git a/libcxx/include/__cxx03/__algorithm/count.h b/libcxx/include/__cxx03/__algorithm/count.h
index 1cfe7f631ac1b7..b7024dc8c63180 100644
--- a/libcxx/include/__cxx03/__algorithm/count.h
+++ b/libcxx/include/__cxx03/__algorithm/count.h
@@ -10,22 +10,22 @@
 #ifndef _LIBCPP___ALGORITHM_COUNT_H
 #define _LIBCPP___ALGORITHM_COUNT_H
 
-#include <__algorithm/iterator_operations.h>
-#include <__algorithm/min.h>
-#include <__bit/invert_if.h>
-#include <__bit/popcount.h>
-#include <__config>
-#include <__functional/identity.h>
-#include <__functional/invoke.h>
-#include <__fwd/bit_reference.h>
-#include <__iterator/iterator_traits.h>
+#include <__cxx03/__algorithm/iterator_operations.h>
+#include <__cxx03/__algorithm/min.h>
+#include <__cxx03/__bit/invert_if.h>
+#include <__cxx03/__bit/popcount.h>
+#include <__cxx03/__config>
+#include <__cxx03/__functional/identity.h>
+#include <__cxx03/__functional/invoke.h>
+#include <__cxx03/__fwd/bit_reference.h>
+#include <__cxx03/__iterator/iterator_traits.h>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif
 
 _LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+#include <__cxx03/__undef_macros>
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 
diff --git a/libcxx/include/__cxx03/__algorithm/count_if.h b/libcxx/include/__cxx03/__algorithm/count_if.h
index 25782069d03275..eeb42052b08ae1 100644
--- a/libcxx/include/__cxx03/__algorithm/count_if.h
+++ b/libcxx/include/__cxx03/__algorithm/count_if.h
@@ -10,8 +10,8 @@
 #ifndef _LIBCPP___ALGORITHM_COUNT_IF_H
 #define _LIBCPP___ALGORITHM_COUNT_IF_H
 
-#include <__config>
-#include <__iterator/iterator_traits.h>
+#include <__cxx03/__config>
+#include <__cxx03/__iterator/iterator_traits.h>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
diff --git a/libcxx/include/__cxx03/__algorithm/equal.h b/libcxx/include/__cxx03/__algorithm/equal.h
index bfc8f72f6eb195..a4d0a999b18192 100644
--- a/libcxx/include/__cxx03/__algorithm/equal.h
+++ b/libcxx/include/__cxx03/__algorithm/equal.h
@@ -10,27 +10,27 @@
 #ifndef _LIBCPP___ALGORITHM_EQUAL_H
 #define _LIBCPP___ALGORITHM_EQUAL_H
 
-#include <__algorithm/comp.h>
-#include <__algorithm/unwrap_iter.h>
-#include <__config>
-#include <__functional/identity.h>
-#include <__functional/invoke.h>
-#include <__iterator/distance.h>
-#include <__iterator/iterator_traits.h>
-#include <__string/constexpr_c_functions.h>
-#include <__type_traits/desugars_to.h>
-#include <__type_traits/enable_if.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>
+#include <__cxx03/__algorithm/comp.h>
+#include <__cxx03/__algorithm/unwrap_iter.h>
+#include <__cxx03/__config>
+#include <__cxx03/__functional/identity.h>
+#include <__cxx03/__functional/invoke.h>
+#include <__cxx03/__iterator/distance.h>
+#include <__cxx03/__iterator/iterator_traits.h>
+#include <__cxx03/__string/constexpr_c_functions.h>
+#include <__cxx03/__type_traits/desugars_to.h>
+#include <__cxx03/__type_traits/enable_if.h>
+#include <__cxx03/__type_traits/is_constant_evaluated.h>
+#include <__cxx03/__type_traits/is_equality_comparable.h>
+#include <__cxx03/__type_traits/is_volatile.h>
+#include <__cxx03/__utility/move.h>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif
 
 _LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+#include <__cxx03/__undef_macros>
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 
diff --git a/libcxx/include/__cxx03/__algorithm/equal_range.h b/libcxx/include/__cxx03/__algorithm/equal_range.h
index 09bbf8f006021a..9abda2bd2e36f9 100644
--- a/libcxx/include/__cxx03/__algorithm/equal_range.h
+++ b/libcxx/include/__cxx03/__algorithm/equal_range.h
@@ -9,30 +9,30 @@
 #ifndef _LIBCPP___ALGORITHM_EQUAL_RANGE_H
 #define _LIBCPP___ALGORITHM_EQUAL_RANGE_H
 
-#include <__algorithm/comp.h>
-#include <__algorithm/comp_ref_type.h>
-#include <__algorithm/half_positive.h>
-#include <__algorithm/iterator_operations.h>
-#include <__algorithm/lower_bound.h>
-#include <__algorithm/upper_bound.h>
-#include <__config>
-#include <__functional/identity.h>
-#include <__functional/invoke.h>
-#include <__iterator/advance.h>
-#include <__iterator/distance.h>
-#include <__iterator/iterator_traits.h>
-#include <__iterator/next.h>
-#include <__type_traits/is_callable.h>
-#include <__type_traits/is_constructible.h>
-#include <__utility/move.h>
-#include <__utility/pair.h>
+#include <__cxx03/__algorithm/comp.h>
+#include <__cxx03/__algorithm/comp_ref_type.h>
+#include <__cxx03/__algorithm/half_positive.h>
+#include <__cxx03/__algorithm/iterator_operations.h>
+#include <__cxx03/__algorithm/lower_bound.h>
+#include <__cxx03/__algorithm/upper_bound.h>
+#include <__cxx03/__config>
+#include <__cxx03/__functional/identity.h>
+#include <__cxx03/__functional/invoke.h>
+#include <__cxx03/__iterator/advance.h>
+#include <__cxx03/__iterator/distance.h>
+#include <__cxx03/__iterator/iterator_traits.h>
+#include <__cxx03/__iterator/next.h>
+#include <__cxx03/__type_traits/is_callable.h>
+#include <__cxx03/__type_traits/is_constructible.h>
+#include <__cxx03/__utility/move.h>
+#include <__cxx03/__utility/pair.h>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif
 
 _LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+#include <__cxx03/__undef_macros>
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 
diff --git a/libcxx/include/__cxx03/__algorithm/fill.h b/libcxx/include/__cxx03/__algorithm/fill.h
index 1ce3eadb013d05..5da0f4457daa69 100644
--- a/libcxx/include/__cxx03/__algorithm/fill.h
+++ b/libcxx/include/__cxx03/__algorithm/fill.h
@@ -9,9 +9,9 @@
 #ifndef _LIBCPP___ALGORITHM_FILL_H
 #define _LIBCPP___ALGORITHM_FILL_H
 
-#include <__algorithm/fill_n.h>
-#include <__config>
-#include <__iterator/iterator_traits.h>
+#include <__cxx03/__algorithm/fill_n.h>
+#include <__cxx03/__config>
+#include <__cxx03/__iterator/iterator_traits.h>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
diff --git a/libcxx/include/__cxx03/__algorithm/fill_n.h b/libcxx/include/__cxx03/__algorithm/fill_n.h
index f29633f88087f0..fd548f27056a17 100644
--- a/libcxx/include/__cxx03/__algorithm/fill_n.h
+++ b/libcxx/include/__cxx03/__algorithm/fill_n.h
@@ -9,19 +9,19 @@
 #ifndef _LIBCPP___ALGORITHM_FILL_N_H
 #define _LIBCPP___ALGORITHM_FILL_N_H
 
-#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>
+#include <__cxx03/__algorithm/min.h>
+#include <__cxx03/__config>
+#include <__cxx03/__fwd/bit_reference.h>
+#include <__cxx03/__iterator/iterator_traits.h>
+#include <__cxx03/__memory/pointer_traits.h>
+#include <__cxx03/__utility/convert_to_integral.h>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif
 
 _LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+#include <__cxx03/__undef_macros>
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 
diff --git a/libcxx/include/__cxx03/__algorithm/find.h b/libcxx/include/__cxx03/__algorithm/find.h
index 7f58dbb13a5776..7a48a449c897bb 100644
--- a/libcxx/include/__cxx03/__algorithm/find.h
+++ b/libcxx/include/__cxx03/__algorithm/find.h
@@ -10,25 +10,25 @@
 #ifndef _LIBCPP___ALGORITHM_FIND_H
 #define _LIBCPP___ALGORITHM_FIND_H
 
-#include <__algorithm/find_segment_if.h>
-#include <__algorithm/min.h>
-#include <__algorithm/unwrap_iter.h>
-#include <__bit/countr.h>
-#include <__bit/invert_if.h>
-#include <__config>
-#include <__functional/identity.h>
-#include <__functional/invoke.h>
-#include <__fwd/bit_reference.h>
-#include <__iterator/segmented_iterator.h>
-#include <__string/constexpr_c_functions.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>
+#include <__cxx03/__algorithm/find_segment_if.h>
+#include <__cxx03/__algorithm/min.h>
+#include <__cxx03/__algorithm/unwrap_iter.h>
+#include <__cxx03/__bit/countr.h>
+#include <__cxx03/__bit/invert_if.h>
+#include <__cxx03/__config>
+#include <__cxx03/__functional/identity.h>
+#include <__cxx03/__functional/invoke.h>
+#include <__cxx03/__fwd/bit_reference.h>
+#include <__cxx03/__iterator/segmented_iterator.h>
+#include <__cxx03/__string/constexpr_c_functions.h>
+#include <__cxx03/__type_traits/is_integral.h>
+#include <__cxx03/__type_traits/is_same.h>
+#include <__cxx03/__type_traits/is_signed.h>
+#include <__cxx03/__utility/move.h>
+#include <__cxx03/limits>
 
 #ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS
-#  include <cwchar>
+#  include <__cxx03/cwchar>
 #endif
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
@@ -36,7 +36,7 @@
 #endif
 
 _LIBCPP_PUSH_MACROS
-#include <__undef_macros>
+#include <__cxx03/__undef_macros>
 
 _LIBCPP_BEGIN_NAMESPACE_STD
 
diff --git a/libcxx/include/__cxx03/__algorithm/find_end.h b/libcxx/include/__cxx03/__algorithm/find_end.h
index 7e08e7953534eb..34a45e2c66fae9 100644
--- a/libcxx/include/__cxx03/__algorithm/find_end.h
+++ b/libcxx/include/__cxx03/__algorithm/find_end.h
@@ -10,17 +10,17 @@
 #ifndef _LIBCPP___ALGORITHM_FIND_END_OF_H
 #define _LIBCPP___ALGORITHM_FIND_END_OF_H
 
-#include <__algorithm/comp.h>
-#include <__algorithm/iterator_operations.h>
-#include <__algorithm/search.h>
-#include <__config>
-#include <__functional/identity.h>
-#include <__functional/invoke.h>
-#include <__iterator/advance.h>
-#include <__iterator/iterator_traits.h>
-#include <__iterator/next.h>
-#include <__iterator/reverse_iterator.h>
-#include <__utility/pair.h>
+#include <__cxx03/__algorithm/comp.h>
+#include <__cxx03/__algorithm/iterator_operations.h>
+#include <__cxx03/__algorithm/search.h>
+#include <__cxx03/__config>
+#include <__cxx03/__functional/identity.h>
+#include <__cxx03/__functional/invoke.h>
+#include <__cxx03/__iterator/advance.h>
+#include <__cxx03/__iterator/iterator_traits.h>
+#include <__cxx03/__iterator/next.h>
+#include <__cxx03/__iterator/reverse_iter...
[truncated]

Base automatically changed from users/philnik777/cxx03_copy to main October 1, 2024 20:57
@philnik777 philnik777 force-pushed the users/philnik777/cxx03_fix_includes branch from a5c77e5 to d5ea6d6 Compare October 30, 2024 14:59
Copy link
Member

@ldionne ldionne left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wouldn't be surprised if we later discover that a few headers need to be handled specially, but as a mechanical step this LGTM.

#include <stdlib.h>
#include <__cxx03/__locale_dir/locale_base_api/locale_guard.h>
#include <__cxx03/cstdio>
#include <__cxx03/stdarg.h>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For example, we don't provide stdarg.h in libc++, so this part of the change is technically incorrect. However, I think it makes sense to proceed with this mechanical rewrite and then gradually narrow down the number of issues when we get an actual CI configuration for this.

@philnik777 philnik777 merged commit 73fbae8 into main Oct 31, 2024
63 checks passed
@philnik777 philnik777 deleted the users/philnik777/cxx03_fix_includes branch October 31, 2024 11:10
smallp-o-p pushed a commit to smallp-o-p/llvm-project that referenced this pull request Nov 3, 2024
This is part of the "Freezing C++03 headers" proposal explained in
https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc/77319/58.

This patch updates the include paths used in `__cxx03/` to refer to the
`__cxx03/` headers.
NoumanAmir657 pushed a commit to NoumanAmir657/llvm-project that referenced this pull request Nov 4, 2024
This is part of the "Freezing C++03 headers" proposal explained in
https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc/77319/58.

This patch updates the include paths used in `__cxx03/` to refer to the
`__cxx03/` headers.
aheejin added a commit to emscripten-core/emscripten that referenced this pull request May 21, 2025
This updates libcxx and libcxxabi to LLVM 20.1.4:
https://github.com/llvm/llvm-project/releases/tag/llvmorg-20.1.4

Before going into each additional change of the PR, these are some
noteworthy changes from this LLVM release:

- Freezing C++03 headers
- RFC:
https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc/77319
  - PRs:
    - llvm/llvm-project#108999
    - llvm/llvm-project#109000
    - llvm/llvm-project#109001
    - llvm/llvm-project#109002
    - 
This copies libc++ headers of the last LLVM 19 release into a separate
directory
(https://github.com/llvm/llvm-project/tree/main/libcxx/include/__cxx03)
and redirects all C++03 workflow there. The motivation is not to fix
C++03 related changes unless they are critical bugs, and simplifies the
main headers. So the main headers are like
  ```
  #if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
  #  include <__cxx03/algorithm>
  #else
  ... main header content ...
  ```

As you can see it looks like we can avoid opting into this by not
defining `_LIBCPP_USE_FROZEN_CXX03_HEADERS` at the moment. I think their
eventual goal is to remove C++03 support from the main headers but it
hasn't seem to have happened yet and I don't know what their timeline
for that is.

Adding that `__cxx03` directory increases the header size by 10MB. We
can get away not using them by not defining
`_LIBCPP_USE_FROZEN_CXX03_HEADERS` in this release, so this update does
not include that directory.

- Sharing of headers between libc++ and libc (Project Hand in Hand)
- RFC:
https://discourse.llvm.org/t/rfc-project-hand-in-hand-llvm-libc-libc-code-sharing/77701
- PR: llvm/llvm-project#91651 (More are likely
to come)

This tries to share some libc headers from libcxx. libcxx's source files
can depend on headers from `libc/shared`, `libc/src/__support`,
`libc/include/llvm-libc-macros`, and `libc/include/llvm-libc-types`. And
it turns out libcxx can also depend on `libc/hdr`, even though the
directory is not in the diagram in the RFC.

These headers can be only included from `libcxx/src` and not
`libcxx/include`, to prevent libcxx's API from changing. So these
headers don't need to be copied into `cache/`.

- Locale API reimplementation
  It doesn't seem to have an RFC, but the PRs are:
  - llvm/llvm-project#113737
  - llvm/llvm-project#115176
  - llvm/llvm-project#115752
  - llvm/llvm-project#122489

It looks this aims provide a new way to define locale API for each
platform. Currently Apple, FreeBSD, MSVCRT, and Fuschia are using the
new API and the others are still using the old one:
https://github.com/llvm/llvm-project/blob/ec28b8f9cc7f2ac187d8a617a6d08d5e56f9120e/libcxx/include/__locale_dir/locale_base_api.h#L116-L138
For our purpose, adding `if defined(__EMSCRIPTEN__)` entry to the list
of "old" list seems to work for the moment, but we may need to move to
the new way eventually later.

---

Additional changes:

- Copy `vendor/llvm/default_assertion_handler.in` to
`__assertion_handler`:
aa53648
Our previous `__assertion_handler` was copied from
`libcxx/vendor/llvm/default_assertion_handler.in`. This updates our
`__assertion_handler` to the new
`libcxx/vendor/llvm/default_assertion_handler.in`. For what this file
is, see the PR description of #22994, with which the file was added.

- Remove `libcxx/include/__cxx03` directory:
d646f6b
As I described in "Freezing C++ headers" above, C++03 headers were
copied to `include/cxx03` to be "frozen". But by not defining
`_LIBCPP_USE_FROZEN_CXX03_HEADERS` we can still use the main headers.
This new `__cxx03` header directory is almost 10M and we are not using
it in this update, this deletes it.

- Define more variables in `__config_site`:
9912236
libcxx decides to almost all configuration macros to be defined. So
before it tested whether a macro was defined/undefined, and now it
assumes it is defined and tests whether its value is 1/0.

Before llvm/llvm-project#112094
`_config_site.in` used to use `#cmakedefine`, which only defined
variables when they were enabled, but now it uses `#cmakedefine01`,
which always defines variables and assigns 1 or 0 depending on whether
the feature is enabled.

So this change adds `#define` to each variable that `_config_site.in`
has an entry of. The value assigned is 1 if it was defined in our
previous Emscripten environment and 0 if not.

- Fix Emscripten's locale:
2ae01b0
Before, the code was like
https://github.com/emscripten-core/emscripten/blob/dc1abd514b1bade135a01a4453a9ff6def0793b6/system/lib/libcxx/include/__locale_dir/locale_base_api.h#L12-L30
But now they are divided into two parts, one using the new API and the
other using old. See "Locale API reimplementation" above.

https://github.com/llvm/llvm-project/blob/ec28b8f9cc7f2ac187d8a617a6d08d5e56f9120e/libcxx/include/__locale_dir/locale_base_api.h#L116-L138
This adds Emscripten in the beginning of the "old" API list. (This has
to be the beginning; see #23414)

- Import libc headers used by libcxx:
12a4ee4,
12a4ee4
and
43c8ce4
This imports a part of libc headers into `system/lib/llvm-libc`. The
imported directories are:
  - `libc/shared`
  - `libc/src/__support`
  - `libc/include/llvm-libc-macros`
  - `libc/include/llvm-libc-types`
  - `libc/hdr`
  See "sharing of headers between libc+ and libc" above for details.
This also applies llvm/llvm-project#133999,
which is a bugfix that has not be backported, which fixes the bug of
including from a wrong directory.

- `std::uncaught_exception` -> `std::uncaught_exceptions`:
1bf4e78
`std::uncaught_exception` has been deprecated in C++17, so it generates
a warning (which we treat as an error). Replaced it with
`std::uncaught_exceptions`, which returns the number of uncaught
exceptions (but can still be used as a boolean in the test).

- Remove `ryu_constants.h` and `ryu_long_double_constants.h` from libc:
5767ac4
These are not used from libcxx and `ryu_long_double_constants.h` is huge
(12M).
Lukasdoe pushed a commit to Lukasdoe/emscripten that referenced this pull request Jun 19, 2025
This updates libcxx and libcxxabi to LLVM 20.1.4:
https://github.com/llvm/llvm-project/releases/tag/llvmorg-20.1.4

Before going into each additional change of the PR, these are some
noteworthy changes from this LLVM release:

- Freezing C++03 headers
- RFC:
https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc/77319
  - PRs:
    - llvm/llvm-project#108999
    - llvm/llvm-project#109000
    - llvm/llvm-project#109001
    - llvm/llvm-project#109002
    - 
This copies libc++ headers of the last LLVM 19 release into a separate
directory
(https://github.com/llvm/llvm-project/tree/main/libcxx/include/__cxx03)
and redirects all C++03 workflow there. The motivation is not to fix
C++03 related changes unless they are critical bugs, and simplifies the
main headers. So the main headers are like
  ```
  #if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
  #  include <__cxx03/algorithm>
  #else
  ... main header content ...
  ```

As you can see it looks like we can avoid opting into this by not
defining `_LIBCPP_USE_FROZEN_CXX03_HEADERS` at the moment. I think their
eventual goal is to remove C++03 support from the main headers but it
hasn't seem to have happened yet and I don't know what their timeline
for that is.

Adding that `__cxx03` directory increases the header size by 10MB. We
can get away not using them by not defining
`_LIBCPP_USE_FROZEN_CXX03_HEADERS` in this release, so this update does
not include that directory.

- Sharing of headers between libc++ and libc (Project Hand in Hand)
- RFC:
https://discourse.llvm.org/t/rfc-project-hand-in-hand-llvm-libc-libc-code-sharing/77701
- PR: llvm/llvm-project#91651 (More are likely
to come)

This tries to share some libc headers from libcxx. libcxx's source files
can depend on headers from `libc/shared`, `libc/src/__support`,
`libc/include/llvm-libc-macros`, and `libc/include/llvm-libc-types`. And
it turns out libcxx can also depend on `libc/hdr`, even though the
directory is not in the diagram in the RFC.

These headers can be only included from `libcxx/src` and not
`libcxx/include`, to prevent libcxx's API from changing. So these
headers don't need to be copied into `cache/`.

- Locale API reimplementation
  It doesn't seem to have an RFC, but the PRs are:
  - llvm/llvm-project#113737
  - llvm/llvm-project#115176
  - llvm/llvm-project#115752
  - llvm/llvm-project#122489

It looks this aims provide a new way to define locale API for each
platform. Currently Apple, FreeBSD, MSVCRT, and Fuschia are using the
new API and the others are still using the old one:
https://github.com/llvm/llvm-project/blob/ec28b8f9cc7f2ac187d8a617a6d08d5e56f9120e/libcxx/include/__locale_dir/locale_base_api.h#L116-L138
For our purpose, adding `if defined(__EMSCRIPTEN__)` entry to the list
of "old" list seems to work for the moment, but we may need to move to
the new way eventually later.

---

Additional changes:

- Copy `vendor/llvm/default_assertion_handler.in` to
`__assertion_handler`:
emscripten-core@aa53648
Our previous `__assertion_handler` was copied from
`libcxx/vendor/llvm/default_assertion_handler.in`. This updates our
`__assertion_handler` to the new
`libcxx/vendor/llvm/default_assertion_handler.in`. For what this file
is, see the PR description of emscripten-core#22994, with which the file was added.

- Remove `libcxx/include/__cxx03` directory:
emscripten-core@d646f6b
As I described in "Freezing C++ headers" above, C++03 headers were
copied to `include/cxx03` to be "frozen". But by not defining
`_LIBCPP_USE_FROZEN_CXX03_HEADERS` we can still use the main headers.
This new `__cxx03` header directory is almost 10M and we are not using
it in this update, this deletes it.

- Define more variables in `__config_site`:
emscripten-core@9912236
libcxx decides to almost all configuration macros to be defined. So
before it tested whether a macro was defined/undefined, and now it
assumes it is defined and tests whether its value is 1/0.

Before llvm/llvm-project#112094
`_config_site.in` used to use `#cmakedefine`, which only defined
variables when they were enabled, but now it uses `#cmakedefine01`,
which always defines variables and assigns 1 or 0 depending on whether
the feature is enabled.

So this change adds `#define` to each variable that `_config_site.in`
has an entry of. The value assigned is 1 if it was defined in our
previous Emscripten environment and 0 if not.

- Fix Emscripten's locale:
emscripten-core@2ae01b0
Before, the code was like
https://github.com/emscripten-core/emscripten/blob/dc1abd514b1bade135a01a4453a9ff6def0793b6/system/lib/libcxx/include/__locale_dir/locale_base_api.h#L12-L30
But now they are divided into two parts, one using the new API and the
other using old. See "Locale API reimplementation" above.

https://github.com/llvm/llvm-project/blob/ec28b8f9cc7f2ac187d8a617a6d08d5e56f9120e/libcxx/include/__locale_dir/locale_base_api.h#L116-L138
This adds Emscripten in the beginning of the "old" API list. (This has
to be the beginning; see emscripten-core#23414)

- Import libc headers used by libcxx:
emscripten-core@12a4ee4,
emscripten-core@12a4ee4
and
emscripten-core@43c8ce4
This imports a part of libc headers into `system/lib/llvm-libc`. The
imported directories are:
  - `libc/shared`
  - `libc/src/__support`
  - `libc/include/llvm-libc-macros`
  - `libc/include/llvm-libc-types`
  - `libc/hdr`
  See "sharing of headers between libc+ and libc" above for details.
This also applies llvm/llvm-project#133999,
which is a bugfix that has not be backported, which fixes the bug of
including from a wrong directory.

- `std::uncaught_exception` -> `std::uncaught_exceptions`:
emscripten-core@1bf4e78
`std::uncaught_exception` has been deprecated in C++17, so it generates
a warning (which we treat as an error). Replaced it with
`std::uncaught_exceptions`, which returns the number of uncaught
exceptions (but can still be used as a boolean in the test).

- Remove `ryu_constants.h` and `ryu_long_double_constants.h` from libc:
emscripten-core@5767ac4
These are not used from libcxx and `ryu_long_double_constants.h` is huge
(12M).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants