[llvm] 5aaefa5 - [libcxx][modules] protects users from relying on detail headers

Christopher Di Bella via llvm-commits llvm-commits at lists.llvm.org
Sat Feb 26 01:01:04 PST 2022


Author: Christopher Di Bella
Date: 2022-02-26T09:00:25Z
New Revision: 5aaefa510ef055e8f044ca89e352d4313f3aba49

URL: https://github.com/llvm/llvm-project/commit/5aaefa510ef055e8f044ca89e352d4313f3aba49
DIFF: https://github.com/llvm/llvm-project/commit/5aaefa510ef055e8f044ca89e352d4313f3aba49.diff

LOG: [libcxx][modules] protects users from relying on detail headers

libc++ has started splicing standard library headers into much more
fine-grained content for maintainability. It's very likely that outdated
and naive tooling (some of which is outside of LLVM's scope) will
suggest users include things such as <__ranges/access.h> instead of
<ranges>, and Hyrum's law suggests that users will eventually begin to
rely on this without the help of tooling. As such, this commit
intends to protect users from themselves, by making it a hard error for
anyone outside of the standard library to include libc++ detail headers.

Differential Revision: https://reviews.llvm.org/D106124

Added: 
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/adjacent_find.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/all_of.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/any_of.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/binary_search.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/clamp.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/comp.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/comp_ref_type.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_backward.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_if.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_n.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/count.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/count_if.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/equal.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/equal_range.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/fill.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/fill_n.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_end.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_first_of.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_if.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_if_not.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/for_each.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/for_each_n.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/generate.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/generate_n.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/half_positive.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_found_result.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_fun_result.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_in_out_result.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_in_result.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_out_out_result.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_out_result.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/includes.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/inplace_merge.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_heap.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_heap_until.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_partitioned.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_permutation.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_sorted.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_sorted_until.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/iter_swap.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/lexicographical_compare.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/lower_bound.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/make_heap.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/max.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/max_element.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/merge.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min_element.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min_max_result.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/minmax.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/minmax_element.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/mismatch.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/move.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/move_backward.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/next_permutation.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/none_of.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/nth_element.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partial_sort.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partial_sort_copy.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition_copy.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition_point.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/pop_heap.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/prev_permutation.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/push_heap.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/ranges_min_element.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/ranges_swap_ranges.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_copy.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_copy_if.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_if.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_copy.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_copy_if.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_if.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/reverse.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/reverse_copy.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/rotate.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/rotate_copy.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sample.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/search.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/search_n.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_difference.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_intersection.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_symmetric_difference.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_union.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shift_left.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shift_right.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shuffle.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sift_down.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sort.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sort_heap.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/stable_partition.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/stable_sort.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/swap_ranges.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/transform.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unique.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unique_copy.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unwrap_iter.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/upper_bound.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/bit/bit_cast.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/bit/byteswap.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/bit_reference.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/bits.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/charconv/chars_format.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/charconv/from_chars_result.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/charconv/to_chars_result.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/chrono/calendar.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/chrono/convert_to_timespec.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/chrono/duration.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/chrono/file_clock.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/chrono/high_resolution_clock.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/chrono/steady_clock.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/chrono/system_clock.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/chrono/time_point.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/common_comparison_category.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_partial_order_fallback.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_strong_order_fallback.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_three_way.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_three_way_result.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_weak_order_fallback.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/is_eq.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/ordering.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/partial_order.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/strong_order.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/synth_three_way.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/three_way_comparable.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/weak_order.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/arithmetic.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/assignable.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/boolean_testable.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/class_or_enum.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/common_reference_with.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/common_with.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/constructible.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/convertible_to.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/copyable.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/derived_from.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/destructible.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/different_from.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/equality_comparable.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/invocable.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/movable.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/predicate.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/regular.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/relation.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/same_as.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/semiregular.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/swappable.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/totally_ordered.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/coroutine/coroutine_handle.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/coroutine/coroutine_traits.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/coroutine/noop_coroutine_handle.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/coroutine/trivial_awaitables.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/copy_options.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_entry.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_iterator.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_options.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_status.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_time_type.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_type.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/filesystem_error.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/operations.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/path.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/path_iterator.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/perm_options.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/perms.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/recursive_directory_iterator.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/space_info.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/u8path.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/format_arg.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/format_args.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/format_context.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/format_error.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/format_fwd.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/format_parse_context.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/format_string.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/format_to_n_result.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/formatter.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_bool.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_char.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_floating_point.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_integer.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_integral.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_pointer.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_string.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/parser_std_format_spec.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/binary_function.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/binary_negate.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/bind.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/bind_back.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/bind_front.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/binder1st.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/binder2nd.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/compose.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/default_searcher.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/function.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/hash.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/identity.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/invoke.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/is_transparent.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/mem_fn.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/mem_fun_ref.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/not_fn.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/operations.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/perfect_forward.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/pointer_to_binary_function.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/pointer_to_unary_function.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/ranges_operations.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/reference_wrapper.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/unary_function.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/unary_negate.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/unwrap_ref.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/weak_result_type.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ios/fpos.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/access.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/advance.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/back_insert_iterator.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/common_iterator.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/concepts.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/counted_iterator.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/data.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/default_sentinel.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/distance.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/empty.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/erase_if_container.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/front_insert_iterator.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/incrementable_traits.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/indirectly_comparable.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/insert_iterator.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/istream_iterator.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/istreambuf_iterator.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/iter_move.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/iter_swap.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/iterator.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/iterator_traits.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/mergeable.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/move_iterator.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/next.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/ostream_iterator.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/ostreambuf_iterator.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/permutable.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/prev.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/projected.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/readable_traits.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/reverse_access.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/reverse_iterator.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/size.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/sortable.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/unreachable_sentinel.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/wrap_iter.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/locale.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/addressof.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/allocation_guard.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator_arg_t.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator_traits.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/auto_ptr.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/compressed_pair.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/concepts.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/construct_at.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/pointer_traits.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/ranges_construct_at.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/ranges_uninitialized_algorithms.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/raw_storage_iterator.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/shared_ptr.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/temporary_buffer.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/uninitialized_algorithms.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/unique_ptr.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/uses_allocator.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/voidify.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/mutex_base.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/node_handle.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/accumulate.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/adjacent_difference.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/exclusive_scan.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/gcd_lcm.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/inclusive_scan.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/inner_product.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/iota.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/midpoint.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/partial_sum.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/reduce.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_exclusive_scan.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_inclusive_scan.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_reduce.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/bernoulli_distribution.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/binomial_distribution.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/cauchy_distribution.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/chi_squared_distribution.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/clamp_to_integral.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/default_random_engine.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/discard_block_engine.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/discrete_distribution.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/exponential_distribution.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/extreme_value_distribution.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/fisher_f_distribution.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/gamma_distribution.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/generate_canonical.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/geometric_distribution.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/independent_bits_engine.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/is_seed_sequence.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/knuth_b.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/linear_congruential_engine.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/log2.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/lognormal_distribution.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/mersenne_twister_engine.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/negative_binomial_distribution.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/normal_distribution.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/piecewise_constant_distribution.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/piecewise_linear_distribution.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/poisson_distribution.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/random_device.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/ranlux.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/seed_seq.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/shuffle_order_engine.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/student_t_distribution.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/subtract_with_carry_engine.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_int_distribution.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_random_bit_generator.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_real_distribution.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/weibull_distribution.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/access.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/all.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/common_view.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/concepts.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/copyable_box.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/counted.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/dangling.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/data.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/drop_view.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/empty.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/empty_view.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/enable_borrowed_range.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/enable_view.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/iota_view.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/join_view.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/non_propagating_cache.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/owning_view.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/range_adaptor.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/rbegin.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/ref_view.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/rend.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/reverse_view.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/single_view.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/size.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/subrange.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/take_view.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/transform_view.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/view_interface.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/views.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/split_buffer.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/std_stream.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/string.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/thread/poll_with_backoff.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/thread/timed_backoff_policy.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/tuple.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/as_const.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/auto_cast.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/cmp.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/declval.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/exchange.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/forward.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/in_place.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/integer_sequence.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/move.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/pair.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/piecewise_construct.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/priority_tag.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/rel_ops.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/swap.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/to_underlying.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/transaction.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/unreachable.header.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/variant/monostate.header.verify.cpp
    libcxxabi/include/threading_support.h

Modified: 
    libcxx/cmake/Modules/HandleLibCXXABI.cmake
    libcxx/include/__algorithm/adjacent_find.h
    libcxx/include/__algorithm/all_of.h
    libcxx/include/__algorithm/any_of.h
    libcxx/include/__algorithm/binary_search.h
    libcxx/include/__algorithm/clamp.h
    libcxx/include/__algorithm/comp.h
    libcxx/include/__algorithm/comp_ref_type.h
    libcxx/include/__algorithm/copy.h
    libcxx/include/__algorithm/copy_backward.h
    libcxx/include/__algorithm/copy_if.h
    libcxx/include/__algorithm/copy_n.h
    libcxx/include/__algorithm/count.h
    libcxx/include/__algorithm/count_if.h
    libcxx/include/__algorithm/equal.h
    libcxx/include/__algorithm/equal_range.h
    libcxx/include/__algorithm/fill.h
    libcxx/include/__algorithm/fill_n.h
    libcxx/include/__algorithm/find.h
    libcxx/include/__algorithm/find_end.h
    libcxx/include/__algorithm/find_first_of.h
    libcxx/include/__algorithm/find_if.h
    libcxx/include/__algorithm/find_if_not.h
    libcxx/include/__algorithm/for_each.h
    libcxx/include/__algorithm/for_each_n.h
    libcxx/include/__algorithm/generate.h
    libcxx/include/__algorithm/generate_n.h
    libcxx/include/__algorithm/half_positive.h
    libcxx/include/__algorithm/in_found_result.h
    libcxx/include/__algorithm/in_fun_result.h
    libcxx/include/__algorithm/in_in_out_result.h
    libcxx/include/__algorithm/in_in_result.h
    libcxx/include/__algorithm/in_out_out_result.h
    libcxx/include/__algorithm/in_out_result.h
    libcxx/include/__algorithm/includes.h
    libcxx/include/__algorithm/inplace_merge.h
    libcxx/include/__algorithm/is_heap.h
    libcxx/include/__algorithm/is_heap_until.h
    libcxx/include/__algorithm/is_partitioned.h
    libcxx/include/__algorithm/is_permutation.h
    libcxx/include/__algorithm/is_sorted.h
    libcxx/include/__algorithm/is_sorted_until.h
    libcxx/include/__algorithm/iter_swap.h
    libcxx/include/__algorithm/lexicographical_compare.h
    libcxx/include/__algorithm/lower_bound.h
    libcxx/include/__algorithm/make_heap.h
    libcxx/include/__algorithm/max.h
    libcxx/include/__algorithm/max_element.h
    libcxx/include/__algorithm/merge.h
    libcxx/include/__algorithm/min.h
    libcxx/include/__algorithm/min_element.h
    libcxx/include/__algorithm/min_max_result.h
    libcxx/include/__algorithm/minmax.h
    libcxx/include/__algorithm/minmax_element.h
    libcxx/include/__algorithm/mismatch.h
    libcxx/include/__algorithm/move.h
    libcxx/include/__algorithm/move_backward.h
    libcxx/include/__algorithm/next_permutation.h
    libcxx/include/__algorithm/none_of.h
    libcxx/include/__algorithm/nth_element.h
    libcxx/include/__algorithm/partial_sort.h
    libcxx/include/__algorithm/partial_sort_copy.h
    libcxx/include/__algorithm/partition.h
    libcxx/include/__algorithm/partition_copy.h
    libcxx/include/__algorithm/partition_point.h
    libcxx/include/__algorithm/pop_heap.h
    libcxx/include/__algorithm/prev_permutation.h
    libcxx/include/__algorithm/push_heap.h
    libcxx/include/__algorithm/ranges_min_element.h
    libcxx/include/__algorithm/ranges_swap_ranges.h
    libcxx/include/__algorithm/remove.h
    libcxx/include/__algorithm/remove_copy.h
    libcxx/include/__algorithm/remove_copy_if.h
    libcxx/include/__algorithm/remove_if.h
    libcxx/include/__algorithm/replace.h
    libcxx/include/__algorithm/replace_copy.h
    libcxx/include/__algorithm/replace_copy_if.h
    libcxx/include/__algorithm/replace_if.h
    libcxx/include/__algorithm/reverse.h
    libcxx/include/__algorithm/reverse_copy.h
    libcxx/include/__algorithm/rotate.h
    libcxx/include/__algorithm/rotate_copy.h
    libcxx/include/__algorithm/sample.h
    libcxx/include/__algorithm/search.h
    libcxx/include/__algorithm/search_n.h
    libcxx/include/__algorithm/set_difference.h
    libcxx/include/__algorithm/set_intersection.h
    libcxx/include/__algorithm/set_symmetric_difference.h
    libcxx/include/__algorithm/set_union.h
    libcxx/include/__algorithm/shift_left.h
    libcxx/include/__algorithm/shift_right.h
    libcxx/include/__algorithm/shuffle.h
    libcxx/include/__algorithm/sift_down.h
    libcxx/include/__algorithm/sort.h
    libcxx/include/__algorithm/sort_heap.h
    libcxx/include/__algorithm/stable_partition.h
    libcxx/include/__algorithm/stable_sort.h
    libcxx/include/__algorithm/swap_ranges.h
    libcxx/include/__algorithm/transform.h
    libcxx/include/__algorithm/unique.h
    libcxx/include/__algorithm/unique_copy.h
    libcxx/include/__algorithm/unwrap_iter.h
    libcxx/include/__algorithm/upper_bound.h
    libcxx/include/__bit/bit_cast.h
    libcxx/include/__bit/byteswap.h
    libcxx/include/__bit_reference
    libcxx/include/__bits
    libcxx/include/__charconv/chars_format.h
    libcxx/include/__charconv/from_chars_result.h
    libcxx/include/__charconv/to_chars_result.h
    libcxx/include/__chrono/calendar.h
    libcxx/include/__chrono/convert_to_timespec.h
    libcxx/include/__chrono/duration.h
    libcxx/include/__chrono/file_clock.h
    libcxx/include/__chrono/high_resolution_clock.h
    libcxx/include/__chrono/steady_clock.h
    libcxx/include/__chrono/system_clock.h
    libcxx/include/__chrono/time_point.h
    libcxx/include/__compare/common_comparison_category.h
    libcxx/include/__compare/compare_partial_order_fallback.h
    libcxx/include/__compare/compare_strong_order_fallback.h
    libcxx/include/__compare/compare_three_way.h
    libcxx/include/__compare/compare_three_way_result.h
    libcxx/include/__compare/compare_weak_order_fallback.h
    libcxx/include/__compare/is_eq.h
    libcxx/include/__compare/ordering.h
    libcxx/include/__compare/partial_order.h
    libcxx/include/__compare/strong_order.h
    libcxx/include/__compare/synth_three_way.h
    libcxx/include/__compare/three_way_comparable.h
    libcxx/include/__compare/weak_order.h
    libcxx/include/__concepts/arithmetic.h
    libcxx/include/__concepts/assignable.h
    libcxx/include/__concepts/boolean_testable.h
    libcxx/include/__concepts/class_or_enum.h
    libcxx/include/__concepts/common_reference_with.h
    libcxx/include/__concepts/common_with.h
    libcxx/include/__concepts/constructible.h
    libcxx/include/__concepts/convertible_to.h
    libcxx/include/__concepts/copyable.h
    libcxx/include/__concepts/derived_from.h
    libcxx/include/__concepts/destructible.h
    libcxx/include/__concepts/different_from.h
    libcxx/include/__concepts/equality_comparable.h
    libcxx/include/__concepts/invocable.h
    libcxx/include/__concepts/movable.h
    libcxx/include/__concepts/predicate.h
    libcxx/include/__concepts/regular.h
    libcxx/include/__concepts/relation.h
    libcxx/include/__concepts/same_as.h
    libcxx/include/__concepts/semiregular.h
    libcxx/include/__concepts/swappable.h
    libcxx/include/__concepts/totally_ordered.h
    libcxx/include/__coroutine/coroutine_handle.h
    libcxx/include/__coroutine/coroutine_traits.h
    libcxx/include/__coroutine/noop_coroutine_handle.h
    libcxx/include/__coroutine/trivial_awaitables.h
    libcxx/include/__filesystem/copy_options.h
    libcxx/include/__filesystem/directory_entry.h
    libcxx/include/__filesystem/directory_iterator.h
    libcxx/include/__filesystem/directory_options.h
    libcxx/include/__filesystem/file_status.h
    libcxx/include/__filesystem/file_time_type.h
    libcxx/include/__filesystem/file_type.h
    libcxx/include/__filesystem/filesystem_error.h
    libcxx/include/__filesystem/operations.h
    libcxx/include/__filesystem/path.h
    libcxx/include/__filesystem/path_iterator.h
    libcxx/include/__filesystem/perm_options.h
    libcxx/include/__filesystem/perms.h
    libcxx/include/__filesystem/recursive_directory_iterator.h
    libcxx/include/__filesystem/space_info.h
    libcxx/include/__filesystem/u8path.h
    libcxx/include/__format/format_arg.h
    libcxx/include/__format/format_args.h
    libcxx/include/__format/format_context.h
    libcxx/include/__format/format_error.h
    libcxx/include/__format/format_fwd.h
    libcxx/include/__format/format_parse_context.h
    libcxx/include/__format/format_string.h
    libcxx/include/__format/format_to_n_result.h
    libcxx/include/__format/formatter.h
    libcxx/include/__format/formatter_bool.h
    libcxx/include/__format/formatter_char.h
    libcxx/include/__format/formatter_floating_point.h
    libcxx/include/__format/formatter_integer.h
    libcxx/include/__format/formatter_integral.h
    libcxx/include/__format/formatter_pointer.h
    libcxx/include/__format/formatter_string.h
    libcxx/include/__format/parser_std_format_spec.h
    libcxx/include/__functional/binary_function.h
    libcxx/include/__functional/binary_negate.h
    libcxx/include/__functional/bind.h
    libcxx/include/__functional/bind_back.h
    libcxx/include/__functional/bind_front.h
    libcxx/include/__functional/binder1st.h
    libcxx/include/__functional/binder2nd.h
    libcxx/include/__functional/compose.h
    libcxx/include/__functional/default_searcher.h
    libcxx/include/__functional/function.h
    libcxx/include/__functional/hash.h
    libcxx/include/__functional/identity.h
    libcxx/include/__functional/invoke.h
    libcxx/include/__functional/is_transparent.h
    libcxx/include/__functional/mem_fn.h
    libcxx/include/__functional/mem_fun_ref.h
    libcxx/include/__functional/not_fn.h
    libcxx/include/__functional/operations.h
    libcxx/include/__functional/perfect_forward.h
    libcxx/include/__functional/pointer_to_binary_function.h
    libcxx/include/__functional/pointer_to_unary_function.h
    libcxx/include/__functional/ranges_operations.h
    libcxx/include/__functional/reference_wrapper.h
    libcxx/include/__functional/unary_function.h
    libcxx/include/__functional/unary_negate.h
    libcxx/include/__functional/unwrap_ref.h
    libcxx/include/__functional/weak_result_type.h
    libcxx/include/__hash_table
    libcxx/include/__ios/fpos.h
    libcxx/include/__iterator/access.h
    libcxx/include/__iterator/advance.h
    libcxx/include/__iterator/back_insert_iterator.h
    libcxx/include/__iterator/common_iterator.h
    libcxx/include/__iterator/concepts.h
    libcxx/include/__iterator/counted_iterator.h
    libcxx/include/__iterator/data.h
    libcxx/include/__iterator/default_sentinel.h
    libcxx/include/__iterator/distance.h
    libcxx/include/__iterator/empty.h
    libcxx/include/__iterator/erase_if_container.h
    libcxx/include/__iterator/front_insert_iterator.h
    libcxx/include/__iterator/incrementable_traits.h
    libcxx/include/__iterator/indirectly_comparable.h
    libcxx/include/__iterator/insert_iterator.h
    libcxx/include/__iterator/istream_iterator.h
    libcxx/include/__iterator/istreambuf_iterator.h
    libcxx/include/__iterator/iter_move.h
    libcxx/include/__iterator/iter_swap.h
    libcxx/include/__iterator/iterator.h
    libcxx/include/__iterator/iterator_traits.h
    libcxx/include/__iterator/mergeable.h
    libcxx/include/__iterator/move_iterator.h
    libcxx/include/__iterator/next.h
    libcxx/include/__iterator/ostream_iterator.h
    libcxx/include/__iterator/ostreambuf_iterator.h
    libcxx/include/__iterator/permutable.h
    libcxx/include/__iterator/prev.h
    libcxx/include/__iterator/projected.h
    libcxx/include/__iterator/readable_traits.h
    libcxx/include/__iterator/reverse_access.h
    libcxx/include/__iterator/reverse_iterator.h
    libcxx/include/__iterator/size.h
    libcxx/include/__iterator/sortable.h
    libcxx/include/__iterator/unreachable_sentinel.h
    libcxx/include/__iterator/wrap_iter.h
    libcxx/include/__locale
    libcxx/include/__memory/addressof.h
    libcxx/include/__memory/allocation_guard.h
    libcxx/include/__memory/allocator.h
    libcxx/include/__memory/allocator_arg_t.h
    libcxx/include/__memory/allocator_traits.h
    libcxx/include/__memory/auto_ptr.h
    libcxx/include/__memory/compressed_pair.h
    libcxx/include/__memory/concepts.h
    libcxx/include/__memory/construct_at.h
    libcxx/include/__memory/pointer_traits.h
    libcxx/include/__memory/ranges_construct_at.h
    libcxx/include/__memory/ranges_uninitialized_algorithms.h
    libcxx/include/__memory/raw_storage_iterator.h
    libcxx/include/__memory/shared_ptr.h
    libcxx/include/__memory/temporary_buffer.h
    libcxx/include/__memory/uninitialized_algorithms.h
    libcxx/include/__memory/unique_ptr.h
    libcxx/include/__memory/uses_allocator.h
    libcxx/include/__memory/voidify.h
    libcxx/include/__mutex_base
    libcxx/include/__node_handle
    libcxx/include/__numeric/accumulate.h
    libcxx/include/__numeric/adjacent_difference.h
    libcxx/include/__numeric/exclusive_scan.h
    libcxx/include/__numeric/gcd_lcm.h
    libcxx/include/__numeric/inclusive_scan.h
    libcxx/include/__numeric/inner_product.h
    libcxx/include/__numeric/iota.h
    libcxx/include/__numeric/midpoint.h
    libcxx/include/__numeric/partial_sum.h
    libcxx/include/__numeric/reduce.h
    libcxx/include/__numeric/transform_exclusive_scan.h
    libcxx/include/__numeric/transform_inclusive_scan.h
    libcxx/include/__numeric/transform_reduce.h
    libcxx/include/__random/bernoulli_distribution.h
    libcxx/include/__random/binomial_distribution.h
    libcxx/include/__random/cauchy_distribution.h
    libcxx/include/__random/chi_squared_distribution.h
    libcxx/include/__random/clamp_to_integral.h
    libcxx/include/__random/default_random_engine.h
    libcxx/include/__random/discard_block_engine.h
    libcxx/include/__random/discrete_distribution.h
    libcxx/include/__random/exponential_distribution.h
    libcxx/include/__random/extreme_value_distribution.h
    libcxx/include/__random/fisher_f_distribution.h
    libcxx/include/__random/gamma_distribution.h
    libcxx/include/__random/generate_canonical.h
    libcxx/include/__random/geometric_distribution.h
    libcxx/include/__random/independent_bits_engine.h
    libcxx/include/__random/is_seed_sequence.h
    libcxx/include/__random/knuth_b.h
    libcxx/include/__random/linear_congruential_engine.h
    libcxx/include/__random/log2.h
    libcxx/include/__random/lognormal_distribution.h
    libcxx/include/__random/mersenne_twister_engine.h
    libcxx/include/__random/negative_binomial_distribution.h
    libcxx/include/__random/normal_distribution.h
    libcxx/include/__random/piecewise_constant_distribution.h
    libcxx/include/__random/piecewise_linear_distribution.h
    libcxx/include/__random/poisson_distribution.h
    libcxx/include/__random/random_device.h
    libcxx/include/__random/ranlux.h
    libcxx/include/__random/seed_seq.h
    libcxx/include/__random/shuffle_order_engine.h
    libcxx/include/__random/student_t_distribution.h
    libcxx/include/__random/subtract_with_carry_engine.h
    libcxx/include/__random/uniform_int_distribution.h
    libcxx/include/__random/uniform_random_bit_generator.h
    libcxx/include/__random/uniform_real_distribution.h
    libcxx/include/__random/weibull_distribution.h
    libcxx/include/__ranges/access.h
    libcxx/include/__ranges/all.h
    libcxx/include/__ranges/common_view.h
    libcxx/include/__ranges/concepts.h
    libcxx/include/__ranges/copyable_box.h
    libcxx/include/__ranges/counted.h
    libcxx/include/__ranges/dangling.h
    libcxx/include/__ranges/data.h
    libcxx/include/__ranges/drop_view.h
    libcxx/include/__ranges/empty.h
    libcxx/include/__ranges/empty_view.h
    libcxx/include/__ranges/enable_borrowed_range.h
    libcxx/include/__ranges/enable_view.h
    libcxx/include/__ranges/iota_view.h
    libcxx/include/__ranges/join_view.h
    libcxx/include/__ranges/non_propagating_cache.h
    libcxx/include/__ranges/owning_view.h
    libcxx/include/__ranges/range_adaptor.h
    libcxx/include/__ranges/rbegin.h
    libcxx/include/__ranges/ref_view.h
    libcxx/include/__ranges/rend.h
    libcxx/include/__ranges/reverse_view.h
    libcxx/include/__ranges/single_view.h
    libcxx/include/__ranges/size.h
    libcxx/include/__ranges/subrange.h
    libcxx/include/__ranges/take_view.h
    libcxx/include/__ranges/transform_view.h
    libcxx/include/__ranges/view_interface.h
    libcxx/include/__ranges/views.h
    libcxx/include/__split_buffer
    libcxx/include/__std_stream
    libcxx/include/__string
    libcxx/include/__thread/poll_with_backoff.h
    libcxx/include/__thread/timed_backoff_policy.h
    libcxx/include/__threading_support
    libcxx/include/__tree
    libcxx/include/__tuple
    libcxx/include/__utility/as_const.h
    libcxx/include/__utility/auto_cast.h
    libcxx/include/__utility/cmp.h
    libcxx/include/__utility/declval.h
    libcxx/include/__utility/exchange.h
    libcxx/include/__utility/forward.h
    libcxx/include/__utility/in_place.h
    libcxx/include/__utility/integer_sequence.h
    libcxx/include/__utility/move.h
    libcxx/include/__utility/pair.h
    libcxx/include/__utility/piecewise_construct.h
    libcxx/include/__utility/priority_tag.h
    libcxx/include/__utility/rel_ops.h
    libcxx/include/__utility/swap.h
    libcxx/include/__utility/to_underlying.h
    libcxx/include/__utility/transaction.h
    libcxx/include/__utility/unreachable.h
    libcxx/include/__variant/monostate.h
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/adjacent_find.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/all_of.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/any_of.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/binary_search.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/clamp.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/comp.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/comp_ref_type.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_backward.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_if.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_n.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/count.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/count_if.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/equal.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/equal_range.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/fill.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/fill_n.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_end.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_first_of.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_if.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_if_not.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/for_each.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/for_each_n.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/generate.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/generate_n.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/half_positive.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_found_result.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_fun_result.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_in_out_result.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_in_result.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_out_out_result.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_out_result.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/includes.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/inplace_merge.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_heap.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_heap_until.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_partitioned.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_permutation.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_sorted.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_sorted_until.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/iter_swap.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/lexicographical_compare.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/lower_bound.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/make_heap.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/max.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/max_element.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/merge.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min_element.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min_max_result.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/minmax.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/minmax_element.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/mismatch.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/move.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/move_backward.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/next_permutation.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/none_of.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/nth_element.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partial_sort.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partial_sort_copy.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition_copy.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition_point.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/pop_heap.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/prev_permutation.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/push_heap.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/ranges_min_element.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/ranges_swap_ranges.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_copy.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_copy_if.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_if.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_copy.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_copy_if.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_if.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/reverse.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/reverse_copy.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/rotate.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/rotate_copy.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sample.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/search.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/search_n.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_difference.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_intersection.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_symmetric_difference.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_union.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shift_left.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shift_right.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shuffle.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sift_down.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sort.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sort_heap.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/stable_partition.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/stable_sort.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/swap_ranges.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/transform.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unique.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unique_copy.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unwrap_iter.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/algorithm/upper_bound.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/availability.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/bit/bit_cast.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/bit/byteswap.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/bit_reference.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/bits.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/charconv/chars_format.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/charconv/from_chars_result.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/charconv/to_chars_result.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/chrono/calendar.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/chrono/convert_to_timespec.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/chrono/duration.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/chrono/file_clock.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/chrono/high_resolution_clock.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/chrono/steady_clock.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/chrono/system_clock.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/chrono/time_point.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/common_comparison_category.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_partial_order_fallback.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_strong_order_fallback.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_three_way.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_three_way_result.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_weak_order_fallback.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/is_eq.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/ordering.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/partial_order.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/strong_order.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/synth_three_way.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/three_way_comparable.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/compare/weak_order.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/arithmetic.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/assignable.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/boolean_testable.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/class_or_enum.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/common_reference_with.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/common_with.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/constructible.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/convertible_to.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/copyable.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/derived_from.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/destructible.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/different_from.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/equality_comparable.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/invocable.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/movable.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/predicate.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/regular.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/relation.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/same_as.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/semiregular.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/swappable.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/concepts/totally_ordered.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/coroutine/coroutine_handle.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/coroutine/coroutine_traits.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/coroutine/noop_coroutine_handle.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/coroutine/trivial_awaitables.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/errc.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/copy_options.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_entry.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_iterator.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_options.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_status.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_time_type.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_type.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/filesystem_error.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/operations.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/path.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/path_iterator.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/perm_options.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/perms.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/recursive_directory_iterator.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/space_info.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/filesystem/u8path.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/format_arg.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/format_args.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/format_context.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/format_error.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/format_fwd.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/format_parse_context.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/format_string.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/format_to_n_result.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/formatter.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_bool.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_char.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_floating_point.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_integer.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_integral.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_pointer.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_string.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/format/parser_std_format_spec.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/binary_function.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/binary_negate.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/bind.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/bind_back.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/bind_front.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/binder1st.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/binder2nd.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/compose.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/default_searcher.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/function.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/hash.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/identity.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/invoke.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/is_transparent.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/mem_fn.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/mem_fun_ref.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/not_fn.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/operations.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/perfect_forward.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/pointer_to_binary_function.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/pointer_to_unary_function.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/ranges_operations.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/reference_wrapper.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/unary_function.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/unary_negate.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/unwrap_ref.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/functional/weak_result_type.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ios/fpos.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/access.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/advance.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/back_insert_iterator.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/common_iterator.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/concepts.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/counted_iterator.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/data.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/default_sentinel.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/distance.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/empty.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/erase_if_container.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/front_insert_iterator.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/incrementable_traits.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/indirectly_comparable.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/insert_iterator.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/istream_iterator.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/istreambuf_iterator.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/iter_move.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/iter_swap.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/iterator.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/iterator_traits.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/mergeable.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/move_iterator.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/next.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/ostream_iterator.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/ostreambuf_iterator.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/permutable.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/prev.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/projected.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/readable_traits.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/reverse_access.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/reverse_iterator.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/size.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/sortable.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/unreachable_sentinel.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/iterator/wrap_iter.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/locale.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/mbstate_t.h.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/addressof.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/allocation_guard.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator_arg_t.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator_traits.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/auto_ptr.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/compressed_pair.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/concepts.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/construct_at.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/pointer_traits.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/ranges_construct_at.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/ranges_uninitialized_algorithms.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/raw_storage_iterator.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/shared_ptr.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/temporary_buffer.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/uninitialized_algorithms.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/unique_ptr.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/uses_allocator.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/memory/voidify.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/mutex_base.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/node_handle.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/accumulate.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/adjacent_difference.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/exclusive_scan.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/gcd_lcm.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/inclusive_scan.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/inner_product.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/iota.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/midpoint.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/partial_sum.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/reduce.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_exclusive_scan.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_inclusive_scan.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_reduce.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/bernoulli_distribution.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/binomial_distribution.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/cauchy_distribution.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/chi_squared_distribution.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/clamp_to_integral.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/default_random_engine.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/discard_block_engine.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/discrete_distribution.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/exponential_distribution.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/extreme_value_distribution.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/fisher_f_distribution.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/gamma_distribution.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/generate_canonical.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/geometric_distribution.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/independent_bits_engine.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/is_seed_sequence.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/knuth_b.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/linear_congruential_engine.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/log2.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/lognormal_distribution.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/mersenne_twister_engine.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/negative_binomial_distribution.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/normal_distribution.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/piecewise_constant_distribution.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/piecewise_linear_distribution.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/poisson_distribution.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/random_device.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/ranlux.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/seed_seq.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/shuffle_order_engine.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/student_t_distribution.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/subtract_with_carry_engine.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_int_distribution.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_random_bit_generator.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_real_distribution.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/random/weibull_distribution.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/access.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/all.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/common_view.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/concepts.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/copyable_box.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/counted.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/dangling.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/data.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/drop_view.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/empty.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/empty_view.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/enable_borrowed_range.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/enable_view.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/iota_view.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/join_view.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/non_propagating_cache.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/owning_view.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/range_adaptor.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/rbegin.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/ref_view.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/rend.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/reverse_view.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/single_view.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/size.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/subrange.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/take_view.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/transform_view.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/view_interface.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/ranges/views.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/split_buffer.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/std_stream.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/string.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/thread/poll_with_backoff.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/thread/timed_backoff_policy.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/tuple.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/as_const.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/auto_cast.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/cmp.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/declval.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/exchange.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/forward.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/in_place.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/integer_sequence.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/move.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/pair.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/piecewise_construct.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/priority_tag.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/rel_ops.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/swap.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/to_underlying.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/transaction.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/utility/unreachable.module.verify.cpp
    libcxx/test/libcxx/diagnostics/detail.headers/variant/monostate.module.verify.cpp
    libcxx/utils/generate_private_header_tests.py
    libcxxabi/src/cxa_exception_storage.cpp
    libcxxabi/src/cxa_guard_impl.h
    libcxxabi/src/cxa_thread_atexit.cpp
    libcxxabi/src/fallback_malloc.cpp
    libcxxabi/test/test_exception_storage.pass.cpp
    libcxxabi/test/test_fallback_malloc.pass.cpp
    llvm/utils/gn/secondary/libcxxabi/include/BUILD.gn

Removed: 
    


################################################################################
diff  --git a/libcxx/cmake/Modules/HandleLibCXXABI.cmake b/libcxx/cmake/Modules/HandleLibCXXABI.cmake
index d69405ddeeacf..5b92ebb765a81 100644
--- a/libcxx/cmake/Modules/HandleLibCXXABI.cmake
+++ b/libcxx/cmake/Modules/HandleLibCXXABI.cmake
@@ -117,7 +117,7 @@ elseif ("${LIBCXX_CXX_ABI_LIBNAME}" STREQUAL "libcxxabi")
 
   setup_abi_lib(
     "-DLIBCXX_BUILDING_LIBCXXABI"
-    "${shared}" "${static}" "cxxabi.h;__cxxabi_config.h" "")
+    "${shared}" "${static}" "cxxabi.h;__cxxabi_config.h;threading_support.h" "")
 elseif ("${LIBCXX_CXX_ABI_LIBNAME}" STREQUAL "libcxxrt")
   if(NOT LIBCXX_CXX_ABI_INCLUDE_PATHS)
     set(LIBCXX_CXX_ABI_INCLUDE_PATHS "/usr/include/c++/v1")

diff  --git a/libcxx/include/__algorithm/adjacent_find.h b/libcxx/include/__algorithm/adjacent_find.h
index 83d8c260f27a2..e892ff46218df 100644
--- a/libcxx/include/__algorithm/adjacent_find.h
+++ b/libcxx/include/__algorithm/adjacent_find.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/all_of.h b/libcxx/include/__algorithm/all_of.h
index 3af32a5775048..7b4a52cb22878 100644
--- a/libcxx/include/__algorithm/all_of.h
+++ b/libcxx/include/__algorithm/all_of.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/any_of.h b/libcxx/include/__algorithm/any_of.h
index 6fe6a0b6b3c42..193f9bd121e04 100644
--- a/libcxx/include/__algorithm/any_of.h
+++ b/libcxx/include/__algorithm/any_of.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/binary_search.h b/libcxx/include/__algorithm/binary_search.h
index 15a17e1cde99a..60f91f2627102 100644
--- a/libcxx/include/__algorithm/binary_search.h
+++ b/libcxx/include/__algorithm/binary_search.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/clamp.h b/libcxx/include/__algorithm/clamp.h
index b3762b85a0bc9..79eab5388e1b6 100644
--- a/libcxx/include/__algorithm/clamp.h
+++ b/libcxx/include/__algorithm/clamp.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/comp.h b/libcxx/include/__algorithm/comp.h
index 62c06ae57f23c..beb2b6802b385 100644
--- a/libcxx/include/__algorithm/comp.h
+++ b/libcxx/include/__algorithm/comp.h
@@ -13,6 +13,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/comp_ref_type.h b/libcxx/include/__algorithm/comp_ref_type.h
index ed0ed5904a44c..70993d19cefdd 100644
--- a/libcxx/include/__algorithm/comp_ref_type.h
+++ b/libcxx/include/__algorithm/comp_ref_type.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/copy.h b/libcxx/include/__algorithm/copy.h
index b4045cd06a2bb..7c0ccb78da887 100644
--- a/libcxx/include/__algorithm/copy.h
+++ b/libcxx/include/__algorithm/copy.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/copy_backward.h b/libcxx/include/__algorithm/copy_backward.h
index 9754f0c95b01f..cd216207928e6 100644
--- a/libcxx/include/__algorithm/copy_backward.h
+++ b/libcxx/include/__algorithm/copy_backward.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/copy_if.h b/libcxx/include/__algorithm/copy_if.h
index 9c3cd29e24134..8960ce28cc47e 100644
--- a/libcxx/include/__algorithm/copy_if.h
+++ b/libcxx/include/__algorithm/copy_if.h
@@ -13,6 +13,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/copy_n.h b/libcxx/include/__algorithm/copy_n.h
index 8b915af63c0db..93bcea60f2039 100644
--- a/libcxx/include/__algorithm/copy_n.h
+++ b/libcxx/include/__algorithm/copy_n.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/count.h b/libcxx/include/__algorithm/count.h
index e18128cae8a80..e29a84b97ee41 100644
--- a/libcxx/include/__algorithm/count.h
+++ b/libcxx/include/__algorithm/count.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/count_if.h b/libcxx/include/__algorithm/count_if.h
index 1ec2d83394e12..b6432e9c25515 100644
--- a/libcxx/include/__algorithm/count_if.h
+++ b/libcxx/include/__algorithm/count_if.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/equal.h b/libcxx/include/__algorithm/equal.h
index ca1bc6bc5665a..bfd3bf15f00c9 100644
--- a/libcxx/include/__algorithm/equal.h
+++ b/libcxx/include/__algorithm/equal.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/equal_range.h b/libcxx/include/__algorithm/equal_range.h
index 37a2c299f0b93..f4654a08485ba 100644
--- a/libcxx/include/__algorithm/equal_range.h
+++ b/libcxx/include/__algorithm/equal_range.h
@@ -19,6 +19,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/fill.h b/libcxx/include/__algorithm/fill.h
index be5b4740a52a7..ecbdc502329fe 100644
--- a/libcxx/include/__algorithm/fill.h
+++ b/libcxx/include/__algorithm/fill.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/fill_n.h b/libcxx/include/__algorithm/fill_n.h
index 590c8f38f3fdd..3a0aca7a365f4 100644
--- a/libcxx/include/__algorithm/fill_n.h
+++ b/libcxx/include/__algorithm/fill_n.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/find.h b/libcxx/include/__algorithm/find.h
index 641b85e2f6456..b9ed3c8295ab8 100644
--- a/libcxx/include/__algorithm/find.h
+++ b/libcxx/include/__algorithm/find.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/find_end.h b/libcxx/include/__algorithm/find_end.h
index 0220c09397110..294f09ed46ffb 100644
--- a/libcxx/include/__algorithm/find_end.h
+++ b/libcxx/include/__algorithm/find_end.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/find_first_of.h b/libcxx/include/__algorithm/find_first_of.h
index b968329fc3186..1d3f0e9606c1b 100644
--- a/libcxx/include/__algorithm/find_first_of.h
+++ b/libcxx/include/__algorithm/find_first_of.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/find_if.h b/libcxx/include/__algorithm/find_if.h
index aa98171a1f61a..8fc59b5a322e1 100644
--- a/libcxx/include/__algorithm/find_if.h
+++ b/libcxx/include/__algorithm/find_if.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/find_if_not.h b/libcxx/include/__algorithm/find_if_not.h
index 61ddab0b9805d..58fc6c3a9c9dd 100644
--- a/libcxx/include/__algorithm/find_if_not.h
+++ b/libcxx/include/__algorithm/find_if_not.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/for_each.h b/libcxx/include/__algorithm/for_each.h
index bfbd37c3a3a44..4d869eaf9c93d 100644
--- a/libcxx/include/__algorithm/for_each.h
+++ b/libcxx/include/__algorithm/for_each.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/for_each_n.h b/libcxx/include/__algorithm/for_each_n.h
index 2552b40c2781c..75245c39b7579 100644
--- a/libcxx/include/__algorithm/for_each_n.h
+++ b/libcxx/include/__algorithm/for_each_n.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/generate.h b/libcxx/include/__algorithm/generate.h
index dacbd8c681955..0b49f36dc8da5 100644
--- a/libcxx/include/__algorithm/generate.h
+++ b/libcxx/include/__algorithm/generate.h
@@ -13,6 +13,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/generate_n.h b/libcxx/include/__algorithm/generate_n.h
index 2650e9e5d8b70..0184c1f490fd3 100644
--- a/libcxx/include/__algorithm/generate_n.h
+++ b/libcxx/include/__algorithm/generate_n.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/half_positive.h b/libcxx/include/__algorithm/half_positive.h
index 7666ef1449c67..a3d7e18959b63 100644
--- a/libcxx/include/__algorithm/half_positive.h
+++ b/libcxx/include/__algorithm/half_positive.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/in_found_result.h b/libcxx/include/__algorithm/in_found_result.h
index 08ebf2fbcc1ac..9cbcd319babcb 100644
--- a/libcxx/include/__algorithm/in_found_result.h
+++ b/libcxx/include/__algorithm/in_found_result.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 #if !defined(_LIBCPP_HAS_NO_CONCEPTS) && !defined(_LIBCPP_HAS_NO_INCOMPLETE_RANGES)

diff  --git a/libcxx/include/__algorithm/in_fun_result.h b/libcxx/include/__algorithm/in_fun_result.h
index d5186e11b7ea4..d971bc3000c35 100644
--- a/libcxx/include/__algorithm/in_fun_result.h
+++ b/libcxx/include/__algorithm/in_fun_result.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/in_in_out_result.h b/libcxx/include/__algorithm/in_in_out_result.h
index f7cb698472fb6..5b17226074618 100644
--- a/libcxx/include/__algorithm/in_in_out_result.h
+++ b/libcxx/include/__algorithm/in_in_out_result.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/in_in_result.h b/libcxx/include/__algorithm/in_in_result.h
index 159092189a532..0de12db28b734 100644
--- a/libcxx/include/__algorithm/in_in_result.h
+++ b/libcxx/include/__algorithm/in_in_result.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/in_out_out_result.h b/libcxx/include/__algorithm/in_out_out_result.h
index 9788fbfa2e74e..d429d4fea443d 100644
--- a/libcxx/include/__algorithm/in_out_out_result.h
+++ b/libcxx/include/__algorithm/in_out_out_result.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/in_out_result.h b/libcxx/include/__algorithm/in_out_result.h
index fd394a36211b1..6edd15dfe7890 100644
--- a/libcxx/include/__algorithm/in_out_result.h
+++ b/libcxx/include/__algorithm/in_out_result.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/includes.h b/libcxx/include/__algorithm/includes.h
index 4c87e8d221168..ec7d83119a9f9 100644
--- a/libcxx/include/__algorithm/includes.h
+++ b/libcxx/include/__algorithm/includes.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/inplace_merge.h b/libcxx/include/__algorithm/inplace_merge.h
index 90ca152c5b3a8..d22c26dde00f5 100644
--- a/libcxx/include/__algorithm/inplace_merge.h
+++ b/libcxx/include/__algorithm/inplace_merge.h
@@ -23,6 +23,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__algorithm/is_heap.h b/libcxx/include/__algorithm/is_heap.h
index fe44e634f6ddd..cf57ef1b37974 100644
--- a/libcxx/include/__algorithm/is_heap.h
+++ b/libcxx/include/__algorithm/is_heap.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/is_heap_until.h b/libcxx/include/__algorithm/is_heap_until.h
index 39f313eb0d3fc..f39cf9dcc8460 100644
--- a/libcxx/include/__algorithm/is_heap_until.h
+++ b/libcxx/include/__algorithm/is_heap_until.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/is_partitioned.h b/libcxx/include/__algorithm/is_partitioned.h
index b4f421cfc0538..849fdabe1481a 100644
--- a/libcxx/include/__algorithm/is_partitioned.h
+++ b/libcxx/include/__algorithm/is_partitioned.h
@@ -13,6 +13,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/is_permutation.h b/libcxx/include/__algorithm/is_permutation.h
index cdd742048412a..2a58dcfb21eb5 100644
--- a/libcxx/include/__algorithm/is_permutation.h
+++ b/libcxx/include/__algorithm/is_permutation.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/is_sorted.h b/libcxx/include/__algorithm/is_sorted.h
index 56de95bb31b73..b4bc21b54eaa6 100644
--- a/libcxx/include/__algorithm/is_sorted.h
+++ b/libcxx/include/__algorithm/is_sorted.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/is_sorted_until.h b/libcxx/include/__algorithm/is_sorted_until.h
index 338d28508c173..c9200737b524f 100644
--- a/libcxx/include/__algorithm/is_sorted_until.h
+++ b/libcxx/include/__algorithm/is_sorted_until.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/iter_swap.h b/libcxx/include/__algorithm/iter_swap.h
index 038859e1361d2..89633252630ea 100644
--- a/libcxx/include/__algorithm/iter_swap.h
+++ b/libcxx/include/__algorithm/iter_swap.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/lexicographical_compare.h b/libcxx/include/__algorithm/lexicographical_compare.h
index 30ddf24081202..26ae99da7bbbb 100644
--- a/libcxx/include/__algorithm/lexicographical_compare.h
+++ b/libcxx/include/__algorithm/lexicographical_compare.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/lower_bound.h b/libcxx/include/__algorithm/lower_bound.h
index 26b64ec12d304..6bac873693bb9 100644
--- a/libcxx/include/__algorithm/lower_bound.h
+++ b/libcxx/include/__algorithm/lower_bound.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/make_heap.h b/libcxx/include/__algorithm/make_heap.h
index acac0aabf1e43..7e1b9a2a5df72 100644
--- a/libcxx/include/__algorithm/make_heap.h
+++ b/libcxx/include/__algorithm/make_heap.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/max.h b/libcxx/include/__algorithm/max.h
index 345b235a21933..f41a29ce4f4a2 100644
--- a/libcxx/include/__algorithm/max.h
+++ b/libcxx/include/__algorithm/max.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__algorithm/max_element.h b/libcxx/include/__algorithm/max_element.h
index 795ec8e1ddc16..ce1dfae374480 100644
--- a/libcxx/include/__algorithm/max_element.h
+++ b/libcxx/include/__algorithm/max_element.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/merge.h b/libcxx/include/__algorithm/merge.h
index 48360ed5b4451..82855fac992c9 100644
--- a/libcxx/include/__algorithm/merge.h
+++ b/libcxx/include/__algorithm/merge.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/min.h b/libcxx/include/__algorithm/min.h
index 3d8c73d78f118..7a092fe97a1b1 100644
--- a/libcxx/include/__algorithm/min.h
+++ b/libcxx/include/__algorithm/min.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__algorithm/min_element.h b/libcxx/include/__algorithm/min_element.h
index 129833d42bda8..b8da52b236f87 100644
--- a/libcxx/include/__algorithm/min_element.h
+++ b/libcxx/include/__algorithm/min_element.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/min_max_result.h b/libcxx/include/__algorithm/min_max_result.h
index 1d56a741f5bc5..9d0226af63321 100644
--- a/libcxx/include/__algorithm/min_max_result.h
+++ b/libcxx/include/__algorithm/min_max_result.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__algorithm/minmax.h b/libcxx/include/__algorithm/minmax.h
index 30a119491a36e..fddfcc64f6988 100644
--- a/libcxx/include/__algorithm/minmax.h
+++ b/libcxx/include/__algorithm/minmax.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/minmax_element.h b/libcxx/include/__algorithm/minmax_element.h
index 80afbdf87abea..38e280d97dbf7 100644
--- a/libcxx/include/__algorithm/minmax_element.h
+++ b/libcxx/include/__algorithm/minmax_element.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/mismatch.h b/libcxx/include/__algorithm/mismatch.h
index f2011faf2f9a0..d919e142cb0f6 100644
--- a/libcxx/include/__algorithm/mismatch.h
+++ b/libcxx/include/__algorithm/mismatch.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/move.h b/libcxx/include/__algorithm/move.h
index 72bf3d76ea5be..77692255e213a 100644
--- a/libcxx/include/__algorithm/move.h
+++ b/libcxx/include/__algorithm/move.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/move_backward.h b/libcxx/include/__algorithm/move_backward.h
index a56f6b826ce33..38d361d15a476 100644
--- a/libcxx/include/__algorithm/move_backward.h
+++ b/libcxx/include/__algorithm/move_backward.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/next_permutation.h b/libcxx/include/__algorithm/next_permutation.h
index 05e56f4a17ff6..1ea0b0db68f67 100644
--- a/libcxx/include/__algorithm/next_permutation.h
+++ b/libcxx/include/__algorithm/next_permutation.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/none_of.h b/libcxx/include/__algorithm/none_of.h
index b34b1e00ddb84..d9dbec0cefcde 100644
--- a/libcxx/include/__algorithm/none_of.h
+++ b/libcxx/include/__algorithm/none_of.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/nth_element.h b/libcxx/include/__algorithm/nth_element.h
index 0f9f66d3ca66f..fb754fbd68d9f 100644
--- a/libcxx/include/__algorithm/nth_element.h
+++ b/libcxx/include/__algorithm/nth_element.h
@@ -22,6 +22,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/partial_sort.h b/libcxx/include/__algorithm/partial_sort.h
index 8adf5b2f4f459..9714e4ff45dd1 100644
--- a/libcxx/include/__algorithm/partial_sort.h
+++ b/libcxx/include/__algorithm/partial_sort.h
@@ -24,6 +24,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/partial_sort_copy.h b/libcxx/include/__algorithm/partial_sort_copy.h
index 7ed1e538e9b83..5a11963d675fd 100644
--- a/libcxx/include/__algorithm/partial_sort_copy.h
+++ b/libcxx/include/__algorithm/partial_sort_copy.h
@@ -19,6 +19,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/partition.h b/libcxx/include/__algorithm/partition.h
index 73d94831ed876..d2ed4b419d86a 100644
--- a/libcxx/include/__algorithm/partition.h
+++ b/libcxx/include/__algorithm/partition.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/partition_copy.h b/libcxx/include/__algorithm/partition_copy.h
index cacde0bfd47bb..a53916eedcbff 100644
--- a/libcxx/include/__algorithm/partition_copy.h
+++ b/libcxx/include/__algorithm/partition_copy.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/partition_point.h b/libcxx/include/__algorithm/partition_point.h
index c2fa841edc6d0..24fd5d88ba2ba 100644
--- a/libcxx/include/__algorithm/partition_point.h
+++ b/libcxx/include/__algorithm/partition_point.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/pop_heap.h b/libcxx/include/__algorithm/pop_heap.h
index 2a69f6ee47f0d..6680369477a44 100644
--- a/libcxx/include/__algorithm/pop_heap.h
+++ b/libcxx/include/__algorithm/pop_heap.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/prev_permutation.h b/libcxx/include/__algorithm/prev_permutation.h
index 9dbc1dad01244..2f127eab4583e 100644
--- a/libcxx/include/__algorithm/prev_permutation.h
+++ b/libcxx/include/__algorithm/prev_permutation.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/push_heap.h b/libcxx/include/__algorithm/push_heap.h
index 66973e082f14a..8ff6df4784d9d 100644
--- a/libcxx/include/__algorithm/push_heap.h
+++ b/libcxx/include/__algorithm/push_heap.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/ranges_min_element.h b/libcxx/include/__algorithm/ranges_min_element.h
index 82aaeea1c846b..218cfce1f1962 100644
--- a/libcxx/include/__algorithm/ranges_min_element.h
+++ b/libcxx/include/__algorithm/ranges_min_element.h
@@ -22,6 +22,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 #if !defined(_LIBCPP_HAS_NO_CONCEPTS) && !defined(_LIBCPP_HAS_NO_INCOMPLETE_RANGES)

diff  --git a/libcxx/include/__algorithm/ranges_swap_ranges.h b/libcxx/include/__algorithm/ranges_swap_ranges.h
index 59a875ae3bb21..b05bff2e3dc67 100644
--- a/libcxx/include/__algorithm/ranges_swap_ranges.h
+++ b/libcxx/include/__algorithm/ranges_swap_ranges.h
@@ -20,6 +20,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 #ifndef _LIBCPP_HAS_NO_CONCEPTS

diff  --git a/libcxx/include/__algorithm/remove.h b/libcxx/include/__algorithm/remove.h
index c00f96f78a634..88bf9b43b7dbb 100644
--- a/libcxx/include/__algorithm/remove.h
+++ b/libcxx/include/__algorithm/remove.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/remove_copy.h b/libcxx/include/__algorithm/remove_copy.h
index a29a385af9acc..411723f2d0980 100644
--- a/libcxx/include/__algorithm/remove_copy.h
+++ b/libcxx/include/__algorithm/remove_copy.h
@@ -13,6 +13,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/remove_copy_if.h b/libcxx/include/__algorithm/remove_copy_if.h
index 36ddba4883ab9..0dbe6fd5aadac 100644
--- a/libcxx/include/__algorithm/remove_copy_if.h
+++ b/libcxx/include/__algorithm/remove_copy_if.h
@@ -13,6 +13,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/remove_if.h b/libcxx/include/__algorithm/remove_if.h
index 0ae131498d22d..59746434c1bc3 100644
--- a/libcxx/include/__algorithm/remove_if.h
+++ b/libcxx/include/__algorithm/remove_if.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/replace.h b/libcxx/include/__algorithm/replace.h
index d0ae8f65d4a28..345440305bd4d 100644
--- a/libcxx/include/__algorithm/replace.h
+++ b/libcxx/include/__algorithm/replace.h
@@ -13,6 +13,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/replace_copy.h b/libcxx/include/__algorithm/replace_copy.h
index 7c8a5a0b93cbb..f260c819382e2 100644
--- a/libcxx/include/__algorithm/replace_copy.h
+++ b/libcxx/include/__algorithm/replace_copy.h
@@ -13,6 +13,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/replace_copy_if.h b/libcxx/include/__algorithm/replace_copy_if.h
index 9d8a68fdc0f39..2dc6f6bba5040 100644
--- a/libcxx/include/__algorithm/replace_copy_if.h
+++ b/libcxx/include/__algorithm/replace_copy_if.h
@@ -13,6 +13,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/replace_if.h b/libcxx/include/__algorithm/replace_if.h
index 37c719a34c848..c5a06f8140753 100644
--- a/libcxx/include/__algorithm/replace_if.h
+++ b/libcxx/include/__algorithm/replace_if.h
@@ -13,6 +13,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/reverse.h b/libcxx/include/__algorithm/reverse.h
index 0202cd7408332..1bde1b0dc7915 100644
--- a/libcxx/include/__algorithm/reverse.h
+++ b/libcxx/include/__algorithm/reverse.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/reverse_copy.h b/libcxx/include/__algorithm/reverse_copy.h
index 1583907078031..9db7379545a36 100644
--- a/libcxx/include/__algorithm/reverse_copy.h
+++ b/libcxx/include/__algorithm/reverse_copy.h
@@ -13,6 +13,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/rotate.h b/libcxx/include/__algorithm/rotate.h
index 344c2f8cc9ff9..61e5cf1db0819 100644
--- a/libcxx/include/__algorithm/rotate.h
+++ b/libcxx/include/__algorithm/rotate.h
@@ -21,6 +21,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/rotate_copy.h b/libcxx/include/__algorithm/rotate_copy.h
index ab569ef7c6be9..7dc29dcda589a 100644
--- a/libcxx/include/__algorithm/rotate_copy.h
+++ b/libcxx/include/__algorithm/rotate_copy.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/sample.h b/libcxx/include/__algorithm/sample.h
index 523496108217a..e8b9ebfbb6be4 100644
--- a/libcxx/include/__algorithm/sample.h
+++ b/libcxx/include/__algorithm/sample.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__algorithm/search.h b/libcxx/include/__algorithm/search.h
index d89ec2b1c5bce..6d1d77f8da67a 100644
--- a/libcxx/include/__algorithm/search.h
+++ b/libcxx/include/__algorithm/search.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/search_n.h b/libcxx/include/__algorithm/search_n.h
index 4c083de65ee20..5e563b580184a 100644
--- a/libcxx/include/__algorithm/search_n.h
+++ b/libcxx/include/__algorithm/search_n.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/set_
diff erence.h b/libcxx/include/__algorithm/set_
diff erence.h
index 5e2dca24e446c..23eae01a9dee4 100644
--- a/libcxx/include/__algorithm/set_
diff erence.h
+++ b/libcxx/include/__algorithm/set_
diff erence.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/set_intersection.h b/libcxx/include/__algorithm/set_intersection.h
index c4163fcd4c3cc..563ee66e78d6b 100644
--- a/libcxx/include/__algorithm/set_intersection.h
+++ b/libcxx/include/__algorithm/set_intersection.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/set_symmetric_
diff erence.h b/libcxx/include/__algorithm/set_symmetric_
diff erence.h
index 2dbfb35d7be6e..1e0d3257a236a 100644
--- a/libcxx/include/__algorithm/set_symmetric_
diff erence.h
+++ b/libcxx/include/__algorithm/set_symmetric_
diff erence.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/set_union.h b/libcxx/include/__algorithm/set_union.h
index 0ec6b09380ed2..78ee9e27fc748 100644
--- a/libcxx/include/__algorithm/set_union.h
+++ b/libcxx/include/__algorithm/set_union.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/shift_left.h b/libcxx/include/__algorithm/shift_left.h
index 33f06d57e23a4..51710094a7a37 100644
--- a/libcxx/include/__algorithm/shift_left.h
+++ b/libcxx/include/__algorithm/shift_left.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/shift_right.h b/libcxx/include/__algorithm/shift_right.h
index 14bc761598b26..65d52d3d53958 100644
--- a/libcxx/include/__algorithm/shift_right.h
+++ b/libcxx/include/__algorithm/shift_right.h
@@ -19,6 +19,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/shuffle.h b/libcxx/include/__algorithm/shuffle.h
index 647aa3f067181..123a6a7b62e0a 100644
--- a/libcxx/include/__algorithm/shuffle.h
+++ b/libcxx/include/__algorithm/shuffle.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__algorithm/sift_down.h b/libcxx/include/__algorithm/sift_down.h
index b636da78b0ccd..b61715344608a 100644
--- a/libcxx/include/__algorithm/sift_down.h
+++ b/libcxx/include/__algorithm/sift_down.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/sort.h b/libcxx/include/__algorithm/sort.h
index 27ce647c8129c..315945273c3aa 100644
--- a/libcxx/include/__algorithm/sort.h
+++ b/libcxx/include/__algorithm/sort.h
@@ -24,6 +24,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/sort_heap.h b/libcxx/include/__algorithm/sort_heap.h
index 3a63d744fc1c7..9ab129ad2dd5f 100644
--- a/libcxx/include/__algorithm/sort_heap.h
+++ b/libcxx/include/__algorithm/sort_heap.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/stable_partition.h b/libcxx/include/__algorithm/stable_partition.h
index 1233cc157fb5e..9e13234bd698e 100644
--- a/libcxx/include/__algorithm/stable_partition.h
+++ b/libcxx/include/__algorithm/stable_partition.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/stable_sort.h b/libcxx/include/__algorithm/stable_sort.h
index 33df6e8ba75f3..8658069590841 100644
--- a/libcxx/include/__algorithm/stable_sort.h
+++ b/libcxx/include/__algorithm/stable_sort.h
@@ -21,6 +21,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/swap_ranges.h b/libcxx/include/__algorithm/swap_ranges.h
index 0422265bb4be4..4d7844ddd18ab 100644
--- a/libcxx/include/__algorithm/swap_ranges.h
+++ b/libcxx/include/__algorithm/swap_ranges.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/transform.h b/libcxx/include/__algorithm/transform.h
index f9db806f5b94d..2983b7176352c 100644
--- a/libcxx/include/__algorithm/transform.h
+++ b/libcxx/include/__algorithm/transform.h
@@ -13,6 +13,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/unique.h b/libcxx/include/__algorithm/unique.h
index 264d727d93c88..cb80ee3765fa5 100644
--- a/libcxx/include/__algorithm/unique.h
+++ b/libcxx/include/__algorithm/unique.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/unique_copy.h b/libcxx/include/__algorithm/unique_copy.h
index f58517749f514..4cb861dc83748 100644
--- a/libcxx/include/__algorithm/unique_copy.h
+++ b/libcxx/include/__algorithm/unique_copy.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/unwrap_iter.h b/libcxx/include/__algorithm/unwrap_iter.h
index e738cb26fcd89..bbadd53aa9392 100644
--- a/libcxx/include/__algorithm/unwrap_iter.h
+++ b/libcxx/include/__algorithm/unwrap_iter.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__algorithm/upper_bound.h b/libcxx/include/__algorithm/upper_bound.h
index cfa021e142479..a4963cf9ecb61 100644
--- a/libcxx/include/__algorithm/upper_bound.h
+++ b/libcxx/include/__algorithm/upper_bound.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__bit/bit_cast.h b/libcxx/include/__bit/bit_cast.h
index fbb70b3b46f67..589594b06fe25 100644
--- a/libcxx/include/__bit/bit_cast.h
+++ b/libcxx/include/__bit/bit_cast.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<bit>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__bit/byteswap.h b/libcxx/include/__bit/byteswap.h
index 970074ed98cea..6bb1980b53abf 100644
--- a/libcxx/include/__bit/byteswap.h
+++ b/libcxx/include/__bit/byteswap.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<bit>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__bit_reference b/libcxx/include/__bit_reference
index 423acee4aa7ce..7c0f332fa8810 100644
--- a/libcxx/include/__bit_reference
+++ b/libcxx/include/__bit_reference
@@ -20,6 +20,8 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<bitset>)
+#  pragma clang include_instead(<vector>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__bits b/libcxx/include/__bits
index 1eee8f576e9e1..56508e169ad72 100644
--- a/libcxx/include/__bits
+++ b/libcxx/include/__bits
@@ -14,6 +14,14 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<algorithm>)
+#  pragma clang include_instead(<bit>)
+#  pragma clang include_instead(<bitset>)
+#  pragma clang include_instead(<numeric>)
+#  pragma clang include_instead(<random>)
+#  pragma clang include_instead(<unordered_map>)
+#  pragma clang include_instead(<unordered_set>)
+#  pragma clang include_instead(<vector>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__charconv/chars_format.h b/libcxx/include/__charconv/chars_format.h
index 0875079e6c7ab..59e17dffaa243 100644
--- a/libcxx/include/__charconv/chars_format.h
+++ b/libcxx/include/__charconv/chars_format.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<charconv>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__charconv/from_chars_result.h b/libcxx/include/__charconv/from_chars_result.h
index 2cc3c11ef64fa..e2815670e1893 100644
--- a/libcxx/include/__charconv/from_chars_result.h
+++ b/libcxx/include/__charconv/from_chars_result.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<charconv>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__charconv/to_chars_result.h b/libcxx/include/__charconv/to_chars_result.h
index b4bc6ac2635b0..c0e3a9a0c17bf 100644
--- a/libcxx/include/__charconv/to_chars_result.h
+++ b/libcxx/include/__charconv/to_chars_result.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<charconv>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__chrono/calendar.h b/libcxx/include/__chrono/calendar.h
index 9e5642f758114..f9feab8e299bf 100644
--- a/libcxx/include/__chrono/calendar.h
+++ b/libcxx/include/__chrono/calendar.h
@@ -20,6 +20,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<chrono>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__chrono/convert_to_timespec.h b/libcxx/include/__chrono/convert_to_timespec.h
index e8631d135fee5..23c6415f6303e 100644
--- a/libcxx/include/__chrono/convert_to_timespec.h
+++ b/libcxx/include/__chrono/convert_to_timespec.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<chrono>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__chrono/duration.h b/libcxx/include/__chrono/duration.h
index f5207594291eb..1097412ee6b49 100644
--- a/libcxx/include/__chrono/duration.h
+++ b/libcxx/include/__chrono/duration.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<chrono>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__chrono/file_clock.h b/libcxx/include/__chrono/file_clock.h
index b8e08e78ba720..f2bbdb31d0949 100644
--- a/libcxx/include/__chrono/file_clock.h
+++ b/libcxx/include/__chrono/file_clock.h
@@ -19,6 +19,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<chrono>)
 #endif
 
 #ifndef _LIBCPP_CXX03_LANG

diff  --git a/libcxx/include/__chrono/high_resolution_clock.h b/libcxx/include/__chrono/high_resolution_clock.h
index 778ff44f3d09b..36c9d3ff808fa 100644
--- a/libcxx/include/__chrono/high_resolution_clock.h
+++ b/libcxx/include/__chrono/high_resolution_clock.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<chrono>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__chrono/steady_clock.h b/libcxx/include/__chrono/steady_clock.h
index 657e5eef6c370..9827601f2308f 100644
--- a/libcxx/include/__chrono/steady_clock.h
+++ b/libcxx/include/__chrono/steady_clock.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<chrono>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__chrono/system_clock.h b/libcxx/include/__chrono/system_clock.h
index 2922b78a74cb5..972da259cf405 100644
--- a/libcxx/include/__chrono/system_clock.h
+++ b/libcxx/include/__chrono/system_clock.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<chrono>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__chrono/time_point.h b/libcxx/include/__chrono/time_point.h
index ac2d347a0dcad..3ac44e71663ab 100644
--- a/libcxx/include/__chrono/time_point.h
+++ b/libcxx/include/__chrono/time_point.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<chrono>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__compare/common_comparison_category.h b/libcxx/include/__compare/common_comparison_category.h
index deab171846e24..9538f3ff95683 100644
--- a/libcxx/include/__compare/common_comparison_category.h
+++ b/libcxx/include/__compare/common_comparison_category.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<compare>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__compare/compare_partial_order_fallback.h b/libcxx/include/__compare/compare_partial_order_fallback.h
index b1fd5e82bb46e..a403403097479 100644
--- a/libcxx/include/__compare/compare_partial_order_fallback.h
+++ b/libcxx/include/__compare/compare_partial_order_fallback.h
@@ -18,6 +18,7 @@
 
 #ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
 #  pragma GCC system_header
+#  pragma clang include_instead(<compare>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__compare/compare_strong_order_fallback.h b/libcxx/include/__compare/compare_strong_order_fallback.h
index 9365a1ef036ce..fdcd60aa21371 100644
--- a/libcxx/include/__compare/compare_strong_order_fallback.h
+++ b/libcxx/include/__compare/compare_strong_order_fallback.h
@@ -18,6 +18,7 @@
 
 #ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
 #  pragma GCC system_header
+#  pragma clang include_instead(<compare>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__compare/compare_three_way.h b/libcxx/include/__compare/compare_three_way.h
index 25563bb7fec03..5445afa4dd0dd 100644
--- a/libcxx/include/__compare/compare_three_way.h
+++ b/libcxx/include/__compare/compare_three_way.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<compare>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__compare/compare_three_way_result.h b/libcxx/include/__compare/compare_three_way_result.h
index 7b03597ab1c12..bdcce13369c71 100644
--- a/libcxx/include/__compare/compare_three_way_result.h
+++ b/libcxx/include/__compare/compare_three_way_result.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<compare>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__compare/compare_weak_order_fallback.h b/libcxx/include/__compare/compare_weak_order_fallback.h
index 160e45ecb5498..d72c1eee9d73a 100644
--- a/libcxx/include/__compare/compare_weak_order_fallback.h
+++ b/libcxx/include/__compare/compare_weak_order_fallback.h
@@ -18,6 +18,7 @@
 
 #ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
 #  pragma GCC system_header
+#  pragma clang include_instead(<compare>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__compare/is_eq.h b/libcxx/include/__compare/is_eq.h
index 49648924e81f7..fcf9e6cc32f5b 100644
--- a/libcxx/include/__compare/is_eq.h
+++ b/libcxx/include/__compare/is_eq.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<compare>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__compare/ordering.h b/libcxx/include/__compare/ordering.h
index 1d466d669eec1..7913129768cb5 100644
--- a/libcxx/include/__compare/ordering.h
+++ b/libcxx/include/__compare/ordering.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<compare>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__compare/partial_order.h b/libcxx/include/__compare/partial_order.h
index ad29701875b91..f3d8e633dd81e 100644
--- a/libcxx/include/__compare/partial_order.h
+++ b/libcxx/include/__compare/partial_order.h
@@ -19,6 +19,7 @@
 
 #ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
 #  pragma GCC system_header
+#  pragma clang include_instead(<compare>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__compare/strong_order.h b/libcxx/include/__compare/strong_order.h
index 49a6106663547..6e1e285852393 100644
--- a/libcxx/include/__compare/strong_order.h
+++ b/libcxx/include/__compare/strong_order.h
@@ -22,6 +22,7 @@
 
 #ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
 #  pragma GCC system_header
+#  pragma clang include_instead(<compare>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__compare/synth_three_way.h b/libcxx/include/__compare/synth_three_way.h
index f55edd4876b5e..1d153420bf557 100644
--- a/libcxx/include/__compare/synth_three_way.h
+++ b/libcxx/include/__compare/synth_three_way.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<compare>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__compare/three_way_comparable.h b/libcxx/include/__compare/three_way_comparable.h
index f17382e430787..7fdf9feaac286 100644
--- a/libcxx/include/__compare/three_way_comparable.h
+++ b/libcxx/include/__compare/three_way_comparable.h
@@ -20,6 +20,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<compare>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__compare/weak_order.h b/libcxx/include/__compare/weak_order.h
index 725ac831e66bc..c02011fbb29a7 100644
--- a/libcxx/include/__compare/weak_order.h
+++ b/libcxx/include/__compare/weak_order.h
@@ -20,6 +20,7 @@
 
 #ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
 #  pragma GCC system_header
+#  pragma clang include_instead(<compare>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__concepts/arithmetic.h b/libcxx/include/__concepts/arithmetic.h
index f86908cfdff31..b9a1d2a7cd97d 100644
--- a/libcxx/include/__concepts/arithmetic.h
+++ b/libcxx/include/__concepts/arithmetic.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<concepts>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__concepts/assignable.h b/libcxx/include/__concepts/assignable.h
index 4d8a230ff4e9d..7f28afceea6e4 100644
--- a/libcxx/include/__concepts/assignable.h
+++ b/libcxx/include/__concepts/assignable.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<concepts>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__concepts/boolean_testable.h b/libcxx/include/__concepts/boolean_testable.h
index 89f66201e644a..222c35fc469fa 100644
--- a/libcxx/include/__concepts/boolean_testable.h
+++ b/libcxx/include/__concepts/boolean_testable.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<concepts>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__concepts/class_or_enum.h b/libcxx/include/__concepts/class_or_enum.h
index 729e444b39ada..e3c0f6f6f2736 100644
--- a/libcxx/include/__concepts/class_or_enum.h
+++ b/libcxx/include/__concepts/class_or_enum.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<concepts>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__concepts/common_reference_with.h b/libcxx/include/__concepts/common_reference_with.h
index bb5801a8c1ace..a16a59bf2bd1c 100644
--- a/libcxx/include/__concepts/common_reference_with.h
+++ b/libcxx/include/__concepts/common_reference_with.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<concepts>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__concepts/common_with.h b/libcxx/include/__concepts/common_with.h
index 2b7cb836d63fe..f1661a67b4640 100644
--- a/libcxx/include/__concepts/common_with.h
+++ b/libcxx/include/__concepts/common_with.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<concepts>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__concepts/constructible.h b/libcxx/include/__concepts/constructible.h
index f5371086233c3..7d97490d313fc 100644
--- a/libcxx/include/__concepts/constructible.h
+++ b/libcxx/include/__concepts/constructible.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<concepts>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__concepts/convertible_to.h b/libcxx/include/__concepts/convertible_to.h
index 6bf19228a491d..2e5d8a62b8a41 100644
--- a/libcxx/include/__concepts/convertible_to.h
+++ b/libcxx/include/__concepts/convertible_to.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<concepts>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__concepts/copyable.h b/libcxx/include/__concepts/copyable.h
index 8d5f28abc4247..bfde9233da77d 100644
--- a/libcxx/include/__concepts/copyable.h
+++ b/libcxx/include/__concepts/copyable.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<concepts>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__concepts/derived_from.h b/libcxx/include/__concepts/derived_from.h
index b91ce13fe4090..12aa88bb1b168 100644
--- a/libcxx/include/__concepts/derived_from.h
+++ b/libcxx/include/__concepts/derived_from.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<concepts>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__concepts/destructible.h b/libcxx/include/__concepts/destructible.h
index 429e82ee93fea..54941fb000da6 100644
--- a/libcxx/include/__concepts/destructible.h
+++ b/libcxx/include/__concepts/destructible.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<concepts>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__concepts/
diff erent_from.h b/libcxx/include/__concepts/
diff erent_from.h
index f882205d4a44d..fdeef6422852e 100644
--- a/libcxx/include/__concepts/
diff erent_from.h
+++ b/libcxx/include/__concepts/
diff erent_from.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<concepts>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__concepts/equality_comparable.h b/libcxx/include/__concepts/equality_comparable.h
index 36ac870b6bce1..860780265684f 100644
--- a/libcxx/include/__concepts/equality_comparable.h
+++ b/libcxx/include/__concepts/equality_comparable.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<concepts>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__concepts/invocable.h b/libcxx/include/__concepts/invocable.h
index 8a669f1f18e6f..193e813bfe097 100644
--- a/libcxx/include/__concepts/invocable.h
+++ b/libcxx/include/__concepts/invocable.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<concepts>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__concepts/movable.h b/libcxx/include/__concepts/movable.h
index 53e36ebc3fadc..bb95690732382 100644
--- a/libcxx/include/__concepts/movable.h
+++ b/libcxx/include/__concepts/movable.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<concepts>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__concepts/predicate.h b/libcxx/include/__concepts/predicate.h
index 04cdd97f9557f..5e11205ade48b 100644
--- a/libcxx/include/__concepts/predicate.h
+++ b/libcxx/include/__concepts/predicate.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<concepts>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__concepts/regular.h b/libcxx/include/__concepts/regular.h
index 63c9fb3ce3cfc..870b254408fb4 100644
--- a/libcxx/include/__concepts/regular.h
+++ b/libcxx/include/__concepts/regular.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<concepts>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__concepts/relation.h b/libcxx/include/__concepts/relation.h
index 1d687559e415e..2bfeacdb36bbd 100644
--- a/libcxx/include/__concepts/relation.h
+++ b/libcxx/include/__concepts/relation.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<concepts>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__concepts/same_as.h b/libcxx/include/__concepts/same_as.h
index 1337193c93cc0..12057a25a657d 100644
--- a/libcxx/include/__concepts/same_as.h
+++ b/libcxx/include/__concepts/same_as.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<concepts>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__concepts/semiregular.h b/libcxx/include/__concepts/semiregular.h
index eac5ec28724f6..6654ae1204cf2 100644
--- a/libcxx/include/__concepts/semiregular.h
+++ b/libcxx/include/__concepts/semiregular.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<concepts>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__concepts/swappable.h b/libcxx/include/__concepts/swappable.h
index 866e9f7dfd4ad..dc185cfd5d9d9 100644
--- a/libcxx/include/__concepts/swappable.h
+++ b/libcxx/include/__concepts/swappable.h
@@ -21,6 +21,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<concepts>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__concepts/totally_ordered.h b/libcxx/include/__concepts/totally_ordered.h
index 5ede92ad086c4..853b490622c7d 100644
--- a/libcxx/include/__concepts/totally_ordered.h
+++ b/libcxx/include/__concepts/totally_ordered.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<concepts>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__coroutine/coroutine_handle.h b/libcxx/include/__coroutine/coroutine_handle.h
index 4bf323789217e..d16660128e306 100644
--- a/libcxx/include/__coroutine/coroutine_handle.h
+++ b/libcxx/include/__coroutine/coroutine_handle.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<coroutine>)
 #endif
 
 #if _LIBCPP_STD_VER > 17 && !defined(_LIBCPP_HAS_NO_CXX20_COROUTINES)

diff  --git a/libcxx/include/__coroutine/coroutine_traits.h b/libcxx/include/__coroutine/coroutine_traits.h
index 0a5229b459454..1acca38e8a1c2 100644
--- a/libcxx/include/__coroutine/coroutine_traits.h
+++ b/libcxx/include/__coroutine/coroutine_traits.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<coroutine>)
 #endif
 
 #if _LIBCPP_STD_VER > 17 && !defined(_LIBCPP_HAS_NO_CXX20_COROUTINES)

diff  --git a/libcxx/include/__coroutine/noop_coroutine_handle.h b/libcxx/include/__coroutine/noop_coroutine_handle.h
index 839d66f601a63..7ec0cb97c97dd 100644
--- a/libcxx/include/__coroutine/noop_coroutine_handle.h
+++ b/libcxx/include/__coroutine/noop_coroutine_handle.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<coroutine>)
 #endif
 
 #if _LIBCPP_STD_VER > 17 && !defined(_LIBCPP_HAS_NO_CXX20_COROUTINES)
@@ -66,7 +67,7 @@ struct _LIBCPP_TEMPLATE_VIS coroutine_handle<noop_coroutine_promise> {
     friend coroutine_handle<noop_coroutine_promise> noop_coroutine() noexcept;
 
 #if __has_builtin(__builtin_coro_noop)
-    _LIBCPP_HIDE_FROM_ABI coroutine_handle() noexcept { 
+    _LIBCPP_HIDE_FROM_ABI coroutine_handle() noexcept {
         this->__handle_ = __builtin_coro_noop();
     }
 

diff  --git a/libcxx/include/__coroutine/trivial_awaitables.h b/libcxx/include/__coroutine/trivial_awaitables.h
index 31399ab29a000..e09c0b275fb4c 100644
--- a/libcxx/include/__coroutine/trivial_awaitables.h
+++ b/libcxx/include/__coroutine/trivial_awaitables.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<coroutine>)
 #endif
 
 #if _LIBCPP_STD_VER > 17 && !defined(_LIBCPP_HAS_NO_CXX20_COROUTINES)

diff  --git a/libcxx/include/__filesystem/copy_options.h b/libcxx/include/__filesystem/copy_options.h
index 2e037403f6f27..411cec2b0bcfe 100644
--- a/libcxx/include/__filesystem/copy_options.h
+++ b/libcxx/include/__filesystem/copy_options.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<filesystem>)
 #endif
 
 #ifndef _LIBCPP_CXX03_LANG

diff  --git a/libcxx/include/__filesystem/directory_entry.h b/libcxx/include/__filesystem/directory_entry.h
index 3db244556cfd8..068414089554e 100644
--- a/libcxx/include/__filesystem/directory_entry.h
+++ b/libcxx/include/__filesystem/directory_entry.h
@@ -29,6 +29,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<filesystem>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__filesystem/directory_iterator.h b/libcxx/include/__filesystem/directory_iterator.h
index 87bbbfac717bb..8994427b56a99 100644
--- a/libcxx/include/__filesystem/directory_iterator.h
+++ b/libcxx/include/__filesystem/directory_iterator.h
@@ -25,6 +25,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<filesystem>)
 #endif
 
 #ifndef _LIBCPP_CXX03_LANG

diff  --git a/libcxx/include/__filesystem/directory_options.h b/libcxx/include/__filesystem/directory_options.h
index d3f8cc1deb21f..6a721466b5cfd 100644
--- a/libcxx/include/__filesystem/directory_options.h
+++ b/libcxx/include/__filesystem/directory_options.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<filesystem>)
 #endif
 
 #ifndef _LIBCPP_CXX03_LANG

diff  --git a/libcxx/include/__filesystem/file_status.h b/libcxx/include/__filesystem/file_status.h
index ac3f6cbed9d78..5adcc339b4191 100644
--- a/libcxx/include/__filesystem/file_status.h
+++ b/libcxx/include/__filesystem/file_status.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<filesystem>)
 #endif
 
 #ifndef _LIBCPP_CXX03_LANG

diff  --git a/libcxx/include/__filesystem/file_time_type.h b/libcxx/include/__filesystem/file_time_type.h
index 7c4932e603bc1..7c4b0254af4cb 100644
--- a/libcxx/include/__filesystem/file_time_type.h
+++ b/libcxx/include/__filesystem/file_time_type.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<filesystem>)
 #endif
 
 #ifndef _LIBCPP_CXX03_LANG

diff  --git a/libcxx/include/__filesystem/file_type.h b/libcxx/include/__filesystem/file_type.h
index c756a05c848b0..24e59302e229b 100644
--- a/libcxx/include/__filesystem/file_type.h
+++ b/libcxx/include/__filesystem/file_type.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<filesystem>)
 #endif
 
 #ifndef _LIBCPP_CXX03_LANG

diff  --git a/libcxx/include/__filesystem/filesystem_error.h b/libcxx/include/__filesystem/filesystem_error.h
index e32b14c1b7bf9..0e76f397b75b1 100644
--- a/libcxx/include/__filesystem/filesystem_error.h
+++ b/libcxx/include/__filesystem/filesystem_error.h
@@ -21,6 +21,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<filesystem>)
 #endif
 
 #ifndef _LIBCPP_CXX03_LANG

diff  --git a/libcxx/include/__filesystem/operations.h b/libcxx/include/__filesystem/operations.h
index 85c71f017f346..2f92922b36e6d 100644
--- a/libcxx/include/__filesystem/operations.h
+++ b/libcxx/include/__filesystem/operations.h
@@ -26,6 +26,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<filesystem>)
 #endif
 
 #ifndef _LIBCPP_CXX03_LANG

diff  --git a/libcxx/include/__filesystem/path.h b/libcxx/include/__filesystem/path.h
index 6b4b1ae9baa20..c3537382f8db9 100644
--- a/libcxx/include/__filesystem/path.h
+++ b/libcxx/include/__filesystem/path.h
@@ -28,6 +28,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<filesystem>)
 #endif
 
 #ifndef _LIBCPP_CXX03_LANG

diff  --git a/libcxx/include/__filesystem/path_iterator.h b/libcxx/include/__filesystem/path_iterator.h
index 6f2baf8f7a298..8be8101bb9dc7 100644
--- a/libcxx/include/__filesystem/path_iterator.h
+++ b/libcxx/include/__filesystem/path_iterator.h
@@ -21,6 +21,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<filesystem>)
 #endif
 
 #ifndef _LIBCPP_CXX03_LANG

diff  --git a/libcxx/include/__filesystem/perm_options.h b/libcxx/include/__filesystem/perm_options.h
index f7580a2473d06..7484f75076db2 100644
--- a/libcxx/include/__filesystem/perm_options.h
+++ b/libcxx/include/__filesystem/perm_options.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<filesystem>)
 #endif
 
 #ifndef _LIBCPP_CXX03_LANG

diff  --git a/libcxx/include/__filesystem/perms.h b/libcxx/include/__filesystem/perms.h
index 0e5c7ed8d2e9d..3d6d1b9c1af63 100644
--- a/libcxx/include/__filesystem/perms.h
+++ b/libcxx/include/__filesystem/perms.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<filesystem>)
 #endif
 
 #ifndef _LIBCPP_CXX03_LANG

diff  --git a/libcxx/include/__filesystem/recursive_directory_iterator.h b/libcxx/include/__filesystem/recursive_directory_iterator.h
index 95360376fc289..e17c6f81d099a 100644
--- a/libcxx/include/__filesystem/recursive_directory_iterator.h
+++ b/libcxx/include/__filesystem/recursive_directory_iterator.h
@@ -24,6 +24,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<filesystem>)
 #endif
 
 #ifndef _LIBCPP_CXX03_LANG

diff  --git a/libcxx/include/__filesystem/space_info.h b/libcxx/include/__filesystem/space_info.h
index d7dc03af75a7f..c220e506efdc6 100644
--- a/libcxx/include/__filesystem/space_info.h
+++ b/libcxx/include/__filesystem/space_info.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<filesystem>)
 #endif
 
 #ifndef _LIBCPP_CXX03_LANG

diff  --git a/libcxx/include/__filesystem/u8path.h b/libcxx/include/__filesystem/u8path.h
index ee25521f2898f..82dcf8949ddde 100644
--- a/libcxx/include/__filesystem/u8path.h
+++ b/libcxx/include/__filesystem/u8path.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<filesystem>)
 #endif
 
 #ifndef _LIBCPP_CXX03_LANG

diff  --git a/libcxx/include/__format/format_arg.h b/libcxx/include/__format/format_arg.h
index 5e1565bf15956..79539034d651d 100644
--- a/libcxx/include/__format/format_arg.h
+++ b/libcxx/include/__format/format_arg.h
@@ -24,6 +24,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<format>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__format/format_args.h b/libcxx/include/__format/format_args.h
index 2739d1131bcbe..84cb51bdabe1c 100644
--- a/libcxx/include/__format/format_args.h
+++ b/libcxx/include/__format/format_args.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<format>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__format/format_context.h b/libcxx/include/__format/format_context.h
index d4bc35decda64..71d6c1cfac4d4 100644
--- a/libcxx/include/__format/format_context.h
+++ b/libcxx/include/__format/format_context.h
@@ -25,6 +25,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<format>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__format/format_error.h b/libcxx/include/__format/format_error.h
index 67ff41cbc3d83..ee0cd9c6ec636 100644
--- a/libcxx/include/__format/format_error.h
+++ b/libcxx/include/__format/format_error.h
@@ -19,6 +19,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<format>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__format/format_fwd.h b/libcxx/include/__format/format_fwd.h
index 9421aa878850f..e590f5fe1b86a 100644
--- a/libcxx/include/__format/format_fwd.h
+++ b/libcxx/include/__format/format_fwd.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<format>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__format/format_parse_context.h b/libcxx/include/__format/format_parse_context.h
index 3147be8372a72..1110f0e29672b 100644
--- a/libcxx/include/__format/format_parse_context.h
+++ b/libcxx/include/__format/format_parse_context.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<format>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__format/format_string.h b/libcxx/include/__format/format_string.h
index 32af6609e7b7d..b26fc484533a3 100644
--- a/libcxx/include/__format/format_string.h
+++ b/libcxx/include/__format/format_string.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<format>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__format/format_to_n_result.h b/libcxx/include/__format/format_to_n_result.h
index b973dc5c1dfe0..11edcecf5bf89 100644
--- a/libcxx/include/__format/format_to_n_result.h
+++ b/libcxx/include/__format/format_to_n_result.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<format>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__format/formatter.h b/libcxx/include/__format/formatter.h
index f9e0b6c84b7b7..1ca41606a6c6b 100644
--- a/libcxx/include/__format/formatter.h
+++ b/libcxx/include/__format/formatter.h
@@ -25,6 +25,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<format>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__format/formatter_bool.h b/libcxx/include/__format/formatter_bool.h
index f42868365771a..d4218eebd10a1 100644
--- a/libcxx/include/__format/formatter_bool.h
+++ b/libcxx/include/__format/formatter_bool.h
@@ -25,6 +25,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<format>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__format/formatter_char.h b/libcxx/include/__format/formatter_char.h
index f565135821e8f..07d408a509bd3 100644
--- a/libcxx/include/__format/formatter_char.h
+++ b/libcxx/include/__format/formatter_char.h
@@ -20,6 +20,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<format>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__format/formatter_floating_point.h b/libcxx/include/__format/formatter_floating_point.h
index aa32815af2a48..557aeb73e6beb 100644
--- a/libcxx/include/__format/formatter_floating_point.h
+++ b/libcxx/include/__format/formatter_floating_point.h
@@ -37,6 +37,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<format>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__format/formatter_integer.h b/libcxx/include/__format/formatter_integer.h
index e6143a47450ff..256ff8ad0f7ab 100644
--- a/libcxx/include/__format/formatter_integer.h
+++ b/libcxx/include/__format/formatter_integer.h
@@ -21,6 +21,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<format>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__format/formatter_integral.h b/libcxx/include/__format/formatter_integral.h
index 836082671c5aa..16577136410a5 100644
--- a/libcxx/include/__format/formatter_integral.h
+++ b/libcxx/include/__format/formatter_integral.h
@@ -33,6 +33,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<format>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__format/formatter_pointer.h b/libcxx/include/__format/formatter_pointer.h
index 83d21e1c50e6c..ce7af24b2db8f 100644
--- a/libcxx/include/__format/formatter_pointer.h
+++ b/libcxx/include/__format/formatter_pointer.h
@@ -24,6 +24,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<format>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__format/formatter_string.h b/libcxx/include/__format/formatter_string.h
index 54aa1215d99e5..850cf2ecd82c4 100644
--- a/libcxx/include/__format/formatter_string.h
+++ b/libcxx/include/__format/formatter_string.h
@@ -21,6 +21,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<format>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__format/parser_std_format_spec.h b/libcxx/include/__format/parser_std_format_spec.h
index 92c8986e760c2..1ec87ea811512 100644
--- a/libcxx/include/__format/parser_std_format_spec.h
+++ b/libcxx/include/__format/parser_std_format_spec.h
@@ -25,6 +25,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<format>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__functional/binary_function.h b/libcxx/include/__functional/binary_function.h
index 51135ef51e12d..74aa70ea6e7d7 100644
--- a/libcxx/include/__functional/binary_function.h
+++ b/libcxx/include/__functional/binary_function.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/binary_negate.h b/libcxx/include/__functional/binary_negate.h
index 17c5c20668f38..c0858567f612b 100644
--- a/libcxx/include/__functional/binary_negate.h
+++ b/libcxx/include/__functional/binary_negate.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/bind.h b/libcxx/include/__functional/bind.h
index c352406f85613..8a2d0b3003e09 100644
--- a/libcxx/include/__functional/bind.h
+++ b/libcxx/include/__functional/bind.h
@@ -19,6 +19,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/bind_back.h b/libcxx/include/__functional/bind_back.h
index d64981aa9eb86..93cdecbbb9b95 100644
--- a/libcxx/include/__functional/bind_back.h
+++ b/libcxx/include/__functional/bind_back.h
@@ -20,6 +20,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/bind_front.h b/libcxx/include/__functional/bind_front.h
index 22fb3a69dc75e..f3f96ff1cbd41 100644
--- a/libcxx/include/__functional/bind_front.h
+++ b/libcxx/include/__functional/bind_front.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/binder1st.h b/libcxx/include/__functional/binder1st.h
index 13b2459dff4d0..83270100bc298 100644
--- a/libcxx/include/__functional/binder1st.h
+++ b/libcxx/include/__functional/binder1st.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/binder2nd.h b/libcxx/include/__functional/binder2nd.h
index ff0f5f0816928..56a3b08ad1dc4 100644
--- a/libcxx/include/__functional/binder2nd.h
+++ b/libcxx/include/__functional/binder2nd.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/compose.h b/libcxx/include/__functional/compose.h
index 25213f28b1f28..41a81f9c20838 100644
--- a/libcxx/include/__functional/compose.h
+++ b/libcxx/include/__functional/compose.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/default_searcher.h b/libcxx/include/__functional/default_searcher.h
index 05fb23d7c3c41..4ad333d52885e 100644
--- a/libcxx/include/__functional/default_searcher.h
+++ b/libcxx/include/__functional/default_searcher.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/function.h b/libcxx/include/__functional/function.h
index 4698c8c2d42e0..ee51a07207d19 100644
--- a/libcxx/include/__functional/function.h
+++ b/libcxx/include/__functional/function.h
@@ -28,6 +28,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/hash.h b/libcxx/include/__functional/hash.h
index 2b3b96e534216..029ba048b1528 100644
--- a/libcxx/include/__functional/hash.h
+++ b/libcxx/include/__functional/hash.h
@@ -24,6 +24,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/identity.h b/libcxx/include/__functional/identity.h
index 646325aca496f..1a181a37af092 100644
--- a/libcxx/include/__functional/identity.h
+++ b/libcxx/include/__functional/identity.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/invoke.h b/libcxx/include/__functional/invoke.h
index b4c3e76562a86..cb38c0fe27194 100644
--- a/libcxx/include/__functional/invoke.h
+++ b/libcxx/include/__functional/invoke.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/is_transparent.h b/libcxx/include/__functional/is_transparent.h
index 74326c76c12f8..f102bb5c6b9fc 100644
--- a/libcxx/include/__functional/is_transparent.h
+++ b/libcxx/include/__functional/is_transparent.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/mem_fn.h b/libcxx/include/__functional/mem_fn.h
index 10967a8a14ec3..36fef444ce860 100644
--- a/libcxx/include/__functional/mem_fn.h
+++ b/libcxx/include/__functional/mem_fn.h
@@ -19,6 +19,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/mem_fun_ref.h b/libcxx/include/__functional/mem_fun_ref.h
index 81f48e66e7829..9d61c4dd28ea6 100644
--- a/libcxx/include/__functional/mem_fun_ref.h
+++ b/libcxx/include/__functional/mem_fun_ref.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/not_fn.h b/libcxx/include/__functional/not_fn.h
index b5c415c25c446..89f2d3752532e 100644
--- a/libcxx/include/__functional/not_fn.h
+++ b/libcxx/include/__functional/not_fn.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/operations.h b/libcxx/include/__functional/operations.h
index 9df6d773fea7c..482458348cccd 100644
--- a/libcxx/include/__functional/operations.h
+++ b/libcxx/include/__functional/operations.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/perfect_forward.h b/libcxx/include/__functional/perfect_forward.h
index 9acaa7e98f005..92811e00cf9b3 100644
--- a/libcxx/include/__functional/perfect_forward.h
+++ b/libcxx/include/__functional/perfect_forward.h
@@ -19,6 +19,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/pointer_to_binary_function.h b/libcxx/include/__functional/pointer_to_binary_function.h
index 187e3098c4883..437b5186089ed 100644
--- a/libcxx/include/__functional/pointer_to_binary_function.h
+++ b/libcxx/include/__functional/pointer_to_binary_function.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/pointer_to_unary_function.h b/libcxx/include/__functional/pointer_to_unary_function.h
index a0f98c1a55225..8984217afe7f1 100644
--- a/libcxx/include/__functional/pointer_to_unary_function.h
+++ b/libcxx/include/__functional/pointer_to_unary_function.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/ranges_operations.h b/libcxx/include/__functional/ranges_operations.h
index e8cf51981ad85..2578c552e1d98 100644
--- a/libcxx/include/__functional/ranges_operations.h
+++ b/libcxx/include/__functional/ranges_operations.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/reference_wrapper.h b/libcxx/include/__functional/reference_wrapper.h
index b7d2f873022ed..6fc8182f97b60 100644
--- a/libcxx/include/__functional/reference_wrapper.h
+++ b/libcxx/include/__functional/reference_wrapper.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/unary_function.h b/libcxx/include/__functional/unary_function.h
index af2a0b967c5d4..aa091d3fd964d 100644
--- a/libcxx/include/__functional/unary_function.h
+++ b/libcxx/include/__functional/unary_function.h
@@ -13,6 +13,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/unary_negate.h b/libcxx/include/__functional/unary_negate.h
index 7ff1f6e8791d8..c09ec84ab3ce9 100644
--- a/libcxx/include/__functional/unary_negate.h
+++ b/libcxx/include/__functional/unary_negate.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/unwrap_ref.h b/libcxx/include/__functional/unwrap_ref.h
index f7207934e1b48..8367b5fb09859 100644
--- a/libcxx/include/__functional/unwrap_ref.h
+++ b/libcxx/include/__functional/unwrap_ref.h
@@ -13,6 +13,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__functional/weak_result_type.h b/libcxx/include/__functional/weak_result_type.h
index e1c553e6f0cdb..2799f0b76c769 100644
--- a/libcxx/include/__functional/weak_result_type.h
+++ b/libcxx/include/__functional/weak_result_type.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<functional>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__hash_table b/libcxx/include/__hash_table
index 36f2ef7a2c7ac..4ea55c7911d38 100644
--- a/libcxx/include/__hash_table
+++ b/libcxx/include/__hash_table
@@ -26,6 +26,8 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<unordered_map>)
+#  pragma clang include_instead(<unordered_set>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__ios/fpos.h b/libcxx/include/__ios/fpos.h
index 87f0135fc3ea2..870cc8a9128ea 100644
--- a/libcxx/include/__ios/fpos.h
+++ b/libcxx/include/__ios/fpos.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ios>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/access.h b/libcxx/include/__iterator/access.h
index 7abd4c5573d66..fb5e881691161 100644
--- a/libcxx/include/__iterator/access.h
+++ b/libcxx/include/__iterator/access.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/advance.h b/libcxx/include/__iterator/advance.h
index da6bf052525c7..766adcee76208 100644
--- a/libcxx/include/__iterator/advance.h
+++ b/libcxx/include/__iterator/advance.h
@@ -24,6 +24,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/back_insert_iterator.h b/libcxx/include/__iterator/back_insert_iterator.h
index 9a4b05703b3c3..27df535247998 100644
--- a/libcxx/include/__iterator/back_insert_iterator.h
+++ b/libcxx/include/__iterator/back_insert_iterator.h
@@ -19,6 +19,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/common_iterator.h b/libcxx/include/__iterator/common_iterator.h
index 505e4f1f3f0db..a1f0fc6e1f69c 100644
--- a/libcxx/include/__iterator/common_iterator.h
+++ b/libcxx/include/__iterator/common_iterator.h
@@ -23,6 +23,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/concepts.h b/libcxx/include/__iterator/concepts.h
index 92ef781457de2..8f4d201d4ae9f 100644
--- a/libcxx/include/__iterator/concepts.h
+++ b/libcxx/include/__iterator/concepts.h
@@ -22,6 +22,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/counted_iterator.h b/libcxx/include/__iterator/counted_iterator.h
index 826d5de51f972..76499ac7a32d8 100644
--- a/libcxx/include/__iterator/counted_iterator.h
+++ b/libcxx/include/__iterator/counted_iterator.h
@@ -26,6 +26,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/data.h b/libcxx/include/__iterator/data.h
index 88eb752b642e1..6f7469ccfe395 100644
--- a/libcxx/include/__iterator/data.h
+++ b/libcxx/include/__iterator/data.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/default_sentinel.h b/libcxx/include/__iterator/default_sentinel.h
index 669032aa97297..7734027c3faec 100644
--- a/libcxx/include/__iterator/default_sentinel.h
+++ b/libcxx/include/__iterator/default_sentinel.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/distance.h b/libcxx/include/__iterator/distance.h
index 78b8177fae64e..61e4157ffa8da 100644
--- a/libcxx/include/__iterator/distance.h
+++ b/libcxx/include/__iterator/distance.h
@@ -21,6 +21,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/empty.h b/libcxx/include/__iterator/empty.h
index 748ca9ecbd599..7b55ddd8c2429 100644
--- a/libcxx/include/__iterator/empty.h
+++ b/libcxx/include/__iterator/empty.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/erase_if_container.h b/libcxx/include/__iterator/erase_if_container.h
index d7c71a947a2b1..d44d00656d0db 100644
--- a/libcxx/include/__iterator/erase_if_container.h
+++ b/libcxx/include/__iterator/erase_if_container.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/front_insert_iterator.h b/libcxx/include/__iterator/front_insert_iterator.h
index 69b2d32d077a1..b7b6bc318240d 100644
--- a/libcxx/include/__iterator/front_insert_iterator.h
+++ b/libcxx/include/__iterator/front_insert_iterator.h
@@ -19,6 +19,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/incrementable_traits.h b/libcxx/include/__iterator/incrementable_traits.h
index f36b417bf8a0e..2a668740875be 100644
--- a/libcxx/include/__iterator/incrementable_traits.h
+++ b/libcxx/include/__iterator/incrementable_traits.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/indirectly_comparable.h b/libcxx/include/__iterator/indirectly_comparable.h
index 9002b21fd5268..b14ae7d50cac6 100644
--- a/libcxx/include/__iterator/indirectly_comparable.h
+++ b/libcxx/include/__iterator/indirectly_comparable.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/insert_iterator.h b/libcxx/include/__iterator/insert_iterator.h
index aba197ec2190b..dc260abf4a8e4 100644
--- a/libcxx/include/__iterator/insert_iterator.h
+++ b/libcxx/include/__iterator/insert_iterator.h
@@ -20,6 +20,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/istream_iterator.h b/libcxx/include/__iterator/istream_iterator.h
index 9ee0a989b8f6b..d5241a9aab6bc 100644
--- a/libcxx/include/__iterator/istream_iterator.h
+++ b/libcxx/include/__iterator/istream_iterator.h
@@ -19,6 +19,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/istreambuf_iterator.h b/libcxx/include/__iterator/istreambuf_iterator.h
index 3b16f79476783..3f2bb4f532c52 100644
--- a/libcxx/include/__iterator/istreambuf_iterator.h
+++ b/libcxx/include/__iterator/istreambuf_iterator.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/iter_move.h b/libcxx/include/__iterator/iter_move.h
index 4a89662927860..351077380ea05 100644
--- a/libcxx/include/__iterator/iter_move.h
+++ b/libcxx/include/__iterator/iter_move.h
@@ -19,6 +19,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/iter_swap.h b/libcxx/include/__iterator/iter_swap.h
index 291558fadc061..dec8ce79be292 100644
--- a/libcxx/include/__iterator/iter_swap.h
+++ b/libcxx/include/__iterator/iter_swap.h
@@ -21,6 +21,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/iterator.h b/libcxx/include/__iterator/iterator.h
index b417eeab79bfe..e7f74368efe8b 100644
--- a/libcxx/include/__iterator/iterator.h
+++ b/libcxx/include/__iterator/iterator.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/iterator_traits.h b/libcxx/include/__iterator/iterator_traits.h
index 6ffb2ab806ff3..58aef847fc74c 100644
--- a/libcxx/include/__iterator/iterator_traits.h
+++ b/libcxx/include/__iterator/iterator_traits.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/mergeable.h b/libcxx/include/__iterator/mergeable.h
index 08022aab6d272..4c2d1047d1299 100644
--- a/libcxx/include/__iterator/mergeable.h
+++ b/libcxx/include/__iterator/mergeable.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/move_iterator.h b/libcxx/include/__iterator/move_iterator.h
index e157b71a2f281..e8ba0a7b0c760 100644
--- a/libcxx/include/__iterator/move_iterator.h
+++ b/libcxx/include/__iterator/move_iterator.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/next.h b/libcxx/include/__iterator/next.h
index fae5989c2aaf4..c3b75ef5df3ff 100644
--- a/libcxx/include/__iterator/next.h
+++ b/libcxx/include/__iterator/next.h
@@ -20,6 +20,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/ostream_iterator.h b/libcxx/include/__iterator/ostream_iterator.h
index f6601b23d6ef1..fde1a7ff2a739 100644
--- a/libcxx/include/__iterator/ostream_iterator.h
+++ b/libcxx/include/__iterator/ostream_iterator.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/ostreambuf_iterator.h b/libcxx/include/__iterator/ostreambuf_iterator.h
index 16ddb6525ae8e..b21c78b04dc37 100644
--- a/libcxx/include/__iterator/ostreambuf_iterator.h
+++ b/libcxx/include/__iterator/ostreambuf_iterator.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/permutable.h b/libcxx/include/__iterator/permutable.h
index 85834a23c8fca..d823df68cf169 100644
--- a/libcxx/include/__iterator/permutable.h
+++ b/libcxx/include/__iterator/permutable.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/prev.h b/libcxx/include/__iterator/prev.h
index 5839621eefe1e..ebe0abc08f33f 100644
--- a/libcxx/include/__iterator/prev.h
+++ b/libcxx/include/__iterator/prev.h
@@ -20,6 +20,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/projected.h b/libcxx/include/__iterator/projected.h
index 2edbe0da61fc4..4d025d7948880 100644
--- a/libcxx/include/__iterator/projected.h
+++ b/libcxx/include/__iterator/projected.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/readable_traits.h b/libcxx/include/__iterator/readable_traits.h
index 5bc59a89f3459..07cf17cfeaa19 100644
--- a/libcxx/include/__iterator/readable_traits.h
+++ b/libcxx/include/__iterator/readable_traits.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/reverse_access.h b/libcxx/include/__iterator/reverse_access.h
index 40c266378d365..98a3f05b5f293 100644
--- a/libcxx/include/__iterator/reverse_access.h
+++ b/libcxx/include/__iterator/reverse_access.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/reverse_iterator.h b/libcxx/include/__iterator/reverse_iterator.h
index 90bc2d752e0ef..3af69393efacd 100644
--- a/libcxx/include/__iterator/reverse_iterator.h
+++ b/libcxx/include/__iterator/reverse_iterator.h
@@ -20,6 +20,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/size.h b/libcxx/include/__iterator/size.h
index bf40207a8628f..90f57dc25fd40 100644
--- a/libcxx/include/__iterator/size.h
+++ b/libcxx/include/__iterator/size.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/sortable.h b/libcxx/include/__iterator/sortable.h
index 77a553d3ec30e..94337b4540d36 100644
--- a/libcxx/include/__iterator/sortable.h
+++ b/libcxx/include/__iterator/sortable.h
@@ -19,6 +19,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/unreachable_sentinel.h b/libcxx/include/__iterator/unreachable_sentinel.h
index b94ca53f4000b..5aa5b55a30d16 100644
--- a/libcxx/include/__iterator/unreachable_sentinel.h
+++ b/libcxx/include/__iterator/unreachable_sentinel.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__iterator/wrap_iter.h b/libcxx/include/__iterator/wrap_iter.h
index d91a25ee6c8e7..e964cc5b6f6da 100644
--- a/libcxx/include/__iterator/wrap_iter.h
+++ b/libcxx/include/__iterator/wrap_iter.h
@@ -19,6 +19,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<iterator>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__locale b/libcxx/include/__locale
index ad97be0f66c82..cabc578268de1 100644
--- a/libcxx/include/__locale
+++ b/libcxx/include/__locale
@@ -48,6 +48,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<locale>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__memory/addressof.h b/libcxx/include/__memory/addressof.h
index 75e3dd0647b2d..8377a8fb65f38 100644
--- a/libcxx/include/__memory/addressof.h
+++ b/libcxx/include/__memory/addressof.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<memory>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__memory/allocation_guard.h b/libcxx/include/__memory/allocation_guard.h
index 424598cc81585..4e7846d49e6cb 100644
--- a/libcxx/include/__memory/allocation_guard.h
+++ b/libcxx/include/__memory/allocation_guard.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<memory>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__memory/allocator.h b/libcxx/include/__memory/allocator.h
index 915ff7c3a516a..9dbf616f126d6 100644
--- a/libcxx/include/__memory/allocator.h
+++ b/libcxx/include/__memory/allocator.h
@@ -20,6 +20,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<memory>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__memory/allocator_arg_t.h b/libcxx/include/__memory/allocator_arg_t.h
index 2d63b1f905e59..bacea754365d9 100644
--- a/libcxx/include/__memory/allocator_arg_t.h
+++ b/libcxx/include/__memory/allocator_arg_t.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<memory>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__memory/allocator_traits.h b/libcxx/include/__memory/allocator_traits.h
index 5215556cdf3cb..bc5ce77509659 100644
--- a/libcxx/include/__memory/allocator_traits.h
+++ b/libcxx/include/__memory/allocator_traits.h
@@ -19,6 +19,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<memory>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__memory/auto_ptr.h b/libcxx/include/__memory/auto_ptr.h
index 163a46b631f0c..1e97f67ad9e9c 100644
--- a/libcxx/include/__memory/auto_ptr.h
+++ b/libcxx/include/__memory/auto_ptr.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<memory>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__memory/compressed_pair.h b/libcxx/include/__memory/compressed_pair.h
index 852031f17d2f5..a2349bf65a82b 100644
--- a/libcxx/include/__memory/compressed_pair.h
+++ b/libcxx/include/__memory/compressed_pair.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<memory>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__memory/concepts.h b/libcxx/include/__memory/concepts.h
index 816c553e85548..fe9ca2e5f47f5 100644
--- a/libcxx/include/__memory/concepts.h
+++ b/libcxx/include/__memory/concepts.h
@@ -21,6 +21,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<memory>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__memory/construct_at.h b/libcxx/include/__memory/construct_at.h
index 8a7bf40d7f716..229cd50a7e40d 100644
--- a/libcxx/include/__memory/construct_at.h
+++ b/libcxx/include/__memory/construct_at.h
@@ -21,6 +21,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<memory>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__memory/pointer_traits.h b/libcxx/include/__memory/pointer_traits.h
index f1e8070684395..351f34d74e6c0 100644
--- a/libcxx/include/__memory/pointer_traits.h
+++ b/libcxx/include/__memory/pointer_traits.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<memory>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__memory/ranges_construct_at.h b/libcxx/include/__memory/ranges_construct_at.h
index 3064f811e94e4..90d3cadab8a30 100644
--- a/libcxx/include/__memory/ranges_construct_at.h
+++ b/libcxx/include/__memory/ranges_construct_at.h
@@ -25,6 +25,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<memory>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__memory/ranges_uninitialized_algorithms.h b/libcxx/include/__memory/ranges_uninitialized_algorithms.h
index e036c1858b522..c025e4fe5f026 100644
--- a/libcxx/include/__memory/ranges_uninitialized_algorithms.h
+++ b/libcxx/include/__memory/ranges_uninitialized_algorithms.h
@@ -28,6 +28,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<memory>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__memory/raw_storage_iterator.h b/libcxx/include/__memory/raw_storage_iterator.h
index f25f7b1a728ad..fc155442ccaa1 100644
--- a/libcxx/include/__memory/raw_storage_iterator.h
+++ b/libcxx/include/__memory/raw_storage_iterator.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<memory>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__memory/shared_ptr.h b/libcxx/include/__memory/shared_ptr.h
index 0f28bcdfac11b..451d74e09ae6d 100644
--- a/libcxx/include/__memory/shared_ptr.h
+++ b/libcxx/include/__memory/shared_ptr.h
@@ -40,6 +40,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<memory>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__memory/temporary_buffer.h b/libcxx/include/__memory/temporary_buffer.h
index 2c6e333eba081..56ac3b27b21a4 100644
--- a/libcxx/include/__memory/temporary_buffer.h
+++ b/libcxx/include/__memory/temporary_buffer.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<memory>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__memory/uninitialized_algorithms.h b/libcxx/include/__memory/uninitialized_algorithms.h
index fc55b49aef2eb..611590582d18e 100644
--- a/libcxx/include/__memory/uninitialized_algorithms.h
+++ b/libcxx/include/__memory/uninitialized_algorithms.h
@@ -20,6 +20,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<memory>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__memory/unique_ptr.h b/libcxx/include/__memory/unique_ptr.h
index 348c90325e6ff..37f969f9fd6e1 100644
--- a/libcxx/include/__memory/unique_ptr.h
+++ b/libcxx/include/__memory/unique_ptr.h
@@ -26,6 +26,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<memory>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__memory/uses_allocator.h b/libcxx/include/__memory/uses_allocator.h
index 05c500cd97b13..705dbf1a929d2 100644
--- a/libcxx/include/__memory/uses_allocator.h
+++ b/libcxx/include/__memory/uses_allocator.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<memory>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__memory/voidify.h b/libcxx/include/__memory/voidify.h
index 3a65c0e83fb7f..20249ed7d091e 100644
--- a/libcxx/include/__memory/voidify.h
+++ b/libcxx/include/__memory/voidify.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<memory>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__mutex_base b/libcxx/include/__mutex_base
index da056b6d14237..ce1101c0ea73b 100644
--- a/libcxx/include/__mutex_base
+++ b/libcxx/include/__mutex_base
@@ -22,6 +22,8 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<mutex>)
+#  pragma clang include_instead(<shared_mutex>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__node_handle b/libcxx/include/__node_handle
index 71309be62f3ca..84da7eb31184f 100644
--- a/libcxx/include/__node_handle
+++ b/libcxx/include/__node_handle
@@ -65,6 +65,10 @@ public:
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<map>)
+#  pragma clang include_instead(<set>)
+#  pragma clang include_instead(<unordered_map>)
+#  pragma clang include_instead(<unordered_set>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__numeric/accumulate.h b/libcxx/include/__numeric/accumulate.h
index fa759872ce771..bcb95c74266a6 100644
--- a/libcxx/include/__numeric/accumulate.h
+++ b/libcxx/include/__numeric/accumulate.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<numeric>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__numeric/adjacent_
diff erence.h b/libcxx/include/__numeric/adjacent_
diff erence.h
index 5c712ecdf77df..0a47f3f34e3f7 100644
--- a/libcxx/include/__numeric/adjacent_
diff erence.h
+++ b/libcxx/include/__numeric/adjacent_
diff erence.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<numeric>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__numeric/exclusive_scan.h b/libcxx/include/__numeric/exclusive_scan.h
index c0c89b38805d8..86d9c229cfc76 100644
--- a/libcxx/include/__numeric/exclusive_scan.h
+++ b/libcxx/include/__numeric/exclusive_scan.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<numeric>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__numeric/gcd_lcm.h b/libcxx/include/__numeric/gcd_lcm.h
index 9a53a001f2114..b5d5499c3c532 100644
--- a/libcxx/include/__numeric/gcd_lcm.h
+++ b/libcxx/include/__numeric/gcd_lcm.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<numeric>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__numeric/inclusive_scan.h b/libcxx/include/__numeric/inclusive_scan.h
index a6b005075835d..bc523e51f3909 100644
--- a/libcxx/include/__numeric/inclusive_scan.h
+++ b/libcxx/include/__numeric/inclusive_scan.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<numeric>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__numeric/inner_product.h b/libcxx/include/__numeric/inner_product.h
index 6fe18bb2b19e5..aace2e8f2cbb1 100644
--- a/libcxx/include/__numeric/inner_product.h
+++ b/libcxx/include/__numeric/inner_product.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<numeric>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__numeric/iota.h b/libcxx/include/__numeric/iota.h
index b30e0e0a54844..91eb23e724756 100644
--- a/libcxx/include/__numeric/iota.h
+++ b/libcxx/include/__numeric/iota.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<numeric>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__numeric/midpoint.h b/libcxx/include/__numeric/midpoint.h
index 668030c46bcba..d0db307817b9f 100644
--- a/libcxx/include/__numeric/midpoint.h
+++ b/libcxx/include/__numeric/midpoint.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<numeric>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__numeric/partial_sum.h b/libcxx/include/__numeric/partial_sum.h
index 9acee3afc2b0d..db882ea883c44 100644
--- a/libcxx/include/__numeric/partial_sum.h
+++ b/libcxx/include/__numeric/partial_sum.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<numeric>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__numeric/reduce.h b/libcxx/include/__numeric/reduce.h
index 90e4d238d868e..830cff07ceca9 100644
--- a/libcxx/include/__numeric/reduce.h
+++ b/libcxx/include/__numeric/reduce.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<numeric>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__numeric/transform_exclusive_scan.h b/libcxx/include/__numeric/transform_exclusive_scan.h
index 45b3077f6649d..3ccd8da7eb342 100644
--- a/libcxx/include/__numeric/transform_exclusive_scan.h
+++ b/libcxx/include/__numeric/transform_exclusive_scan.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<numeric>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__numeric/transform_inclusive_scan.h b/libcxx/include/__numeric/transform_inclusive_scan.h
index b0d4ab5a88fdc..ff8c92f3a36dd 100644
--- a/libcxx/include/__numeric/transform_inclusive_scan.h
+++ b/libcxx/include/__numeric/transform_inclusive_scan.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<numeric>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__numeric/transform_reduce.h b/libcxx/include/__numeric/transform_reduce.h
index da5a77988c382..6ec6149f62b1d 100644
--- a/libcxx/include/__numeric/transform_reduce.h
+++ b/libcxx/include/__numeric/transform_reduce.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<numeric>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__random/bernoulli_distribution.h b/libcxx/include/__random/bernoulli_distribution.h
index cf019519ab7f4..6e7488700f3ae 100644
--- a/libcxx/include/__random/bernoulli_distribution.h
+++ b/libcxx/include/__random/bernoulli_distribution.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/binomial_distribution.h b/libcxx/include/__random/binomial_distribution.h
index 77df98cba07a9..31a11f7a99655 100644
--- a/libcxx/include/__random/binomial_distribution.h
+++ b/libcxx/include/__random/binomial_distribution.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/cauchy_distribution.h b/libcxx/include/__random/cauchy_distribution.h
index 288118e1d22db..dead3a25b6ed1 100644
--- a/libcxx/include/__random/cauchy_distribution.h
+++ b/libcxx/include/__random/cauchy_distribution.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/chi_squared_distribution.h b/libcxx/include/__random/chi_squared_distribution.h
index b98488c20d280..2dce18be1987a 100644
--- a/libcxx/include/__random/chi_squared_distribution.h
+++ b/libcxx/include/__random/chi_squared_distribution.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/clamp_to_integral.h b/libcxx/include/__random/clamp_to_integral.h
index 7d44ff9cfcadc..2eef04f7b436d 100644
--- a/libcxx/include/__random/clamp_to_integral.h
+++ b/libcxx/include/__random/clamp_to_integral.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/default_random_engine.h b/libcxx/include/__random/default_random_engine.h
index 89792f4f0d43e..02d607948e153 100644
--- a/libcxx/include/__random/default_random_engine.h
+++ b/libcxx/include/__random/default_random_engine.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__random/discard_block_engine.h b/libcxx/include/__random/discard_block_engine.h
index c58d66b588696..83ae20f7a3756 100644
--- a/libcxx/include/__random/discard_block_engine.h
+++ b/libcxx/include/__random/discard_block_engine.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/discrete_distribution.h b/libcxx/include/__random/discrete_distribution.h
index fc19068eb0d71..95e19da0b88c8 100644
--- a/libcxx/include/__random/discrete_distribution.h
+++ b/libcxx/include/__random/discrete_distribution.h
@@ -19,6 +19,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/exponential_distribution.h b/libcxx/include/__random/exponential_distribution.h
index e51871dd53bc3..f3ff78f54d372 100644
--- a/libcxx/include/__random/exponential_distribution.h
+++ b/libcxx/include/__random/exponential_distribution.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/extreme_value_distribution.h b/libcxx/include/__random/extreme_value_distribution.h
index 15cebd8e95649..c93f0cfd7a9ea 100644
--- a/libcxx/include/__random/extreme_value_distribution.h
+++ b/libcxx/include/__random/extreme_value_distribution.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/fisher_f_distribution.h b/libcxx/include/__random/fisher_f_distribution.h
index 72f1f40aaa493..cf8705809199b 100644
--- a/libcxx/include/__random/fisher_f_distribution.h
+++ b/libcxx/include/__random/fisher_f_distribution.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/gamma_distribution.h b/libcxx/include/__random/gamma_distribution.h
index a8504961b2881..784fc2c5c94d6 100644
--- a/libcxx/include/__random/gamma_distribution.h
+++ b/libcxx/include/__random/gamma_distribution.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/generate_canonical.h b/libcxx/include/__random/generate_canonical.h
index 84efa7803c945..8b0e7a86972f9 100644
--- a/libcxx/include/__random/generate_canonical.h
+++ b/libcxx/include/__random/generate_canonical.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/geometric_distribution.h b/libcxx/include/__random/geometric_distribution.h
index b9cc151b3436c..72838176aabfc 100644
--- a/libcxx/include/__random/geometric_distribution.h
+++ b/libcxx/include/__random/geometric_distribution.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/independent_bits_engine.h b/libcxx/include/__random/independent_bits_engine.h
index e80d6eec49cbc..6e48d33f4c096 100644
--- a/libcxx/include/__random/independent_bits_engine.h
+++ b/libcxx/include/__random/independent_bits_engine.h
@@ -19,6 +19,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/is_seed_sequence.h b/libcxx/include/__random/is_seed_sequence.h
index a6832f51c1eea..244f564576dd7 100644
--- a/libcxx/include/__random/is_seed_sequence.h
+++ b/libcxx/include/__random/is_seed_sequence.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__random/knuth_b.h b/libcxx/include/__random/knuth_b.h
index f5b31cb64fa4a..70330fc7d8439 100644
--- a/libcxx/include/__random/knuth_b.h
+++ b/libcxx/include/__random/knuth_b.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__random/linear_congruential_engine.h b/libcxx/include/__random/linear_congruential_engine.h
index f5aba75d572a2..18ce4cb2bbf6a 100644
--- a/libcxx/include/__random/linear_congruential_engine.h
+++ b/libcxx/include/__random/linear_congruential_engine.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/log2.h b/libcxx/include/__random/log2.h
index b077d211cefae..5fe4bbed34c85 100644
--- a/libcxx/include/__random/log2.h
+++ b/libcxx/include/__random/log2.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__random/lognormal_distribution.h b/libcxx/include/__random/lognormal_distribution.h
index 048d7dade9eba..bfecca0e323c3 100644
--- a/libcxx/include/__random/lognormal_distribution.h
+++ b/libcxx/include/__random/lognormal_distribution.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/mersenne_twister_engine.h b/libcxx/include/__random/mersenne_twister_engine.h
index 8bceac05dce99..250aa501633e0 100644
--- a/libcxx/include/__random/mersenne_twister_engine.h
+++ b/libcxx/include/__random/mersenne_twister_engine.h
@@ -21,6 +21,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/negative_binomial_distribution.h b/libcxx/include/__random/negative_binomial_distribution.h
index 01e9c303a7e4c..b16e0be7a74df 100644
--- a/libcxx/include/__random/negative_binomial_distribution.h
+++ b/libcxx/include/__random/negative_binomial_distribution.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/normal_distribution.h b/libcxx/include/__random/normal_distribution.h
index dc4de78e9273c..6458d048dd9d0 100644
--- a/libcxx/include/__random/normal_distribution.h
+++ b/libcxx/include/__random/normal_distribution.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/piecewise_constant_distribution.h b/libcxx/include/__random/piecewise_constant_distribution.h
index eec9b7540a968..90b30ef800cce 100644
--- a/libcxx/include/__random/piecewise_constant_distribution.h
+++ b/libcxx/include/__random/piecewise_constant_distribution.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/piecewise_linear_distribution.h b/libcxx/include/__random/piecewise_linear_distribution.h
index 0d7591af10565..5841d4ea20f56 100644
--- a/libcxx/include/__random/piecewise_linear_distribution.h
+++ b/libcxx/include/__random/piecewise_linear_distribution.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/poisson_distribution.h b/libcxx/include/__random/poisson_distribution.h
index c54d783b7c524..72173c6733018 100644
--- a/libcxx/include/__random/poisson_distribution.h
+++ b/libcxx/include/__random/poisson_distribution.h
@@ -20,6 +20,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/random_device.h b/libcxx/include/__random/random_device.h
index e82b437a3b540..811a5ba177b40 100644
--- a/libcxx/include/__random/random_device.h
+++ b/libcxx/include/__random/random_device.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/ranlux.h b/libcxx/include/__random/ranlux.h
index e44cece39dfc0..ba06750d9f795 100644
--- a/libcxx/include/__random/ranlux.h
+++ b/libcxx/include/__random/ranlux.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__random/seed_seq.h b/libcxx/include/__random/seed_seq.h
index 8640cd1b4e43a..5746a8c8ced68 100644
--- a/libcxx/include/__random/seed_seq.h
+++ b/libcxx/include/__random/seed_seq.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/shuffle_order_engine.h b/libcxx/include/__random/shuffle_order_engine.h
index c2f76f609ae57..4a4715ca769bf 100644
--- a/libcxx/include/__random/shuffle_order_engine.h
+++ b/libcxx/include/__random/shuffle_order_engine.h
@@ -19,6 +19,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/student_t_distribution.h b/libcxx/include/__random/student_t_distribution.h
index dc38a8b3d2f8e..5a9caea83849d 100644
--- a/libcxx/include/__random/student_t_distribution.h
+++ b/libcxx/include/__random/student_t_distribution.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/subtract_with_carry_engine.h b/libcxx/include/__random/subtract_with_carry_engine.h
index fdbe2d2e9be34..0d21470fed0d7 100644
--- a/libcxx/include/__random/subtract_with_carry_engine.h
+++ b/libcxx/include/__random/subtract_with_carry_engine.h
@@ -22,6 +22,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/uniform_int_distribution.h b/libcxx/include/__random/uniform_int_distribution.h
index 4e961f0c8adcc..630d724c20eef 100644
--- a/libcxx/include/__random/uniform_int_distribution.h
+++ b/libcxx/include/__random/uniform_int_distribution.h
@@ -21,6 +21,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/uniform_random_bit_generator.h b/libcxx/include/__random/uniform_random_bit_generator.h
index 99f2e6bc30dbd..97a75c88f872d 100644
--- a/libcxx/include/__random/uniform_random_bit_generator.h
+++ b/libcxx/include/__random/uniform_random_bit_generator.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/uniform_real_distribution.h b/libcxx/include/__random/uniform_real_distribution.h
index e11222540b47e..2ee579012488b 100644
--- a/libcxx/include/__random/uniform_real_distribution.h
+++ b/libcxx/include/__random/uniform_real_distribution.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__random/weibull_distribution.h b/libcxx/include/__random/weibull_distribution.h
index 85bae65096cba..fe8ea37f1e1e0 100644
--- a/libcxx/include/__random/weibull_distribution.h
+++ b/libcxx/include/__random/weibull_distribution.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<random>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__ranges/access.h b/libcxx/include/__ranges/access.h
index 2ebdab4eb8cd9..9a35d4e769348 100644
--- a/libcxx/include/__ranges/access.h
+++ b/libcxx/include/__ranges/access.h
@@ -19,6 +19,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/all.h b/libcxx/include/__ranges/all.h
index 77396222d63ac..b606bd14c3480 100644
--- a/libcxx/include/__ranges/all.h
+++ b/libcxx/include/__ranges/all.h
@@ -24,6 +24,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/common_view.h b/libcxx/include/__ranges/common_view.h
index 78911284bbc44..a63062a0f80f6 100644
--- a/libcxx/include/__ranges/common_view.h
+++ b/libcxx/include/__ranges/common_view.h
@@ -26,6 +26,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/concepts.h b/libcxx/include/__ranges/concepts.h
index 709f3d80f7eae..4425273a5c867 100644
--- a/libcxx/include/__ranges/concepts.h
+++ b/libcxx/include/__ranges/concepts.h
@@ -28,6 +28,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/copyable_box.h b/libcxx/include/__ranges/copyable_box.h
index e1c08a7ea1c3e..615bd49b85bd7 100644
--- a/libcxx/include/__ranges/copyable_box.h
+++ b/libcxx/include/__ranges/copyable_box.h
@@ -20,6 +20,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/counted.h b/libcxx/include/__ranges/counted.h
index 0a2d8285788a3..0a985107fea5c 100644
--- a/libcxx/include/__ranges/counted.h
+++ b/libcxx/include/__ranges/counted.h
@@ -25,6 +25,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/dangling.h b/libcxx/include/__ranges/dangling.h
index 3a200ed96543e..2b736e21e4d9d 100644
--- a/libcxx/include/__ranges/dangling.h
+++ b/libcxx/include/__ranges/dangling.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/data.h b/libcxx/include/__ranges/data.h
index dbb4767e53b51..c297af25a1879 100644
--- a/libcxx/include/__ranges/data.h
+++ b/libcxx/include/__ranges/data.h
@@ -20,6 +20,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/drop_view.h b/libcxx/include/__ranges/drop_view.h
index 079a74d4b84c2..c3f79535e32a3 100644
--- a/libcxx/include/__ranges/drop_view.h
+++ b/libcxx/include/__ranges/drop_view.h
@@ -27,6 +27,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/empty.h b/libcxx/include/__ranges/empty.h
index c0b55b221a049..75c2241cb2257 100644
--- a/libcxx/include/__ranges/empty.h
+++ b/libcxx/include/__ranges/empty.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/empty_view.h b/libcxx/include/__ranges/empty_view.h
index 6a087276783cb..9675cba186fcb 100644
--- a/libcxx/include/__ranges/empty_view.h
+++ b/libcxx/include/__ranges/empty_view.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/enable_borrowed_range.h b/libcxx/include/__ranges/enable_borrowed_range.h
index b8f809b6ceb12..bca488ef1a4a3 100644
--- a/libcxx/include/__ranges/enable_borrowed_range.h
+++ b/libcxx/include/__ranges/enable_borrowed_range.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/enable_view.h b/libcxx/include/__ranges/enable_view.h
index 4b4b63a42c036..8f6d94419cb12 100644
--- a/libcxx/include/__ranges/enable_view.h
+++ b/libcxx/include/__ranges/enable_view.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/iota_view.h b/libcxx/include/__ranges/iota_view.h
index b7c099e049007..119edd623d5f4 100644
--- a/libcxx/include/__ranges/iota_view.h
+++ b/libcxx/include/__ranges/iota_view.h
@@ -35,6 +35,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/join_view.h b/libcxx/include/__ranges/join_view.h
index 395e5c7ece5a6..57162540054bd 100644
--- a/libcxx/include/__ranges/join_view.h
+++ b/libcxx/include/__ranges/join_view.h
@@ -26,6 +26,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/non_propagating_cache.h b/libcxx/include/__ranges/non_propagating_cache.h
index d9589ae46c33e..41bc714e28c62 100644
--- a/libcxx/include/__ranges/non_propagating_cache.h
+++ b/libcxx/include/__ranges/non_propagating_cache.h
@@ -20,6 +20,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/owning_view.h b/libcxx/include/__ranges/owning_view.h
index 7987c607510b6..6fddd3c6e6b2b 100644
--- a/libcxx/include/__ranges/owning_view.h
+++ b/libcxx/include/__ranges/owning_view.h
@@ -24,6 +24,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/range_adaptor.h b/libcxx/include/__ranges/range_adaptor.h
index 9c53488ba6ce3..cf7ec837d6325 100644
--- a/libcxx/include/__ranges/range_adaptor.h
+++ b/libcxx/include/__ranges/range_adaptor.h
@@ -21,6 +21,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/rbegin.h b/libcxx/include/__ranges/rbegin.h
index 20f5489c50bb6..3d4e4228030e9 100644
--- a/libcxx/include/__ranges/rbegin.h
+++ b/libcxx/include/__ranges/rbegin.h
@@ -21,6 +21,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/ref_view.h b/libcxx/include/__ranges/ref_view.h
index 255a468606f2b..be46ed81e2499 100644
--- a/libcxx/include/__ranges/ref_view.h
+++ b/libcxx/include/__ranges/ref_view.h
@@ -27,6 +27,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/rend.h b/libcxx/include/__ranges/rend.h
index 4f1597e0738cf..9795f6600007f 100644
--- a/libcxx/include/__ranges/rend.h
+++ b/libcxx/include/__ranges/rend.h
@@ -22,6 +22,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/reverse_view.h b/libcxx/include/__ranges/reverse_view.h
index c3ab6261f0af9..0d4f3d9dfff7b 100644
--- a/libcxx/include/__ranges/reverse_view.h
+++ b/libcxx/include/__ranges/reverse_view.h
@@ -29,6 +29,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/single_view.h b/libcxx/include/__ranges/single_view.h
index e0fd4849f44bc..42e6fbe946f42 100644
--- a/libcxx/include/__ranges/single_view.h
+++ b/libcxx/include/__ranges/single_view.h
@@ -20,6 +20,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/size.h b/libcxx/include/__ranges/size.h
index 2c5a96e63b7c0..7f832b6ecb0bb 100644
--- a/libcxx/include/__ranges/size.h
+++ b/libcxx/include/__ranges/size.h
@@ -20,6 +20,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/subrange.h b/libcxx/include/__ranges/subrange.h
index c54f7710fce64..42e0697d31ccd 100644
--- a/libcxx/include/__ranges/subrange.h
+++ b/libcxx/include/__ranges/subrange.h
@@ -32,6 +32,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/take_view.h b/libcxx/include/__ranges/take_view.h
index b5f194f9a0e61..59eded0b7d729 100644
--- a/libcxx/include/__ranges/take_view.h
+++ b/libcxx/include/__ranges/take_view.h
@@ -27,6 +27,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__ranges/transform_view.h b/libcxx/include/__ranges/transform_view.h
index 4cc582faebfa8..a1dd1bdc10246 100644
--- a/libcxx/include/__ranges/transform_view.h
+++ b/libcxx/include/__ranges/transform_view.h
@@ -37,6 +37,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/view_interface.h b/libcxx/include/__ranges/view_interface.h
index eecc47511139e..6bc615a1fe85d 100644
--- a/libcxx/include/__ranges/view_interface.h
+++ b/libcxx/include/__ranges/view_interface.h
@@ -24,6 +24,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__ranges/views.h b/libcxx/include/__ranges/views.h
index 8cc5ba3d2aca5..e89cd13a09dcb 100644
--- a/libcxx/include/__ranges/views.h
+++ b/libcxx/include/__ranges/views.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<ranges>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__split_buffer b/libcxx/include/__split_buffer
index 9565e16960f3d..3b9c674fe7f9b 100644
--- a/libcxx/include/__split_buffer
+++ b/libcxx/include/__split_buffer
@@ -17,6 +17,8 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<vector>)
+#  pragma clang include_instead(<deque>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__std_stream b/libcxx/include/__std_stream
index e419e8c03af07..07dd7e7643e29 100644
--- a/libcxx/include/__std_stream
+++ b/libcxx/include/__std_stream
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<streambuf>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__string b/libcxx/include/__string
index 26aa619f21068..4b819e4a799ef 100644
--- a/libcxx/include/__string
+++ b/libcxx/include/__string
@@ -34,6 +34,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<string>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__thread/poll_with_backoff.h b/libcxx/include/__thread/poll_with_backoff.h
index 0bbafd186657c..8532607719c15 100644
--- a/libcxx/include/__thread/poll_with_backoff.h
+++ b/libcxx/include/__thread/poll_with_backoff.h
@@ -19,6 +19,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<thread>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__thread/timed_backoff_policy.h b/libcxx/include/__thread/timed_backoff_policy.h
index 28fe75d6fd805..fd0effb8632d3 100644
--- a/libcxx/include/__thread/timed_backoff_policy.h
+++ b/libcxx/include/__thread/timed_backoff_policy.h
@@ -18,6 +18,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<thread>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__threading_support b/libcxx/include/__threading_support
index 4f1640ab36d0c..b8482824796f3 100644
--- a/libcxx/include/__threading_support
+++ b/libcxx/include/__threading_support
@@ -25,6 +25,10 @@
 
 #ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
 #  pragma GCC system_header
+#  pragma clang include_instead(<atomic>)
+#  pragma clang include_instead(<mutex>)
+#  pragma clang include_instead(<semaphore>)
+#  pragma clang include_instead(<thread>)
 #endif
 
 #if defined(_LIBCPP_HAS_THREAD_API_EXTERNAL)

diff  --git a/libcxx/include/__tree b/libcxx/include/__tree
index 384d3835049bb..d22d26c0b1930 100644
--- a/libcxx/include/__tree
+++ b/libcxx/include/__tree
@@ -20,6 +20,8 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<map>)
+#  pragma clang include_instead(<set>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__tuple b/libcxx/include/__tuple
index 6d13bb24c5795..361ded184792b 100644
--- a/libcxx/include/__tuple
+++ b/libcxx/include/__tuple
@@ -16,6 +16,8 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<tuple>)
+#  pragma clang include_instead(<utility>)
 #endif
 
 

diff  --git a/libcxx/include/__utility/as_const.h b/libcxx/include/__utility/as_const.h
index be7dd8c7cf23a..47b7f8d3d169b 100644
--- a/libcxx/include/__utility/as_const.h
+++ b/libcxx/include/__utility/as_const.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<utility>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__utility/auto_cast.h b/libcxx/include/__utility/auto_cast.h
index e9079443959f1..65fa8cf479027 100644
--- a/libcxx/include/__utility/auto_cast.h
+++ b/libcxx/include/__utility/auto_cast.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<utility>)
 #endif
 
 #define _LIBCPP_AUTO_CAST(expr) static_cast<typename decay<decltype((expr))>::type>(expr)

diff  --git a/libcxx/include/__utility/cmp.h b/libcxx/include/__utility/cmp.h
index f36d53ad4654d..3d3a240d640d1 100644
--- a/libcxx/include/__utility/cmp.h
+++ b/libcxx/include/__utility/cmp.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<utility>)
 #endif
 
 _LIBCPP_PUSH_MACROS

diff  --git a/libcxx/include/__utility/declval.h b/libcxx/include/__utility/declval.h
index 97fd1eba91c68..f8717dac9ec90 100644
--- a/libcxx/include/__utility/declval.h
+++ b/libcxx/include/__utility/declval.h
@@ -13,6 +13,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<utility>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__utility/exchange.h b/libcxx/include/__utility/exchange.h
index d9b3c151755fa..603b3069d9b5a 100644
--- a/libcxx/include/__utility/exchange.h
+++ b/libcxx/include/__utility/exchange.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<utility>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__utility/forward.h b/libcxx/include/__utility/forward.h
index 6ee1f818baca3..467bfd6e39795 100644
--- a/libcxx/include/__utility/forward.h
+++ b/libcxx/include/__utility/forward.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<utility>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__utility/in_place.h b/libcxx/include/__utility/in_place.h
index 7a4973fa04076..bc3d68f21f06e 100644
--- a/libcxx/include/__utility/in_place.h
+++ b/libcxx/include/__utility/in_place.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<utility>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__utility/integer_sequence.h b/libcxx/include/__utility/integer_sequence.h
index 633f1333e2479..a4046e5634b9e 100644
--- a/libcxx/include/__utility/integer_sequence.h
+++ b/libcxx/include/__utility/integer_sequence.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<utility>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__utility/move.h b/libcxx/include/__utility/move.h
index 7d1c8c2522ad9..a6f36269f641d 100644
--- a/libcxx/include/__utility/move.h
+++ b/libcxx/include/__utility/move.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<utility>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__utility/pair.h b/libcxx/include/__utility/pair.h
index 15532f6132646..9564ede086d5a 100644
--- a/libcxx/include/__utility/pair.h
+++ b/libcxx/include/__utility/pair.h
@@ -22,6 +22,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<utility>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__utility/piecewise_construct.h b/libcxx/include/__utility/piecewise_construct.h
index 3cc86fef2a0fb..e1d157693953f 100644
--- a/libcxx/include/__utility/piecewise_construct.h
+++ b/libcxx/include/__utility/piecewise_construct.h
@@ -13,6 +13,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<utility>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__utility/priority_tag.h b/libcxx/include/__utility/priority_tag.h
index e51ba6bfcc050..339e29bc7e9a3 100644
--- a/libcxx/include/__utility/priority_tag.h
+++ b/libcxx/include/__utility/priority_tag.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<utility>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__utility/rel_ops.h b/libcxx/include/__utility/rel_ops.h
index 2577e94e91f60..208419017b66c 100644
--- a/libcxx/include/__utility/rel_ops.h
+++ b/libcxx/include/__utility/rel_ops.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<utility>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__utility/swap.h b/libcxx/include/__utility/swap.h
index f9e7f36678ba4..f16d6cd1a78e8 100644
--- a/libcxx/include/__utility/swap.h
+++ b/libcxx/include/__utility/swap.h
@@ -17,6 +17,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<utility>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__utility/to_underlying.h b/libcxx/include/__utility/to_underlying.h
index 3428406e8d3a2..24edd966d8ac7 100644
--- a/libcxx/include/__utility/to_underlying.h
+++ b/libcxx/include/__utility/to_underlying.h
@@ -15,6 +15,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<utility>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__utility/transaction.h b/libcxx/include/__utility/transaction.h
index 87e51c0b198e0..0d3e93b093ca3 100644
--- a/libcxx/include/__utility/transaction.h
+++ b/libcxx/include/__utility/transaction.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<utility>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__utility/unreachable.h b/libcxx/include/__utility/unreachable.h
index 485edb227c92c..071aef98ddf38 100644
--- a/libcxx/include/__utility/unreachable.h
+++ b/libcxx/include/__utility/unreachable.h
@@ -14,6 +14,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<utility>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/include/__variant/monostate.h b/libcxx/include/__variant/monostate.h
index b389c3b56b36e..f4e19d2929ac3 100644
--- a/libcxx/include/__variant/monostate.h
+++ b/libcxx/include/__variant/monostate.h
@@ -16,6 +16,7 @@
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
+#  pragma clang include_instead(<variant>)
 #endif
 
 _LIBCPP_BEGIN_NAMESPACE_STD

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/adjacent_find.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/adjacent_find.header.verify.cpp
new file mode 100644
index 0000000000000..00b86ec4f8938
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/adjacent_find.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/adjacent_find.h>
+// expected-error at -1 {{header '<__algorithm/adjacent_find.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/adjacent_find.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/adjacent_find.module.verify.cpp
index 26a9e766279b9..e445eca753817 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/adjacent_find.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/adjacent_find.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/all_of.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/all_of.header.verify.cpp
new file mode 100644
index 0000000000000..bb77699892704
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/all_of.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/all_of.h>
+// expected-error at -1 {{header '<__algorithm/all_of.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/all_of.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/all_of.module.verify.cpp
index 5f6b144dc2469..94cbcd38d2399 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/all_of.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/all_of.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/any_of.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/any_of.header.verify.cpp
new file mode 100644
index 0000000000000..a5c36fd9975cc
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/any_of.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/any_of.h>
+// expected-error at -1 {{header '<__algorithm/any_of.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/any_of.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/any_of.module.verify.cpp
index dbbebe6ade667..6a7f3066657a0 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/any_of.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/any_of.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/binary_search.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/binary_search.header.verify.cpp
new file mode 100644
index 0000000000000..25df4b4a50841
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/binary_search.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/binary_search.h>
+// expected-error at -1 {{header '<__algorithm/binary_search.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/binary_search.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/binary_search.module.verify.cpp
index ce749df49c873..c5dc84ca6cad3 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/binary_search.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/binary_search.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/clamp.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/clamp.header.verify.cpp
new file mode 100644
index 0000000000000..3c2f21c7a0b59
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/clamp.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/clamp.h>
+// expected-error at -1 {{header '<__algorithm/clamp.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/clamp.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/clamp.module.verify.cpp
index 646c169e5f0d1..85b7ba3e5c06b 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/clamp.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/clamp.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/comp.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/comp.header.verify.cpp
new file mode 100644
index 0000000000000..87947942abace
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/comp.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/comp.h>
+// expected-error at -1 {{header '<__algorithm/comp.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/comp.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/comp.module.verify.cpp
index 457dc03dc9de3..16127b5d37e2f 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/comp.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/comp.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/comp_ref_type.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/comp_ref_type.header.verify.cpp
new file mode 100644
index 0000000000000..7318dfb5474ce
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/comp_ref_type.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/comp_ref_type.h>
+// expected-error at -1 {{header '<__algorithm/comp_ref_type.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/comp_ref_type.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/comp_ref_type.module.verify.cpp
index 400d354c3c597..3bcfe37a9df4f 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/comp_ref_type.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/comp_ref_type.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy.header.verify.cpp
new file mode 100644
index 0000000000000..d47b3cb8ccd25
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/copy.h>
+// expected-error at -1 {{header '<__algorithm/copy.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy.module.verify.cpp
index c213de50fbad9..9dc3406388f0b 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_backward.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_backward.header.verify.cpp
new file mode 100644
index 0000000000000..b976a1d3fb468
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_backward.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/copy_backward.h>
+// expected-error at -1 {{header '<__algorithm/copy_backward.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_backward.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_backward.module.verify.cpp
index 90861e7fbc9c2..22cd8cd653e57 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_backward.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_backward.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_if.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_if.header.verify.cpp
new file mode 100644
index 0000000000000..086f241b7e06d
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_if.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/copy_if.h>
+// expected-error at -1 {{header '<__algorithm/copy_if.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_if.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_if.module.verify.cpp
index a8c0e5303d0e7..91fff8139151d 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_if.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_if.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_n.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_n.header.verify.cpp
new file mode 100644
index 0000000000000..162de899fb9cb
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_n.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/copy_n.h>
+// expected-error at -1 {{header '<__algorithm/copy_n.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_n.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_n.module.verify.cpp
index 94dce2dc5160e..88100beac424d 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_n.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/copy_n.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/count.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/count.header.verify.cpp
new file mode 100644
index 0000000000000..3a1513b6b7e8b
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/count.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/count.h>
+// expected-error at -1 {{header '<__algorithm/count.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/count.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/count.module.verify.cpp
index 0ffe17db37e26..40583e7870bcb 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/count.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/count.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/count_if.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/count_if.header.verify.cpp
new file mode 100644
index 0000000000000..cca6d6cfe1792
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/count_if.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/count_if.h>
+// expected-error at -1 {{header '<__algorithm/count_if.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/count_if.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/count_if.module.verify.cpp
index b30b98e5404e7..4465c91ec41f1 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/count_if.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/count_if.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/equal.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/equal.header.verify.cpp
new file mode 100644
index 0000000000000..e7cf52486104c
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/equal.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/equal.h>
+// expected-error at -1 {{header '<__algorithm/equal.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/equal.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/equal.module.verify.cpp
index 0470090e1150d..877b70a7ec25b 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/equal.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/equal.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/equal_range.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/equal_range.header.verify.cpp
new file mode 100644
index 0000000000000..cc7eab0ab806b
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/equal_range.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/equal_range.h>
+// expected-error at -1 {{header '<__algorithm/equal_range.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/equal_range.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/equal_range.module.verify.cpp
index d061ba75acc76..e8217712d8dc3 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/equal_range.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/equal_range.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/fill.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/fill.header.verify.cpp
new file mode 100644
index 0000000000000..0fbfa0121e83a
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/fill.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/fill.h>
+// expected-error at -1 {{header '<__algorithm/fill.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/fill.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/fill.module.verify.cpp
index 1a565066f0843..c5d95121fd740 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/fill.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/fill.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/fill_n.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/fill_n.header.verify.cpp
new file mode 100644
index 0000000000000..e0be00bdef6c9
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/fill_n.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/fill_n.h>
+// expected-error at -1 {{header '<__algorithm/fill_n.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/fill_n.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/fill_n.module.verify.cpp
index 42c105c0450d7..b0075472caba8 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/fill_n.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/fill_n.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find.header.verify.cpp
new file mode 100644
index 0000000000000..82119fedd931d
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/find.h>
+// expected-error at -1 {{header '<__algorithm/find.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find.module.verify.cpp
index b6f8849595fd0..5e464846ffb88 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_end.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_end.header.verify.cpp
new file mode 100644
index 0000000000000..3e7f60efa151a
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_end.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/find_end.h>
+// expected-error at -1 {{header '<__algorithm/find_end.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_end.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_end.module.verify.cpp
index a793020545d13..0f8788ca0aac3 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_end.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_end.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_first_of.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_first_of.header.verify.cpp
new file mode 100644
index 0000000000000..1864d3e094dc2
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_first_of.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/find_first_of.h>
+// expected-error at -1 {{header '<__algorithm/find_first_of.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_first_of.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_first_of.module.verify.cpp
index 786a288e72feb..0d92c1fc655e8 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_first_of.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_first_of.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_if.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_if.header.verify.cpp
new file mode 100644
index 0000000000000..afe5ff39cbc9d
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_if.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/find_if.h>
+// expected-error at -1 {{header '<__algorithm/find_if.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_if.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_if.module.verify.cpp
index 2e658622adf8b..123ed3f24e4fd 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_if.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_if.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_if_not.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_if_not.header.verify.cpp
new file mode 100644
index 0000000000000..67077014c1591
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_if_not.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/find_if_not.h>
+// expected-error at -1 {{header '<__algorithm/find_if_not.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_if_not.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_if_not.module.verify.cpp
index be6678e93b42e..af941eede4ff0 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_if_not.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/find_if_not.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/for_each.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/for_each.header.verify.cpp
new file mode 100644
index 0000000000000..6dcf52f9167a5
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/for_each.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/for_each.h>
+// expected-error at -1 {{header '<__algorithm/for_each.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/for_each.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/for_each.module.verify.cpp
index d567e5201d9e3..d7d37fb341755 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/for_each.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/for_each.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/for_each_n.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/for_each_n.header.verify.cpp
new file mode 100644
index 0000000000000..6b743389d2f21
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/for_each_n.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/for_each_n.h>
+// expected-error at -1 {{header '<__algorithm/for_each_n.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/for_each_n.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/for_each_n.module.verify.cpp
index b5211213d84cd..bb777bb97de57 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/for_each_n.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/for_each_n.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/generate.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/generate.header.verify.cpp
new file mode 100644
index 0000000000000..8fe3ffd773461
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/generate.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/generate.h>
+// expected-error at -1 {{header '<__algorithm/generate.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/generate.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/generate.module.verify.cpp
index 58a35f3ab7d8c..1d22acb51cefb 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/generate.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/generate.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/generate_n.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/generate_n.header.verify.cpp
new file mode 100644
index 0000000000000..6ba2bc2663817
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/generate_n.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/generate_n.h>
+// expected-error at -1 {{header '<__algorithm/generate_n.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/generate_n.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/generate_n.module.verify.cpp
index f4196b418525b..67984f067113b 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/generate_n.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/generate_n.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/half_positive.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/half_positive.header.verify.cpp
new file mode 100644
index 0000000000000..d317cc62d70b8
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/half_positive.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/half_positive.h>
+// expected-error at -1 {{header '<__algorithm/half_positive.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/half_positive.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/half_positive.module.verify.cpp
index 70001c138a3ab..1e69336f7cd55 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/half_positive.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/half_positive.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_found_result.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_found_result.header.verify.cpp
new file mode 100644
index 0000000000000..9a2026f8637cd
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_found_result.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/in_found_result.h>
+// expected-error at -1 {{header '<__algorithm/in_found_result.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_found_result.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_found_result.module.verify.cpp
index 8c6b4acf96e1c..7c9a86964f059 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_found_result.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_found_result.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_fun_result.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_fun_result.header.verify.cpp
new file mode 100644
index 0000000000000..42fa062d6a2eb
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_fun_result.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/in_fun_result.h>
+// expected-error at -1 {{header '<__algorithm/in_fun_result.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_fun_result.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_fun_result.module.verify.cpp
index ff1418326e606..bf55ae3425f88 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_fun_result.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_fun_result.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_in_out_result.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_in_out_result.header.verify.cpp
new file mode 100644
index 0000000000000..80ea593a3cecf
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_in_out_result.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/in_in_out_result.h>
+// expected-error at -1 {{header '<__algorithm/in_in_out_result.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_in_out_result.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_in_out_result.module.verify.cpp
index 887c3078c100f..5d1b75682d32e 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_in_out_result.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_in_out_result.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_in_result.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_in_result.header.verify.cpp
new file mode 100644
index 0000000000000..94f2d20681b92
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_in_result.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/in_in_result.h>
+// expected-error at -1 {{header '<__algorithm/in_in_result.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_in_result.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_in_result.module.verify.cpp
index 3ae3c161ce9f8..44b1fca1a2998 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_in_result.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_in_result.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_out_out_result.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_out_out_result.header.verify.cpp
new file mode 100644
index 0000000000000..814d650d7f741
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_out_out_result.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/in_out_out_result.h>
+// expected-error at -1 {{header '<__algorithm/in_out_out_result.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_out_out_result.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_out_out_result.module.verify.cpp
index e1c0273d4c969..119cc90c6f730 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_out_out_result.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_out_out_result.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_out_result.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_out_result.header.verify.cpp
new file mode 100644
index 0000000000000..ae13001f82e12
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_out_result.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/in_out_result.h>
+// expected-error at -1 {{header '<__algorithm/in_out_result.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_out_result.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_out_result.module.verify.cpp
index 254aca51128f4..590127185c09c 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_out_result.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/in_out_result.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/includes.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/includes.header.verify.cpp
new file mode 100644
index 0000000000000..461ab6f9e8eff
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/includes.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/includes.h>
+// expected-error at -1 {{header '<__algorithm/includes.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/includes.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/includes.module.verify.cpp
index babab066f538c..16e2b911d8a88 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/includes.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/includes.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/inplace_merge.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/inplace_merge.header.verify.cpp
new file mode 100644
index 0000000000000..92e82b54758ef
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/inplace_merge.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/inplace_merge.h>
+// expected-error at -1 {{header '<__algorithm/inplace_merge.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/inplace_merge.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/inplace_merge.module.verify.cpp
index 5c191c37a32bf..2e8ea0a2fbdd3 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/inplace_merge.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/inplace_merge.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_heap.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_heap.header.verify.cpp
new file mode 100644
index 0000000000000..682787b4f8159
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_heap.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/is_heap.h>
+// expected-error at -1 {{header '<__algorithm/is_heap.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_heap.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_heap.module.verify.cpp
index a67bf39053b59..3bdf3c982e0af 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_heap.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_heap.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_heap_until.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_heap_until.header.verify.cpp
new file mode 100644
index 0000000000000..44c4d3059cca3
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_heap_until.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/is_heap_until.h>
+// expected-error at -1 {{header '<__algorithm/is_heap_until.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_heap_until.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_heap_until.module.verify.cpp
index c5cdfeae119f2..9545b2d98166f 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_heap_until.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_heap_until.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_partitioned.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_partitioned.header.verify.cpp
new file mode 100644
index 0000000000000..9ff6dfdbfcc56
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_partitioned.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/is_partitioned.h>
+// expected-error at -1 {{header '<__algorithm/is_partitioned.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_partitioned.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_partitioned.module.verify.cpp
index d1640a227956a..685e9c5bcb27e 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_partitioned.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_partitioned.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_permutation.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_permutation.header.verify.cpp
new file mode 100644
index 0000000000000..11a4c12b77612
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_permutation.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/is_permutation.h>
+// expected-error at -1 {{header '<__algorithm/is_permutation.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_permutation.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_permutation.module.verify.cpp
index 7bdaaaf2a12d0..5b3d1ca92ccae 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_permutation.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_permutation.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_sorted.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_sorted.header.verify.cpp
new file mode 100644
index 0000000000000..c28d3937dfd55
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_sorted.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/is_sorted.h>
+// expected-error at -1 {{header '<__algorithm/is_sorted.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_sorted.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_sorted.module.verify.cpp
index dbf4c10f69954..6bdf25d3cbbe9 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_sorted.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_sorted.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_sorted_until.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_sorted_until.header.verify.cpp
new file mode 100644
index 0000000000000..a0955e0ed4fbb
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_sorted_until.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/is_sorted_until.h>
+// expected-error at -1 {{header '<__algorithm/is_sorted_until.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_sorted_until.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_sorted_until.module.verify.cpp
index 60175e4461ae2..6f4f12c6f87d8 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_sorted_until.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/is_sorted_until.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/iter_swap.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/iter_swap.header.verify.cpp
new file mode 100644
index 0000000000000..401a98f92e382
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/iter_swap.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/iter_swap.h>
+// expected-error at -1 {{header '<__algorithm/iter_swap.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/iter_swap.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/iter_swap.module.verify.cpp
index a01438d44a3b6..7db68792f9456 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/iter_swap.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/iter_swap.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/lexicographical_compare.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/lexicographical_compare.header.verify.cpp
new file mode 100644
index 0000000000000..6f0e4bb747de8
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/lexicographical_compare.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/lexicographical_compare.h>
+// expected-error at -1 {{header '<__algorithm/lexicographical_compare.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/lexicographical_compare.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/lexicographical_compare.module.verify.cpp
index d692be6e45dab..7c417f6123877 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/lexicographical_compare.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/lexicographical_compare.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/lower_bound.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/lower_bound.header.verify.cpp
new file mode 100644
index 0000000000000..4a1b509daa301
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/lower_bound.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/lower_bound.h>
+// expected-error at -1 {{header '<__algorithm/lower_bound.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/lower_bound.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/lower_bound.module.verify.cpp
index 37622f64352b0..5d2347b3acadf 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/lower_bound.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/lower_bound.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/make_heap.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/make_heap.header.verify.cpp
new file mode 100644
index 0000000000000..b5088854b3170
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/make_heap.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/make_heap.h>
+// expected-error at -1 {{header '<__algorithm/make_heap.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/make_heap.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/make_heap.module.verify.cpp
index d681675135723..2ac533eac94fb 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/make_heap.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/make_heap.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/max.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/max.header.verify.cpp
new file mode 100644
index 0000000000000..c81bed7876099
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/max.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/max.h>
+// expected-error at -1 {{header '<__algorithm/max.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/max.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/max.module.verify.cpp
index ab7555f8262a5..51f0e90adc1f7 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/max.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/max.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/max_element.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/max_element.header.verify.cpp
new file mode 100644
index 0000000000000..9108d4445156d
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/max_element.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/max_element.h>
+// expected-error at -1 {{header '<__algorithm/max_element.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/max_element.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/max_element.module.verify.cpp
index 99244e92044f1..e25d1927efb0b 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/max_element.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/max_element.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/merge.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/merge.header.verify.cpp
new file mode 100644
index 0000000000000..ca07885d64eb1
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/merge.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/merge.h>
+// expected-error at -1 {{header '<__algorithm/merge.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/merge.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/merge.module.verify.cpp
index 3abafd53872cc..5f4ca30aa2163 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/merge.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/merge.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min.header.verify.cpp
new file mode 100644
index 0000000000000..9c13996df364a
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/min.h>
+// expected-error at -1 {{header '<__algorithm/min.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min.module.verify.cpp
index a094afd2f21a1..26f265b0efc69 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min_element.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min_element.header.verify.cpp
new file mode 100644
index 0000000000000..af9054719199f
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min_element.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/min_element.h>
+// expected-error at -1 {{header '<__algorithm/min_element.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min_element.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min_element.module.verify.cpp
index 0fdef67e5352e..1e4174abd6952 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min_element.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min_element.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min_max_result.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min_max_result.header.verify.cpp
new file mode 100644
index 0000000000000..940da7f0f542c
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min_max_result.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/min_max_result.h>
+// expected-error at -1 {{header '<__algorithm/min_max_result.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min_max_result.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min_max_result.module.verify.cpp
index 69270642bdfac..7107c8c61c17d 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min_max_result.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/min_max_result.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/minmax.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/minmax.header.verify.cpp
new file mode 100644
index 0000000000000..9d0b43d07989e
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/minmax.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/minmax.h>
+// expected-error at -1 {{header '<__algorithm/minmax.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/minmax.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/minmax.module.verify.cpp
index 2afe29b96407c..a595d38c9a84b 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/minmax.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/minmax.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/minmax_element.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/minmax_element.header.verify.cpp
new file mode 100644
index 0000000000000..58adf28a9467b
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/minmax_element.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/minmax_element.h>
+// expected-error at -1 {{header '<__algorithm/minmax_element.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/minmax_element.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/minmax_element.module.verify.cpp
index 4f416c6ac7c62..18d7f7d410134 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/minmax_element.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/minmax_element.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/mismatch.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/mismatch.header.verify.cpp
new file mode 100644
index 0000000000000..e462477641ef6
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/mismatch.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/mismatch.h>
+// expected-error at -1 {{header '<__algorithm/mismatch.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/mismatch.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/mismatch.module.verify.cpp
index 91ab28b41b543..b5645a27b3b6d 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/mismatch.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/mismatch.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/move.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/move.header.verify.cpp
new file mode 100644
index 0000000000000..090b37b8e2266
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/move.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/move.h>
+// expected-error at -1 {{header '<__algorithm/move.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/move.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/move.module.verify.cpp
index c5100b1f2e706..80030e2746d69 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/move.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/move.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/move_backward.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/move_backward.header.verify.cpp
new file mode 100644
index 0000000000000..6751b9b72aeeb
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/move_backward.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/move_backward.h>
+// expected-error at -1 {{header '<__algorithm/move_backward.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/move_backward.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/move_backward.module.verify.cpp
index 67a359c7bf81e..ef738d00aeee0 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/move_backward.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/move_backward.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/next_permutation.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/next_permutation.header.verify.cpp
new file mode 100644
index 0000000000000..61186769701c3
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/next_permutation.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/next_permutation.h>
+// expected-error at -1 {{header '<__algorithm/next_permutation.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/next_permutation.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/next_permutation.module.verify.cpp
index 91b795280f9c2..08df0a706eab9 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/next_permutation.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/next_permutation.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/none_of.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/none_of.header.verify.cpp
new file mode 100644
index 0000000000000..04267595cb6ba
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/none_of.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/none_of.h>
+// expected-error at -1 {{header '<__algorithm/none_of.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/none_of.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/none_of.module.verify.cpp
index 1cf437608b3d9..f421b9d53dd17 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/none_of.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/none_of.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/nth_element.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/nth_element.header.verify.cpp
new file mode 100644
index 0000000000000..0a63fd6efaf1d
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/nth_element.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/nth_element.h>
+// expected-error at -1 {{header '<__algorithm/nth_element.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/nth_element.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/nth_element.module.verify.cpp
index 77ceaf6ca39cc..14e69fa16dcda 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/nth_element.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/nth_element.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partial_sort.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partial_sort.header.verify.cpp
new file mode 100644
index 0000000000000..0e23bdd129824
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partial_sort.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/partial_sort.h>
+// expected-error at -1 {{header '<__algorithm/partial_sort.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partial_sort.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partial_sort.module.verify.cpp
index 4a8b45a82d73d..9b189241eb417 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partial_sort.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partial_sort.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partial_sort_copy.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partial_sort_copy.header.verify.cpp
new file mode 100644
index 0000000000000..591795ba6f81a
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partial_sort_copy.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/partial_sort_copy.h>
+// expected-error at -1 {{header '<__algorithm/partial_sort_copy.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partial_sort_copy.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partial_sort_copy.module.verify.cpp
index 4db8fdaa6560e..42242f705a3a3 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partial_sort_copy.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partial_sort_copy.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition.header.verify.cpp
new file mode 100644
index 0000000000000..ab82139af718c
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/partition.h>
+// expected-error at -1 {{header '<__algorithm/partition.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition.module.verify.cpp
index 134b02eedf76b..f7e213663adf1 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition_copy.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition_copy.header.verify.cpp
new file mode 100644
index 0000000000000..204748f451be5
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition_copy.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/partition_copy.h>
+// expected-error at -1 {{header '<__algorithm/partition_copy.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition_copy.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition_copy.module.verify.cpp
index 21cc2a0f9ae30..92462787e7c0d 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition_copy.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition_copy.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition_point.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition_point.header.verify.cpp
new file mode 100644
index 0000000000000..c242d401709c4
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition_point.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/partition_point.h>
+// expected-error at -1 {{header '<__algorithm/partition_point.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition_point.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition_point.module.verify.cpp
index b2b778d812520..e22856ee26008 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition_point.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/partition_point.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/pop_heap.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/pop_heap.header.verify.cpp
new file mode 100644
index 0000000000000..38ef5d8dcfdff
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/pop_heap.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/pop_heap.h>
+// expected-error at -1 {{header '<__algorithm/pop_heap.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/pop_heap.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/pop_heap.module.verify.cpp
index 726f92ab47778..f5fe44f277cf2 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/pop_heap.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/pop_heap.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/prev_permutation.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/prev_permutation.header.verify.cpp
new file mode 100644
index 0000000000000..f41907cd3060a
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/prev_permutation.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/prev_permutation.h>
+// expected-error at -1 {{header '<__algorithm/prev_permutation.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/prev_permutation.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/prev_permutation.module.verify.cpp
index a23b26cdd6a68..5d7c7dd72c035 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/prev_permutation.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/prev_permutation.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/push_heap.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/push_heap.header.verify.cpp
new file mode 100644
index 0000000000000..7fa261a468bc5
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/push_heap.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/push_heap.h>
+// expected-error at -1 {{header '<__algorithm/push_heap.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/push_heap.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/push_heap.module.verify.cpp
index ff54c01fa773b..b1a2d743aa52d 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/push_heap.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/push_heap.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/ranges_min_element.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/ranges_min_element.header.verify.cpp
new file mode 100644
index 0000000000000..f070ab1d4d8a9
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/ranges_min_element.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/ranges_min_element.h>
+// expected-error at -1 {{header '<__algorithm/ranges_min_element.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/ranges_min_element.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/ranges_min_element.module.verify.cpp
index 0b10fb5f5e8ee..75ae95a9ca635 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/ranges_min_element.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/ranges_min_element.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/ranges_swap_ranges.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/ranges_swap_ranges.header.verify.cpp
new file mode 100644
index 0000000000000..2b76681d4eeaa
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/ranges_swap_ranges.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/ranges_swap_ranges.h>
+// expected-error at -1 {{header '<__algorithm/ranges_swap_ranges.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/ranges_swap_ranges.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/ranges_swap_ranges.module.verify.cpp
index edd4c30f5f43a..97533d29e417d 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/ranges_swap_ranges.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/ranges_swap_ranges.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove.header.verify.cpp
new file mode 100644
index 0000000000000..bd1880038a346
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/remove.h>
+// expected-error at -1 {{header '<__algorithm/remove.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove.module.verify.cpp
index 9f79428bfdf69..cf78bbcaef773 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_copy.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_copy.header.verify.cpp
new file mode 100644
index 0000000000000..86fd2e0046e2d
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_copy.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/remove_copy.h>
+// expected-error at -1 {{header '<__algorithm/remove_copy.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_copy.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_copy.module.verify.cpp
index a4161ef71da74..ff7afca29842f 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_copy.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_copy.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_copy_if.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_copy_if.header.verify.cpp
new file mode 100644
index 0000000000000..35f9003ee54fc
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_copy_if.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/remove_copy_if.h>
+// expected-error at -1 {{header '<__algorithm/remove_copy_if.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_copy_if.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_copy_if.module.verify.cpp
index a6b6e17a10eeb..55a21c529d411 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_copy_if.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_copy_if.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_if.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_if.header.verify.cpp
new file mode 100644
index 0000000000000..d28a6fe4083f9
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_if.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/remove_if.h>
+// expected-error at -1 {{header '<__algorithm/remove_if.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_if.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_if.module.verify.cpp
index a6fdcee78b1ee..4309184ae51ea 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_if.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/remove_if.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace.header.verify.cpp
new file mode 100644
index 0000000000000..ea017268baa14
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/replace.h>
+// expected-error at -1 {{header '<__algorithm/replace.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace.module.verify.cpp
index e81a1aa16ca58..ec81e421e68d1 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_copy.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_copy.header.verify.cpp
new file mode 100644
index 0000000000000..fc2bddea62211
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_copy.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/replace_copy.h>
+// expected-error at -1 {{header '<__algorithm/replace_copy.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_copy.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_copy.module.verify.cpp
index d8989434b43ec..cb95f4c97ad72 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_copy.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_copy.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_copy_if.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_copy_if.header.verify.cpp
new file mode 100644
index 0000000000000..4011c6d24e9f2
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_copy_if.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/replace_copy_if.h>
+// expected-error at -1 {{header '<__algorithm/replace_copy_if.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_copy_if.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_copy_if.module.verify.cpp
index 30a0db3f1dbd1..b67f7fa87fea9 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_copy_if.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_copy_if.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_if.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_if.header.verify.cpp
new file mode 100644
index 0000000000000..6dd5374ed3604
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_if.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/replace_if.h>
+// expected-error at -1 {{header '<__algorithm/replace_if.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_if.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_if.module.verify.cpp
index fafc501a66a0f..616fe024ae11e 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_if.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/replace_if.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/reverse.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/reverse.header.verify.cpp
new file mode 100644
index 0000000000000..bf7fb214783bb
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/reverse.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/reverse.h>
+// expected-error at -1 {{header '<__algorithm/reverse.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/reverse.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/reverse.module.verify.cpp
index 68230d6d140ef..6ead238517dd9 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/reverse.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/reverse.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/reverse_copy.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/reverse_copy.header.verify.cpp
new file mode 100644
index 0000000000000..4e332f6ae9446
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/reverse_copy.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/reverse_copy.h>
+// expected-error at -1 {{header '<__algorithm/reverse_copy.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/reverse_copy.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/reverse_copy.module.verify.cpp
index 197544959ae3a..8e174853797fb 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/reverse_copy.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/reverse_copy.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/rotate.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/rotate.header.verify.cpp
new file mode 100644
index 0000000000000..c0d00b480b1e5
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/rotate.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/rotate.h>
+// expected-error at -1 {{header '<__algorithm/rotate.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/rotate.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/rotate.module.verify.cpp
index ba8f574cd6808..2cb958c868f65 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/rotate.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/rotate.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/rotate_copy.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/rotate_copy.header.verify.cpp
new file mode 100644
index 0000000000000..3631d603bb7f0
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/rotate_copy.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/rotate_copy.h>
+// expected-error at -1 {{header '<__algorithm/rotate_copy.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/rotate_copy.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/rotate_copy.module.verify.cpp
index 6befaa9baca32..453c9477691d2 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/rotate_copy.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/rotate_copy.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sample.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sample.header.verify.cpp
new file mode 100644
index 0000000000000..28c08c5fa8dff
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sample.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/sample.h>
+// expected-error at -1 {{header '<__algorithm/sample.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sample.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sample.module.verify.cpp
index 958c6a5781b6b..bce9021616a79 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sample.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sample.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/search.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/search.header.verify.cpp
new file mode 100644
index 0000000000000..8b431651789b1
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/search.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/search.h>
+// expected-error at -1 {{header '<__algorithm/search.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/search.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/search.module.verify.cpp
index 8d2d283be05a9..965e26e368eb1 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/search.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/search.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/search_n.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/search_n.header.verify.cpp
new file mode 100644
index 0000000000000..7fe8fd4efbfa3
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/search_n.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/search_n.h>
+// expected-error at -1 {{header '<__algorithm/search_n.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/search_n.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/search_n.module.verify.cpp
index a4313cd2c5900..1b96ca21ba815 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/search_n.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/search_n.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_
diff erence.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_
diff erence.header.verify.cpp
new file mode 100644
index 0000000000000..fbc10afbb7a5e
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_
diff erence.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/set_
diff erence.h>
+// expected-error at -1 {{header '<__algorithm/set_
diff erence.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_
diff erence.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_
diff erence.module.verify.cpp
index 0357fa5899b28..e620e30e54234 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_
diff erence.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_
diff erence.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_intersection.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_intersection.header.verify.cpp
new file mode 100644
index 0000000000000..f16828051c9f4
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_intersection.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/set_intersection.h>
+// expected-error at -1 {{header '<__algorithm/set_intersection.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_intersection.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_intersection.module.verify.cpp
index de43e0ff05436..760995e23e55f 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_intersection.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_intersection.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_symmetric_
diff erence.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_symmetric_
diff erence.header.verify.cpp
new file mode 100644
index 0000000000000..e86d8beb42260
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_symmetric_
diff erence.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/set_symmetric_
diff erence.h>
+// expected-error at -1 {{header '<__algorithm/set_symmetric_
diff erence.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_symmetric_
diff erence.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_symmetric_
diff erence.module.verify.cpp
index 4c2924c1615bb..9d9bdad0e3a00 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_symmetric_
diff erence.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_symmetric_
diff erence.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_union.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_union.header.verify.cpp
new file mode 100644
index 0000000000000..304247b9ff845
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_union.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/set_union.h>
+// expected-error at -1 {{header '<__algorithm/set_union.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_union.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_union.module.verify.cpp
index ace992504baac..b33fa8af0f101 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_union.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/set_union.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shift_left.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shift_left.header.verify.cpp
new file mode 100644
index 0000000000000..4bae3c86018c7
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shift_left.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/shift_left.h>
+// expected-error at -1 {{header '<__algorithm/shift_left.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shift_left.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shift_left.module.verify.cpp
index 790612b5e6c9e..14f90a22a106f 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shift_left.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shift_left.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shift_right.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shift_right.header.verify.cpp
new file mode 100644
index 0000000000000..009731df0b1be
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shift_right.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/shift_right.h>
+// expected-error at -1 {{header '<__algorithm/shift_right.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shift_right.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shift_right.module.verify.cpp
index 6dd3204ad22f7..3a07bbda76ac3 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shift_right.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shift_right.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shuffle.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shuffle.header.verify.cpp
new file mode 100644
index 0000000000000..2d4e80402b10f
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shuffle.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/shuffle.h>
+// expected-error at -1 {{header '<__algorithm/shuffle.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shuffle.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shuffle.module.verify.cpp
index 4c45a2fc156b3..3273d90243767 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shuffle.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/shuffle.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sift_down.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sift_down.header.verify.cpp
new file mode 100644
index 0000000000000..1f7d884578537
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sift_down.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/sift_down.h>
+// expected-error at -1 {{header '<__algorithm/sift_down.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sift_down.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sift_down.module.verify.cpp
index 675cb4bb7dc1e..d4ed87fcfcc6f 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sift_down.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sift_down.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sort.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sort.header.verify.cpp
new file mode 100644
index 0000000000000..dde99e316501d
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sort.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/sort.h>
+// expected-error at -1 {{header '<__algorithm/sort.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sort.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sort.module.verify.cpp
index acf53bdcbf12a..42e369b23efb4 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sort.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sort.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sort_heap.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sort_heap.header.verify.cpp
new file mode 100644
index 0000000000000..766900df834ee
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sort_heap.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/sort_heap.h>
+// expected-error at -1 {{header '<__algorithm/sort_heap.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sort_heap.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sort_heap.module.verify.cpp
index b62c34a699f66..fbb405c8f7eaa 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sort_heap.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/sort_heap.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/stable_partition.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/stable_partition.header.verify.cpp
new file mode 100644
index 0000000000000..b217e0ebfd284
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/stable_partition.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/stable_partition.h>
+// expected-error at -1 {{header '<__algorithm/stable_partition.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/stable_partition.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/stable_partition.module.verify.cpp
index c84549885396f..74edd38515349 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/stable_partition.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/stable_partition.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/stable_sort.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/stable_sort.header.verify.cpp
new file mode 100644
index 0000000000000..22708f7b9e1d1
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/stable_sort.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/stable_sort.h>
+// expected-error at -1 {{header '<__algorithm/stable_sort.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/stable_sort.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/stable_sort.module.verify.cpp
index 082a0f3633b3f..999a0878a7a8f 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/stable_sort.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/stable_sort.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/swap_ranges.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/swap_ranges.header.verify.cpp
new file mode 100644
index 0000000000000..a150c471bbb38
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/swap_ranges.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/swap_ranges.h>
+// expected-error at -1 {{header '<__algorithm/swap_ranges.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/swap_ranges.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/swap_ranges.module.verify.cpp
index 63b9afdcfd802..294a06b2cda0b 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/swap_ranges.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/swap_ranges.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/transform.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/transform.header.verify.cpp
new file mode 100644
index 0000000000000..b4a5176ccb5b7
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/transform.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/transform.h>
+// expected-error at -1 {{header '<__algorithm/transform.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/transform.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/transform.module.verify.cpp
index 1fc4b822fe410..b9f59dc17ad96 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/transform.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/transform.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unique.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unique.header.verify.cpp
new file mode 100644
index 0000000000000..83098e580e8e1
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unique.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/unique.h>
+// expected-error at -1 {{header '<__algorithm/unique.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unique.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unique.module.verify.cpp
index 15794807f064e..c1ee21884b45c 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unique.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unique.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unique_copy.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unique_copy.header.verify.cpp
new file mode 100644
index 0000000000000..ca1e44debcb0d
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unique_copy.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/unique_copy.h>
+// expected-error at -1 {{header '<__algorithm/unique_copy.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unique_copy.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unique_copy.module.verify.cpp
index 6aab92c88bcf1..b589e88d35615 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unique_copy.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unique_copy.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unwrap_iter.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unwrap_iter.header.verify.cpp
new file mode 100644
index 0000000000000..002c8b541bcb8
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unwrap_iter.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/unwrap_iter.h>
+// expected-error at -1 {{header '<__algorithm/unwrap_iter.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unwrap_iter.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unwrap_iter.module.verify.cpp
index 9dbf1b371fa14..f6a80e2178460 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unwrap_iter.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/unwrap_iter.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/upper_bound.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/upper_bound.header.verify.cpp
new file mode 100644
index 0000000000000..788c81e071629
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/upper_bound.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__algorithm/upper_bound.h>
+// expected-error at -1 {{header '<__algorithm/upper_bound.h>' is an implementation detail; #include '<algorithm>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/upper_bound.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/upper_bound.module.verify.cpp
index 12045bbe43ca6..25b065f2e9835 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/upper_bound.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/algorithm/upper_bound.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/availability.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/availability.module.verify.cpp
index 3082b0fc7dfab..4f966e736a871 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/availability.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/availability.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/bit/bit_cast.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/bit/bit_cast.header.verify.cpp
new file mode 100644
index 0000000000000..f1e1999cc47bf
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/bit/bit_cast.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__bit/bit_cast.h>
+// expected-error at -1 {{header '<__bit/bit_cast.h>' is an implementation detail; #include '<bit>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/bit/bit_cast.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/bit/bit_cast.module.verify.cpp
index 11a90eca4499e..c5fb85d2e05e2 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/bit/bit_cast.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/bit/bit_cast.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/bit/byteswap.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/bit/byteswap.header.verify.cpp
new file mode 100644
index 0000000000000..58cf3051939a0
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/bit/byteswap.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__bit/byteswap.h>
+// expected-error at -1 {{header '<__bit/byteswap.h>' is an implementation detail; #include '<bit>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/bit/byteswap.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/bit/byteswap.module.verify.cpp
index 08dc7f36c21f6..2b64b4561afe6 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/bit/byteswap.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/bit/byteswap.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/bit_reference.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/bit_reference.header.verify.cpp
new file mode 100644
index 0000000000000..2d360ecceb6b5
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/bit_reference.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__bit_reference>
+// expected-error at -1 {{header '<__bit_reference>' is an implementation detail; #include either '<bitset>' or '<vector>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/bit_reference.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/bit_reference.module.verify.cpp
index 160895420b94b..3676f7ad5c50e 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/bit_reference.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/bit_reference.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/bits.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/bits.header.verify.cpp
new file mode 100644
index 0000000000000..2033f5cd2af43
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/bits.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__bits>
+// expected-error at -1 {{header '<__bits>' is an implementation detail; #include one of {'<algorithm>', '<bit>', '<bitset>', '<numeric>', '<random>', '<unordered_map>', '<unordered_set>', '<vector>'} instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/bits.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/bits.module.verify.cpp
index c3a99dd283f56..fa9f78495f918 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/bits.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/bits.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/charconv/chars_format.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/charconv/chars_format.header.verify.cpp
new file mode 100644
index 0000000000000..714cc4e43478d
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/charconv/chars_format.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__charconv/chars_format.h>
+// expected-error at -1 {{header '<__charconv/chars_format.h>' is an implementation detail; #include '<charconv>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/charconv/chars_format.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/charconv/chars_format.module.verify.cpp
index 3324c24d70c60..09586b2d0b574 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/charconv/chars_format.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/charconv/chars_format.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/charconv/from_chars_result.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/charconv/from_chars_result.header.verify.cpp
new file mode 100644
index 0000000000000..a7ade3c7530be
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/charconv/from_chars_result.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__charconv/from_chars_result.h>
+// expected-error at -1 {{header '<__charconv/from_chars_result.h>' is an implementation detail; #include '<charconv>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/charconv/from_chars_result.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/charconv/from_chars_result.module.verify.cpp
index ac53be0bf61ae..00e0927c0ed97 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/charconv/from_chars_result.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/charconv/from_chars_result.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/charconv/to_chars_result.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/charconv/to_chars_result.header.verify.cpp
new file mode 100644
index 0000000000000..332e6841b9e45
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/charconv/to_chars_result.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__charconv/to_chars_result.h>
+// expected-error at -1 {{header '<__charconv/to_chars_result.h>' is an implementation detail; #include '<charconv>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/charconv/to_chars_result.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/charconv/to_chars_result.module.verify.cpp
index 2d1805e4338bc..6d704cd47e505 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/charconv/to_chars_result.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/charconv/to_chars_result.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/chrono/calendar.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/calendar.header.verify.cpp
new file mode 100644
index 0000000000000..e0a7e1ef7aecf
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/calendar.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__chrono/calendar.h>
+// expected-error at -1 {{header '<__chrono/calendar.h>' is an implementation detail; #include '<chrono>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/chrono/calendar.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/calendar.module.verify.cpp
index 5e8cf1638fe6e..c07f51216e6a5 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/chrono/calendar.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/calendar.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/chrono/convert_to_timespec.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/convert_to_timespec.header.verify.cpp
new file mode 100644
index 0000000000000..547285d67eb0a
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/convert_to_timespec.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__chrono/convert_to_timespec.h>
+// expected-error at -1 {{header '<__chrono/convert_to_timespec.h>' is an implementation detail; #include '<chrono>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/chrono/convert_to_timespec.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/convert_to_timespec.module.verify.cpp
index 664ccd72f20aa..33e902d12901c 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/chrono/convert_to_timespec.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/convert_to_timespec.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/chrono/duration.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/duration.header.verify.cpp
new file mode 100644
index 0000000000000..24de1c23f99f9
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/duration.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__chrono/duration.h>
+// expected-error at -1 {{header '<__chrono/duration.h>' is an implementation detail; #include '<chrono>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/chrono/duration.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/duration.module.verify.cpp
index 943e10c2035bb..2a109355655c0 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/chrono/duration.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/duration.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/chrono/file_clock.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/file_clock.header.verify.cpp
new file mode 100644
index 0000000000000..5428b6347bf97
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/file_clock.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__chrono/file_clock.h>
+// expected-error at -1 {{header '<__chrono/file_clock.h>' is an implementation detail; #include '<chrono>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/chrono/file_clock.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/file_clock.module.verify.cpp
index e8b17ab632c01..08193699eeb89 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/chrono/file_clock.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/file_clock.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/chrono/high_resolution_clock.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/high_resolution_clock.header.verify.cpp
new file mode 100644
index 0000000000000..9a81c5364fb56
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/high_resolution_clock.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__chrono/high_resolution_clock.h>
+// expected-error at -1 {{header '<__chrono/high_resolution_clock.h>' is an implementation detail; #include '<chrono>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/chrono/high_resolution_clock.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/high_resolution_clock.module.verify.cpp
index 6eda673f1c622..3a18af5f85c40 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/chrono/high_resolution_clock.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/high_resolution_clock.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/chrono/steady_clock.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/steady_clock.header.verify.cpp
new file mode 100644
index 0000000000000..35c6250f46ec0
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/steady_clock.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__chrono/steady_clock.h>
+// expected-error at -1 {{header '<__chrono/steady_clock.h>' is an implementation detail; #include '<chrono>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/chrono/steady_clock.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/steady_clock.module.verify.cpp
index ef30dd14da9ec..3cfbb16195499 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/chrono/steady_clock.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/steady_clock.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/chrono/system_clock.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/system_clock.header.verify.cpp
new file mode 100644
index 0000000000000..1185862b23c8b
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/system_clock.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__chrono/system_clock.h>
+// expected-error at -1 {{header '<__chrono/system_clock.h>' is an implementation detail; #include '<chrono>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/chrono/system_clock.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/system_clock.module.verify.cpp
index 7a007d8710bef..402af44e96602 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/chrono/system_clock.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/system_clock.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/chrono/time_point.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/time_point.header.verify.cpp
new file mode 100644
index 0000000000000..65eb6c0259fd8
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/time_point.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__chrono/time_point.h>
+// expected-error at -1 {{header '<__chrono/time_point.h>' is an implementation detail; #include '<chrono>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/chrono/time_point.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/time_point.module.verify.cpp
index fa9de3a5860cc..c8a9d9886ae7c 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/chrono/time_point.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/chrono/time_point.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/common_comparison_category.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/common_comparison_category.header.verify.cpp
new file mode 100644
index 0000000000000..d2b129b093ce0
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/common_comparison_category.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__compare/common_comparison_category.h>
+// expected-error at -1 {{header '<__compare/common_comparison_category.h>' is an implementation detail; #include '<compare>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/common_comparison_category.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/common_comparison_category.module.verify.cpp
index d32f1bf26b6ac..21b15b4dfe845 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/compare/common_comparison_category.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/common_comparison_category.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_partial_order_fallback.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_partial_order_fallback.header.verify.cpp
new file mode 100644
index 0000000000000..22c40f48daf56
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_partial_order_fallback.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__compare/compare_partial_order_fallback.h>
+// expected-error at -1 {{header '<__compare/compare_partial_order_fallback.h>' is an implementation detail; #include '<compare>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_partial_order_fallback.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_partial_order_fallback.module.verify.cpp
index 2fce55e31b183..a6badd2280cf2 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_partial_order_fallback.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_partial_order_fallback.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_strong_order_fallback.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_strong_order_fallback.header.verify.cpp
new file mode 100644
index 0000000000000..d42b0022648dd
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_strong_order_fallback.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__compare/compare_strong_order_fallback.h>
+// expected-error at -1 {{header '<__compare/compare_strong_order_fallback.h>' is an implementation detail; #include '<compare>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_strong_order_fallback.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_strong_order_fallback.module.verify.cpp
index 6d8d1b925285d..5b0eb301147fa 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_strong_order_fallback.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_strong_order_fallback.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_three_way.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_three_way.header.verify.cpp
new file mode 100644
index 0000000000000..8532c63eff552
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_three_way.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__compare/compare_three_way.h>
+// expected-error at -1 {{header '<__compare/compare_three_way.h>' is an implementation detail; #include '<compare>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_three_way.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_three_way.module.verify.cpp
index e6428cec2c430..127dc1f1f02b9 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_three_way.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_three_way.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_three_way_result.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_three_way_result.header.verify.cpp
new file mode 100644
index 0000000000000..d61e6f52f927c
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_three_way_result.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__compare/compare_three_way_result.h>
+// expected-error at -1 {{header '<__compare/compare_three_way_result.h>' is an implementation detail; #include '<compare>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_three_way_result.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_three_way_result.module.verify.cpp
index 0e544ee7b3304..f9e705d331cfd 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_three_way_result.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_three_way_result.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_weak_order_fallback.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_weak_order_fallback.header.verify.cpp
new file mode 100644
index 0000000000000..42baefc47b052
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_weak_order_fallback.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__compare/compare_weak_order_fallback.h>
+// expected-error at -1 {{header '<__compare/compare_weak_order_fallback.h>' is an implementation detail; #include '<compare>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_weak_order_fallback.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_weak_order_fallback.module.verify.cpp
index 1a2db89d45eac..0b10238682cc0 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_weak_order_fallback.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/compare_weak_order_fallback.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/is_eq.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/is_eq.header.verify.cpp
new file mode 100644
index 0000000000000..997c92e082b2c
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/is_eq.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__compare/is_eq.h>
+// expected-error at -1 {{header '<__compare/is_eq.h>' is an implementation detail; #include '<compare>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/is_eq.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/is_eq.module.verify.cpp
index 4936b175f2bce..2bc316ef44ca5 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/compare/is_eq.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/is_eq.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/ordering.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/ordering.header.verify.cpp
new file mode 100644
index 0000000000000..591e28aadac44
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/ordering.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__compare/ordering.h>
+// expected-error at -1 {{header '<__compare/ordering.h>' is an implementation detail; #include '<compare>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/ordering.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/ordering.module.verify.cpp
index 2c0580c2154ac..b1950f9aa7848 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/compare/ordering.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/ordering.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/partial_order.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/partial_order.header.verify.cpp
new file mode 100644
index 0000000000000..2ca9892abd21e
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/partial_order.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__compare/partial_order.h>
+// expected-error at -1 {{header '<__compare/partial_order.h>' is an implementation detail; #include '<compare>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/partial_order.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/partial_order.module.verify.cpp
index 28b84a6849fda..2fae8df5af331 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/compare/partial_order.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/partial_order.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/strong_order.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/strong_order.header.verify.cpp
new file mode 100644
index 0000000000000..ead0143364828
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/strong_order.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__compare/strong_order.h>
+// expected-error at -1 {{header '<__compare/strong_order.h>' is an implementation detail; #include '<compare>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/strong_order.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/strong_order.module.verify.cpp
index 65141389d8a72..37bd26391f20f 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/compare/strong_order.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/strong_order.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/synth_three_way.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/synth_three_way.header.verify.cpp
new file mode 100644
index 0000000000000..32575c8365db2
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/synth_three_way.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__compare/synth_three_way.h>
+// expected-error at -1 {{header '<__compare/synth_three_way.h>' is an implementation detail; #include '<compare>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/synth_three_way.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/synth_three_way.module.verify.cpp
index 3fc2db9d67290..b2e41dcc30e95 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/compare/synth_three_way.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/synth_three_way.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/three_way_comparable.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/three_way_comparable.header.verify.cpp
new file mode 100644
index 0000000000000..6513adcd5c9cc
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/three_way_comparable.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__compare/three_way_comparable.h>
+// expected-error at -1 {{header '<__compare/three_way_comparable.h>' is an implementation detail; #include '<compare>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/three_way_comparable.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/three_way_comparable.module.verify.cpp
index 293d1e03cfbaf..f7481d6553792 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/compare/three_way_comparable.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/three_way_comparable.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/weak_order.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/weak_order.header.verify.cpp
new file mode 100644
index 0000000000000..b320f5bd4b81e
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/weak_order.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__compare/weak_order.h>
+// expected-error at -1 {{header '<__compare/weak_order.h>' is an implementation detail; #include '<compare>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/compare/weak_order.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/compare/weak_order.module.verify.cpp
index b4881734e76e3..5b969fb1c2ec2 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/compare/weak_order.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/compare/weak_order.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/arithmetic.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/arithmetic.header.verify.cpp
new file mode 100644
index 0000000000000..ea075862a4206
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/arithmetic.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__concepts/arithmetic.h>
+// expected-error at -1 {{header '<__concepts/arithmetic.h>' is an implementation detail; #include '<concepts>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/arithmetic.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/arithmetic.module.verify.cpp
index 47efebd9d4286..790de84d45045 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/arithmetic.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/arithmetic.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/assignable.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/assignable.header.verify.cpp
new file mode 100644
index 0000000000000..11428f004efff
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/assignable.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__concepts/assignable.h>
+// expected-error at -1 {{header '<__concepts/assignable.h>' is an implementation detail; #include '<concepts>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/assignable.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/assignable.module.verify.cpp
index 9b43bd2d03ffd..c3c93c681721c 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/assignable.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/assignable.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/boolean_testable.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/boolean_testable.header.verify.cpp
new file mode 100644
index 0000000000000..68184229bee7d
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/boolean_testable.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__concepts/boolean_testable.h>
+// expected-error at -1 {{header '<__concepts/boolean_testable.h>' is an implementation detail; #include '<concepts>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/boolean_testable.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/boolean_testable.module.verify.cpp
index 210c614d3ff92..e49593cda2a76 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/boolean_testable.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/boolean_testable.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/class_or_enum.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/class_or_enum.header.verify.cpp
new file mode 100644
index 0000000000000..dbb065c1a01e6
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/class_or_enum.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__concepts/class_or_enum.h>
+// expected-error at -1 {{header '<__concepts/class_or_enum.h>' is an implementation detail; #include '<concepts>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/class_or_enum.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/class_or_enum.module.verify.cpp
index 8f421ab5fa88f..131cb6262a831 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/class_or_enum.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/class_or_enum.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/common_reference_with.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/common_reference_with.header.verify.cpp
new file mode 100644
index 0000000000000..9e665748a3e55
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/common_reference_with.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__concepts/common_reference_with.h>
+// expected-error at -1 {{header '<__concepts/common_reference_with.h>' is an implementation detail; #include '<concepts>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/common_reference_with.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/common_reference_with.module.verify.cpp
index 243403be7cdf7..f5f72c5738739 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/common_reference_with.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/common_reference_with.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/common_with.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/common_with.header.verify.cpp
new file mode 100644
index 0000000000000..eb25f5aa50732
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/common_with.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__concepts/common_with.h>
+// expected-error at -1 {{header '<__concepts/common_with.h>' is an implementation detail; #include '<concepts>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/common_with.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/common_with.module.verify.cpp
index 2683319677a5c..b14f6a8097eed 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/common_with.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/common_with.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/constructible.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/constructible.header.verify.cpp
new file mode 100644
index 0000000000000..fefb326aecc8c
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/constructible.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__concepts/constructible.h>
+// expected-error at -1 {{header '<__concepts/constructible.h>' is an implementation detail; #include '<concepts>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/constructible.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/constructible.module.verify.cpp
index bb81a2a491c83..03e6e659319cf 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/constructible.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/constructible.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/convertible_to.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/convertible_to.header.verify.cpp
new file mode 100644
index 0000000000000..22ef84b2c90c2
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/convertible_to.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__concepts/convertible_to.h>
+// expected-error at -1 {{header '<__concepts/convertible_to.h>' is an implementation detail; #include '<concepts>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/convertible_to.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/convertible_to.module.verify.cpp
index 7ac3fb62d9b90..81cbb69942c27 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/convertible_to.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/convertible_to.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/copyable.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/copyable.header.verify.cpp
new file mode 100644
index 0000000000000..31f164eb1120c
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/copyable.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__concepts/copyable.h>
+// expected-error at -1 {{header '<__concepts/copyable.h>' is an implementation detail; #include '<concepts>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/copyable.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/copyable.module.verify.cpp
index 9aaf8e5d2804a..1f1b63f799a26 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/copyable.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/copyable.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/derived_from.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/derived_from.header.verify.cpp
new file mode 100644
index 0000000000000..a34159ec95c85
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/derived_from.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__concepts/derived_from.h>
+// expected-error at -1 {{header '<__concepts/derived_from.h>' is an implementation detail; #include '<concepts>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/derived_from.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/derived_from.module.verify.cpp
index 6ef8f2bbdecb9..71a4be3a47ab5 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/derived_from.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/derived_from.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/destructible.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/destructible.header.verify.cpp
new file mode 100644
index 0000000000000..a24511b8350c3
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/destructible.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__concepts/destructible.h>
+// expected-error at -1 {{header '<__concepts/destructible.h>' is an implementation detail; #include '<concepts>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/destructible.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/destructible.module.verify.cpp
index 877e5e7965670..32b187a7405dd 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/destructible.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/destructible.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/
diff erent_from.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/
diff erent_from.header.verify.cpp
new file mode 100644
index 0000000000000..86792d26bc68e
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/
diff erent_from.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__concepts/
diff erent_from.h>
+// expected-error at -1 {{header '<__concepts/
diff erent_from.h>' is an implementation detail; #include '<concepts>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/
diff erent_from.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/
diff erent_from.module.verify.cpp
index 2eb42322beb72..01a0a7b7f1dad 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/
diff erent_from.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/
diff erent_from.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/equality_comparable.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/equality_comparable.header.verify.cpp
new file mode 100644
index 0000000000000..3ccd89cf47c8c
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/equality_comparable.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__concepts/equality_comparable.h>
+// expected-error at -1 {{header '<__concepts/equality_comparable.h>' is an implementation detail; #include '<concepts>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/equality_comparable.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/equality_comparable.module.verify.cpp
index 9c6e3bd0b4431..a365146683924 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/equality_comparable.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/equality_comparable.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/invocable.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/invocable.header.verify.cpp
new file mode 100644
index 0000000000000..3aa9f08e95eb3
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/invocable.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__concepts/invocable.h>
+// expected-error at -1 {{header '<__concepts/invocable.h>' is an implementation detail; #include '<concepts>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/invocable.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/invocable.module.verify.cpp
index b34e615834a35..b1b844363df23 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/invocable.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/invocable.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/movable.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/movable.header.verify.cpp
new file mode 100644
index 0000000000000..cb310b1ab7723
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/movable.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__concepts/movable.h>
+// expected-error at -1 {{header '<__concepts/movable.h>' is an implementation detail; #include '<concepts>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/movable.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/movable.module.verify.cpp
index a8f4efdf0c14c..6527ff6ff2cdc 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/movable.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/movable.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/predicate.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/predicate.header.verify.cpp
new file mode 100644
index 0000000000000..49b0db57b2be9
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/predicate.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__concepts/predicate.h>
+// expected-error at -1 {{header '<__concepts/predicate.h>' is an implementation detail; #include '<concepts>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/predicate.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/predicate.module.verify.cpp
index 2c4db9d85b462..482e73f8c2977 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/predicate.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/predicate.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/regular.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/regular.header.verify.cpp
new file mode 100644
index 0000000000000..a2750fb4e1d2d
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/regular.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__concepts/regular.h>
+// expected-error at -1 {{header '<__concepts/regular.h>' is an implementation detail; #include '<concepts>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/regular.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/regular.module.verify.cpp
index 0a1186a9ecfd8..91c5ebfa62882 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/regular.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/regular.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/relation.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/relation.header.verify.cpp
new file mode 100644
index 0000000000000..6a9ee6e40b67e
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/relation.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__concepts/relation.h>
+// expected-error at -1 {{header '<__concepts/relation.h>' is an implementation detail; #include '<concepts>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/relation.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/relation.module.verify.cpp
index ae6b13c6a6e12..6da37861a6cda 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/relation.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/relation.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/same_as.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/same_as.header.verify.cpp
new file mode 100644
index 0000000000000..c5bf25f94d61e
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/same_as.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__concepts/same_as.h>
+// expected-error at -1 {{header '<__concepts/same_as.h>' is an implementation detail; #include '<concepts>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/same_as.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/same_as.module.verify.cpp
index 561643b9be77e..39e8eb243d557 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/same_as.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/same_as.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/semiregular.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/semiregular.header.verify.cpp
new file mode 100644
index 0000000000000..6acec4451d698
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/semiregular.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__concepts/semiregular.h>
+// expected-error at -1 {{header '<__concepts/semiregular.h>' is an implementation detail; #include '<concepts>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/semiregular.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/semiregular.module.verify.cpp
index add480ebf7459..ed56ed767d171 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/semiregular.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/semiregular.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/swappable.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/swappable.header.verify.cpp
new file mode 100644
index 0000000000000..e7a11a2b5b8b2
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/swappable.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__concepts/swappable.h>
+// expected-error at -1 {{header '<__concepts/swappable.h>' is an implementation detail; #include '<concepts>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/swappable.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/swappable.module.verify.cpp
index dae0de3b089be..e8da3af8c8fea 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/swappable.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/swappable.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/totally_ordered.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/totally_ordered.header.verify.cpp
new file mode 100644
index 0000000000000..ad9b83f1db647
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/totally_ordered.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__concepts/totally_ordered.h>
+// expected-error at -1 {{header '<__concepts/totally_ordered.h>' is an implementation detail; #include '<concepts>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/totally_ordered.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/totally_ordered.module.verify.cpp
index 0e07ad79b03f0..3c046b91a58d3 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/concepts/totally_ordered.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/concepts/totally_ordered.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/coroutine_handle.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/coroutine_handle.header.verify.cpp
new file mode 100644
index 0000000000000..29583e59610e9
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/coroutine_handle.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__coroutine/coroutine_handle.h>
+// expected-error at -1 {{header '<__coroutine/coroutine_handle.h>' is an implementation detail; #include '<coroutine>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/coroutine_handle.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/coroutine_handle.module.verify.cpp
index e78f90e646020..5f7b2b40c5966 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/coroutine_handle.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/coroutine_handle.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/coroutine_traits.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/coroutine_traits.header.verify.cpp
new file mode 100644
index 0000000000000..3dbed44862d0c
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/coroutine_traits.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__coroutine/coroutine_traits.h>
+// expected-error at -1 {{header '<__coroutine/coroutine_traits.h>' is an implementation detail; #include '<coroutine>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/coroutine_traits.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/coroutine_traits.module.verify.cpp
index 4af6ec50ba038..64cda6ca7102d 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/coroutine_traits.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/coroutine_traits.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/noop_coroutine_handle.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/noop_coroutine_handle.header.verify.cpp
new file mode 100644
index 0000000000000..e8a0c6685e881
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/noop_coroutine_handle.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__coroutine/noop_coroutine_handle.h>
+// expected-error at -1 {{header '<__coroutine/noop_coroutine_handle.h>' is an implementation detail; #include '<coroutine>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/noop_coroutine_handle.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/noop_coroutine_handle.module.verify.cpp
index 6dc58c4515128..4bbfbdb0dda96 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/noop_coroutine_handle.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/noop_coroutine_handle.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/trivial_awaitables.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/trivial_awaitables.header.verify.cpp
new file mode 100644
index 0000000000000..151f8374b2017
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/trivial_awaitables.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__coroutine/trivial_awaitables.h>
+// expected-error at -1 {{header '<__coroutine/trivial_awaitables.h>' is an implementation detail; #include '<coroutine>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/trivial_awaitables.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/trivial_awaitables.module.verify.cpp
index 0f5e6b1229df0..05fb2b5919aa3 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/trivial_awaitables.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/coroutine/trivial_awaitables.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/errc.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/errc.module.verify.cpp
index 16dbd962458b3..8489223bce611 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/errc.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/errc.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/copy_options.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/copy_options.header.verify.cpp
new file mode 100644
index 0000000000000..36dba7c74e090
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/copy_options.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__filesystem/copy_options.h>
+// expected-error at -1 {{header '<__filesystem/copy_options.h>' is an implementation detail; #include '<filesystem>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/copy_options.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/copy_options.module.verify.cpp
index 064a034a9dd24..282930eb4a203 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/copy_options.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/copy_options.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_entry.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_entry.header.verify.cpp
new file mode 100644
index 0000000000000..c35cbb9da96ee
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_entry.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__filesystem/directory_entry.h>
+// expected-error at -1 {{header '<__filesystem/directory_entry.h>' is an implementation detail; #include '<filesystem>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_entry.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_entry.module.verify.cpp
index 6fef616cd53b4..2e8dc7c529948 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_entry.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_entry.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_iterator.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_iterator.header.verify.cpp
new file mode 100644
index 0000000000000..4cbcb480ccb27
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_iterator.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__filesystem/directory_iterator.h>
+// expected-error at -1 {{header '<__filesystem/directory_iterator.h>' is an implementation detail; #include '<filesystem>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_iterator.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_iterator.module.verify.cpp
index 6d01cd743d855..44261b743544b 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_iterator.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_iterator.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_options.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_options.header.verify.cpp
new file mode 100644
index 0000000000000..a03a3da020144
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_options.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__filesystem/directory_options.h>
+// expected-error at -1 {{header '<__filesystem/directory_options.h>' is an implementation detail; #include '<filesystem>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_options.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_options.module.verify.cpp
index 2316023813f0b..40a4ee2191674 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_options.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/directory_options.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_status.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_status.header.verify.cpp
new file mode 100644
index 0000000000000..5bb5cee9c0d33
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_status.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__filesystem/file_status.h>
+// expected-error at -1 {{header '<__filesystem/file_status.h>' is an implementation detail; #include '<filesystem>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_status.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_status.module.verify.cpp
index 9419bdb2d5730..5e839a2794df9 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_status.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_status.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_time_type.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_time_type.header.verify.cpp
new file mode 100644
index 0000000000000..f03a76815e671
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_time_type.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__filesystem/file_time_type.h>
+// expected-error at -1 {{header '<__filesystem/file_time_type.h>' is an implementation detail; #include '<filesystem>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_time_type.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_time_type.module.verify.cpp
index ac940261c0964..664424325c30d 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_time_type.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_time_type.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_type.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_type.header.verify.cpp
new file mode 100644
index 0000000000000..6b6a2f9e6ea54
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_type.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__filesystem/file_type.h>
+// expected-error at -1 {{header '<__filesystem/file_type.h>' is an implementation detail; #include '<filesystem>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_type.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_type.module.verify.cpp
index 70b5d9792c450..8a2427acdf303 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_type.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/file_type.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/filesystem_error.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/filesystem_error.header.verify.cpp
new file mode 100644
index 0000000000000..0d586625f74f9
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/filesystem_error.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__filesystem/filesystem_error.h>
+// expected-error at -1 {{header '<__filesystem/filesystem_error.h>' is an implementation detail; #include '<filesystem>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/filesystem_error.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/filesystem_error.module.verify.cpp
index 095a71569ff5a..f82dda31d5476 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/filesystem_error.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/filesystem_error.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/operations.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/operations.header.verify.cpp
new file mode 100644
index 0000000000000..f0f841e34cb98
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/operations.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__filesystem/operations.h>
+// expected-error at -1 {{header '<__filesystem/operations.h>' is an implementation detail; #include '<filesystem>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/operations.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/operations.module.verify.cpp
index dc156cd5145b2..9a7c743b37313 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/operations.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/operations.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/path.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/path.header.verify.cpp
new file mode 100644
index 0000000000000..49cc42ddd043f
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/path.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__filesystem/path.h>
+// expected-error at -1 {{header '<__filesystem/path.h>' is an implementation detail; #include '<filesystem>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/path.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/path.module.verify.cpp
index f232bf7b98f89..b83560e05d0df 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/path.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/path.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/path_iterator.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/path_iterator.header.verify.cpp
new file mode 100644
index 0000000000000..b6ad11c3d5ebb
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/path_iterator.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__filesystem/path_iterator.h>
+// expected-error at -1 {{header '<__filesystem/path_iterator.h>' is an implementation detail; #include '<filesystem>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/path_iterator.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/path_iterator.module.verify.cpp
index 71e1928d2508e..21e98a7a7d157 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/path_iterator.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/path_iterator.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/perm_options.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/perm_options.header.verify.cpp
new file mode 100644
index 0000000000000..a7643248b42e7
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/perm_options.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__filesystem/perm_options.h>
+// expected-error at -1 {{header '<__filesystem/perm_options.h>' is an implementation detail; #include '<filesystem>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/perm_options.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/perm_options.module.verify.cpp
index 8a8c25edea985..6b81e20bc8193 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/perm_options.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/perm_options.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/perms.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/perms.header.verify.cpp
new file mode 100644
index 0000000000000..c33352994d1af
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/perms.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__filesystem/perms.h>
+// expected-error at -1 {{header '<__filesystem/perms.h>' is an implementation detail; #include '<filesystem>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/perms.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/perms.module.verify.cpp
index 0df582305e8a9..80e5d35fef400 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/perms.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/perms.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/recursive_directory_iterator.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/recursive_directory_iterator.header.verify.cpp
new file mode 100644
index 0000000000000..79db5766377d7
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/recursive_directory_iterator.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__filesystem/recursive_directory_iterator.h>
+// expected-error at -1 {{header '<__filesystem/recursive_directory_iterator.h>' is an implementation detail; #include '<filesystem>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/recursive_directory_iterator.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/recursive_directory_iterator.module.verify.cpp
index 73b7de8f8196d..6c28e59579653 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/recursive_directory_iterator.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/recursive_directory_iterator.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/space_info.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/space_info.header.verify.cpp
new file mode 100644
index 0000000000000..5f3e297eae7db
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/space_info.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__filesystem/space_info.h>
+// expected-error at -1 {{header '<__filesystem/space_info.h>' is an implementation detail; #include '<filesystem>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/space_info.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/space_info.module.verify.cpp
index d5f7586ca5d2b..598a200c41d34 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/space_info.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/space_info.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/u8path.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/u8path.header.verify.cpp
new file mode 100644
index 0000000000000..e62833aa2853c
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/u8path.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__filesystem/u8path.h>
+// expected-error at -1 {{header '<__filesystem/u8path.h>' is an implementation detail; #include '<filesystem>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/u8path.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/u8path.module.verify.cpp
index 5f54ab6908f20..107b00a02b92d 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/u8path.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/filesystem/u8path.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/format_arg.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_arg.header.verify.cpp
new file mode 100644
index 0000000000000..80ac96bbfd133
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_arg.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__format/format_arg.h>
+// expected-error at -1 {{header '<__format/format_arg.h>' is an implementation detail; #include '<format>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/format_arg.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_arg.module.verify.cpp
index 24175de24ab2d..907d41c19acbd 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/format/format_arg.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_arg.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/format_args.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_args.header.verify.cpp
new file mode 100644
index 0000000000000..1c70397febf18
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_args.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__format/format_args.h>
+// expected-error at -1 {{header '<__format/format_args.h>' is an implementation detail; #include '<format>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/format_args.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_args.module.verify.cpp
index bbf74ba48e69f..975e45b4fd9db 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/format/format_args.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_args.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/format_context.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_context.header.verify.cpp
new file mode 100644
index 0000000000000..d0f5cebaeca68
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_context.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__format/format_context.h>
+// expected-error at -1 {{header '<__format/format_context.h>' is an implementation detail; #include '<format>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/format_context.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_context.module.verify.cpp
index beb48ea9237c8..68aa967058c4d 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/format/format_context.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_context.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/format_error.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_error.header.verify.cpp
new file mode 100644
index 0000000000000..151835c7b5d21
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_error.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__format/format_error.h>
+// expected-error at -1 {{header '<__format/format_error.h>' is an implementation detail; #include '<format>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/format_error.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_error.module.verify.cpp
index d1efdc16d634c..f6af9432c8ead 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/format/format_error.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_error.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/format_fwd.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_fwd.header.verify.cpp
new file mode 100644
index 0000000000000..3b6cca65b21bd
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_fwd.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__format/format_fwd.h>
+// expected-error at -1 {{header '<__format/format_fwd.h>' is an implementation detail; #include '<format>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/format_fwd.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_fwd.module.verify.cpp
index f52877da2eaaa..8037c4d9603b4 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/format/format_fwd.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_fwd.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/format_parse_context.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_parse_context.header.verify.cpp
new file mode 100644
index 0000000000000..5bdaef58ae7d0
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_parse_context.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__format/format_parse_context.h>
+// expected-error at -1 {{header '<__format/format_parse_context.h>' is an implementation detail; #include '<format>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/format_parse_context.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_parse_context.module.verify.cpp
index 24c08941b62a4..308f66e8c570f 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/format/format_parse_context.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_parse_context.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/format_string.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_string.header.verify.cpp
new file mode 100644
index 0000000000000..de571ad9e6bf9
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_string.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__format/format_string.h>
+// expected-error at -1 {{header '<__format/format_string.h>' is an implementation detail; #include '<format>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/format_string.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_string.module.verify.cpp
index a8856c5543f1e..c331785f36777 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/format/format_string.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_string.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/format_to_n_result.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_to_n_result.header.verify.cpp
new file mode 100644
index 0000000000000..a471a7fe246ca
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_to_n_result.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__format/format_to_n_result.h>
+// expected-error at -1 {{header '<__format/format_to_n_result.h>' is an implementation detail; #include '<format>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/format_to_n_result.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_to_n_result.module.verify.cpp
index 86903a6056964..5f2797da6ea16 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/format/format_to_n_result.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/format_to_n_result.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter.header.verify.cpp
new file mode 100644
index 0000000000000..828df06fbbcb8
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__format/formatter.h>
+// expected-error at -1 {{header '<__format/formatter.h>' is an implementation detail; #include '<format>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter.module.verify.cpp
index 1c0b1cb86d54e..4a5b4b380f6bb 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_bool.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_bool.header.verify.cpp
new file mode 100644
index 0000000000000..f484f3f414e3a
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_bool.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__format/formatter_bool.h>
+// expected-error at -1 {{header '<__format/formatter_bool.h>' is an implementation detail; #include '<format>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_bool.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_bool.module.verify.cpp
index 7fcb99b683cdc..9cd9dfa37a16f 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_bool.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_bool.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_char.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_char.header.verify.cpp
new file mode 100644
index 0000000000000..5642298e9ae89
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_char.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__format/formatter_char.h>
+// expected-error at -1 {{header '<__format/formatter_char.h>' is an implementation detail; #include '<format>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_char.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_char.module.verify.cpp
index cc07ae4ed7cbd..14f631df85efb 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_char.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_char.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_floating_point.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_floating_point.header.verify.cpp
new file mode 100644
index 0000000000000..6405f32be06b0
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_floating_point.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__format/formatter_floating_point.h>
+// expected-error at -1 {{header '<__format/formatter_floating_point.h>' is an implementation detail; #include '<format>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_floating_point.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_floating_point.module.verify.cpp
index 35f19dcf76a73..f8d44c4578957 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_floating_point.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_floating_point.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_integer.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_integer.header.verify.cpp
new file mode 100644
index 0000000000000..221a9f4e9859d
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_integer.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__format/formatter_integer.h>
+// expected-error at -1 {{header '<__format/formatter_integer.h>' is an implementation detail; #include '<format>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_integer.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_integer.module.verify.cpp
index 44890215c181e..33e937a62e5a0 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_integer.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_integer.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_integral.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_integral.header.verify.cpp
new file mode 100644
index 0000000000000..521cd0c59c65e
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_integral.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__format/formatter_integral.h>
+// expected-error at -1 {{header '<__format/formatter_integral.h>' is an implementation detail; #include '<format>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_integral.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_integral.module.verify.cpp
index 0ad52c7e316b0..b7d5e11127d19 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_integral.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_integral.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_pointer.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_pointer.header.verify.cpp
new file mode 100644
index 0000000000000..6a5a7e646d1f1
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_pointer.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__format/formatter_pointer.h>
+// expected-error at -1 {{header '<__format/formatter_pointer.h>' is an implementation detail; #include '<format>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_pointer.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_pointer.module.verify.cpp
index abb82de85f37a..6ade61b418497 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_pointer.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_pointer.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_string.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_string.header.verify.cpp
new file mode 100644
index 0000000000000..5927330281159
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_string.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__format/formatter_string.h>
+// expected-error at -1 {{header '<__format/formatter_string.h>' is an implementation detail; #include '<format>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_string.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_string.module.verify.cpp
index 019de969168c9..fac1465d028e9 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_string.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/formatter_string.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/parser_std_format_spec.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/parser_std_format_spec.header.verify.cpp
new file mode 100644
index 0000000000000..9349e041e7f1f
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/parser_std_format_spec.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__format/parser_std_format_spec.h>
+// expected-error at -1 {{header '<__format/parser_std_format_spec.h>' is an implementation detail; #include '<format>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/format/parser_std_format_spec.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/format/parser_std_format_spec.module.verify.cpp
index 5936589d8c0fd..e846e765e89bd 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/format/parser_std_format_spec.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/format/parser_std_format_spec.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/binary_function.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/binary_function.header.verify.cpp
new file mode 100644
index 0000000000000..401c0ff5118af
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/binary_function.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/binary_function.h>
+// expected-error at -1 {{header '<__functional/binary_function.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/binary_function.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/binary_function.module.verify.cpp
index 47e3fe1baf28d..46be85ab992df 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/binary_function.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/binary_function.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/binary_negate.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/binary_negate.header.verify.cpp
new file mode 100644
index 0000000000000..7f6d5404520e9
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/binary_negate.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/binary_negate.h>
+// expected-error at -1 {{header '<__functional/binary_negate.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/binary_negate.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/binary_negate.module.verify.cpp
index b444182fab862..4c9210165b664 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/binary_negate.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/binary_negate.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/bind.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/bind.header.verify.cpp
new file mode 100644
index 0000000000000..8d9b3c13676f4
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/bind.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/bind.h>
+// expected-error at -1 {{header '<__functional/bind.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/bind.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/bind.module.verify.cpp
index ac8ad2516ea9c..b8616081b7ea1 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/bind.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/bind.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/bind_back.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/bind_back.header.verify.cpp
new file mode 100644
index 0000000000000..adc83b6111fc4
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/bind_back.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/bind_back.h>
+// expected-error at -1 {{header '<__functional/bind_back.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/bind_back.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/bind_back.module.verify.cpp
index a05c0d0307e78..8e2c5e494dfb5 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/bind_back.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/bind_back.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/bind_front.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/bind_front.header.verify.cpp
new file mode 100644
index 0000000000000..2faadd5884482
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/bind_front.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/bind_front.h>
+// expected-error at -1 {{header '<__functional/bind_front.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/bind_front.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/bind_front.module.verify.cpp
index 121bc6cd6b768..4b2f25f93b941 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/bind_front.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/bind_front.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/binder1st.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/binder1st.header.verify.cpp
new file mode 100644
index 0000000000000..56afd77608740
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/binder1st.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/binder1st.h>
+// expected-error at -1 {{header '<__functional/binder1st.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/binder1st.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/binder1st.module.verify.cpp
index 302b63b864888..c639813b97859 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/binder1st.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/binder1st.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/binder2nd.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/binder2nd.header.verify.cpp
new file mode 100644
index 0000000000000..0ab1d945b6767
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/binder2nd.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/binder2nd.h>
+// expected-error at -1 {{header '<__functional/binder2nd.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/binder2nd.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/binder2nd.module.verify.cpp
index 4f9b1df5507a1..4f2ba80918727 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/binder2nd.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/binder2nd.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/compose.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/compose.header.verify.cpp
new file mode 100644
index 0000000000000..ececb2d1cc49b
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/compose.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/compose.h>
+// expected-error at -1 {{header '<__functional/compose.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/compose.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/compose.module.verify.cpp
index e4e665f8f631b..019b19edb8060 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/compose.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/compose.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/default_searcher.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/default_searcher.header.verify.cpp
new file mode 100644
index 0000000000000..5e3f5f872500b
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/default_searcher.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/default_searcher.h>
+// expected-error at -1 {{header '<__functional/default_searcher.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/default_searcher.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/default_searcher.module.verify.cpp
index e749a57f2f0cc..7fe174a3f4a5d 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/default_searcher.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/default_searcher.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/function.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/function.header.verify.cpp
new file mode 100644
index 0000000000000..d9f9cec779eb2
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/function.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/function.h>
+// expected-error at -1 {{header '<__functional/function.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/function.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/function.module.verify.cpp
index fab65edbd4f5d..16bd1ddeb09c9 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/function.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/function.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/hash.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/hash.header.verify.cpp
new file mode 100644
index 0000000000000..eb110560a8010
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/hash.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/hash.h>
+// expected-error at -1 {{header '<__functional/hash.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/hash.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/hash.module.verify.cpp
index 73ed2dc9e702c..ecb2c0a39fa01 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/hash.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/hash.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/identity.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/identity.header.verify.cpp
new file mode 100644
index 0000000000000..54c96015e8a27
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/identity.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/identity.h>
+// expected-error at -1 {{header '<__functional/identity.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/identity.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/identity.module.verify.cpp
index 986c3c04ff6cb..b795b5ddc6e18 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/identity.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/identity.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/invoke.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/invoke.header.verify.cpp
new file mode 100644
index 0000000000000..6b611f2544214
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/invoke.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/invoke.h>
+// expected-error at -1 {{header '<__functional/invoke.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/invoke.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/invoke.module.verify.cpp
index 21d2dca9f3752..a368dc1ce0356 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/invoke.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/invoke.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/is_transparent.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/is_transparent.header.verify.cpp
new file mode 100644
index 0000000000000..997940455e89f
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/is_transparent.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/is_transparent.h>
+// expected-error at -1 {{header '<__functional/is_transparent.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/is_transparent.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/is_transparent.module.verify.cpp
index 602a00a7fd99d..3f226199bae5a 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/is_transparent.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/is_transparent.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/mem_fn.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/mem_fn.header.verify.cpp
new file mode 100644
index 0000000000000..d63b9648fc237
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/mem_fn.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/mem_fn.h>
+// expected-error at -1 {{header '<__functional/mem_fn.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/mem_fn.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/mem_fn.module.verify.cpp
index 5935fe230ddf2..0d8e9c4816860 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/mem_fn.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/mem_fn.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/mem_fun_ref.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/mem_fun_ref.header.verify.cpp
new file mode 100644
index 0000000000000..c744aba697e5c
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/mem_fun_ref.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/mem_fun_ref.h>
+// expected-error at -1 {{header '<__functional/mem_fun_ref.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/mem_fun_ref.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/mem_fun_ref.module.verify.cpp
index 17d32c30d51b2..f28a1670f7ddd 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/mem_fun_ref.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/mem_fun_ref.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/not_fn.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/not_fn.header.verify.cpp
new file mode 100644
index 0000000000000..cf4a9f6b61c5d
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/not_fn.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/not_fn.h>
+// expected-error at -1 {{header '<__functional/not_fn.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/not_fn.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/not_fn.module.verify.cpp
index 809cd79203f15..d0c50107d5128 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/not_fn.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/not_fn.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/operations.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/operations.header.verify.cpp
new file mode 100644
index 0000000000000..cd6afcfa75830
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/operations.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/operations.h>
+// expected-error at -1 {{header '<__functional/operations.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/operations.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/operations.module.verify.cpp
index 15f76c3adc6cc..5f377080cb74c 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/operations.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/operations.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/perfect_forward.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/perfect_forward.header.verify.cpp
new file mode 100644
index 0000000000000..43310be8c17bb
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/perfect_forward.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/perfect_forward.h>
+// expected-error at -1 {{header '<__functional/perfect_forward.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/perfect_forward.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/perfect_forward.module.verify.cpp
index 7663d902955bf..a08a3cf1943cc 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/perfect_forward.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/perfect_forward.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/pointer_to_binary_function.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/pointer_to_binary_function.header.verify.cpp
new file mode 100644
index 0000000000000..b1a6c605f2b7b
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/pointer_to_binary_function.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/pointer_to_binary_function.h>
+// expected-error at -1 {{header '<__functional/pointer_to_binary_function.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/pointer_to_binary_function.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/pointer_to_binary_function.module.verify.cpp
index 3d7f4e8658fed..f98e81925cc69 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/pointer_to_binary_function.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/pointer_to_binary_function.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/pointer_to_unary_function.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/pointer_to_unary_function.header.verify.cpp
new file mode 100644
index 0000000000000..1f6c9bcf6fb29
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/pointer_to_unary_function.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/pointer_to_unary_function.h>
+// expected-error at -1 {{header '<__functional/pointer_to_unary_function.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/pointer_to_unary_function.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/pointer_to_unary_function.module.verify.cpp
index 2b6d36bbc8f1d..7196117d08e37 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/pointer_to_unary_function.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/pointer_to_unary_function.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/ranges_operations.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/ranges_operations.header.verify.cpp
new file mode 100644
index 0000000000000..eea6415a8bc21
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/ranges_operations.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/ranges_operations.h>
+// expected-error at -1 {{header '<__functional/ranges_operations.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/ranges_operations.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/ranges_operations.module.verify.cpp
index 17c81528fee63..17cb624fc70fb 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/ranges_operations.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/ranges_operations.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/reference_wrapper.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/reference_wrapper.header.verify.cpp
new file mode 100644
index 0000000000000..d7119c921597d
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/reference_wrapper.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/reference_wrapper.h>
+// expected-error at -1 {{header '<__functional/reference_wrapper.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/reference_wrapper.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/reference_wrapper.module.verify.cpp
index 2b9da6b9c7267..06b3bdd76d5ee 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/reference_wrapper.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/reference_wrapper.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/unary_function.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/unary_function.header.verify.cpp
new file mode 100644
index 0000000000000..e77b5bba206fc
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/unary_function.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/unary_function.h>
+// expected-error at -1 {{header '<__functional/unary_function.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/unary_function.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/unary_function.module.verify.cpp
index ed23b26f812aa..aa2b688d277aa 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/unary_function.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/unary_function.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/unary_negate.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/unary_negate.header.verify.cpp
new file mode 100644
index 0000000000000..fefcde18130ab
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/unary_negate.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/unary_negate.h>
+// expected-error at -1 {{header '<__functional/unary_negate.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/unary_negate.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/unary_negate.module.verify.cpp
index fb7fd889d09c4..0b1a9761f6393 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/unary_negate.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/unary_negate.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/unwrap_ref.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/unwrap_ref.header.verify.cpp
new file mode 100644
index 0000000000000..93225a6690491
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/unwrap_ref.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/unwrap_ref.h>
+// expected-error at -1 {{header '<__functional/unwrap_ref.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/unwrap_ref.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/unwrap_ref.module.verify.cpp
index 174000fd4f95b..804b2fb2221d3 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/unwrap_ref.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/unwrap_ref.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/weak_result_type.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/weak_result_type.header.verify.cpp
new file mode 100644
index 0000000000000..d8cf4e5ecf542
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/weak_result_type.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__functional/weak_result_type.h>
+// expected-error at -1 {{header '<__functional/weak_result_type.h>' is an implementation detail; #include '<functional>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/functional/weak_result_type.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/functional/weak_result_type.module.verify.cpp
index 4153892984182..8cc289342d266 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/functional/weak_result_type.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/functional/weak_result_type.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ios/fpos.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ios/fpos.header.verify.cpp
new file mode 100644
index 0000000000000..92043df348517
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ios/fpos.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ios/fpos.h>
+// expected-error at -1 {{header '<__ios/fpos.h>' is an implementation detail; #include '<ios>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ios/fpos.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ios/fpos.module.verify.cpp
index b89409820c57e..e93049958cddd 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ios/fpos.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ios/fpos.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/access.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/access.header.verify.cpp
new file mode 100644
index 0000000000000..d7f8a43f17ad0
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/access.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/access.h>
+// expected-error at -1 {{header '<__iterator/access.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/access.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/access.module.verify.cpp
index 4b18d93d1b134..c0caedb4a4025 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/access.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/access.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/advance.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/advance.header.verify.cpp
new file mode 100644
index 0000000000000..f19c2400a7a05
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/advance.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/advance.h>
+// expected-error at -1 {{header '<__iterator/advance.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/advance.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/advance.module.verify.cpp
index 4742547c1e058..9c2836c03c222 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/advance.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/advance.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/back_insert_iterator.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/back_insert_iterator.header.verify.cpp
new file mode 100644
index 0000000000000..6b328bd28b1b2
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/back_insert_iterator.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/back_insert_iterator.h>
+// expected-error at -1 {{header '<__iterator/back_insert_iterator.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/back_insert_iterator.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/back_insert_iterator.module.verify.cpp
index 2997b5f83beb9..a1a49b9c9adbb 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/back_insert_iterator.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/back_insert_iterator.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/common_iterator.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/common_iterator.header.verify.cpp
new file mode 100644
index 0000000000000..b0f7305a390bf
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/common_iterator.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/common_iterator.h>
+// expected-error at -1 {{header '<__iterator/common_iterator.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/common_iterator.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/common_iterator.module.verify.cpp
index c4b59a321f19d..db1f3083876ea 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/common_iterator.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/common_iterator.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/concepts.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/concepts.header.verify.cpp
new file mode 100644
index 0000000000000..f90fbb0b50895
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/concepts.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/concepts.h>
+// expected-error at -1 {{header '<__iterator/concepts.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/concepts.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/concepts.module.verify.cpp
index 4890495a7a991..6e34ff0c3bd1f 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/concepts.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/concepts.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/counted_iterator.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/counted_iterator.header.verify.cpp
new file mode 100644
index 0000000000000..4b6b4386f64d4
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/counted_iterator.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/counted_iterator.h>
+// expected-error at -1 {{header '<__iterator/counted_iterator.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/counted_iterator.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/counted_iterator.module.verify.cpp
index 61cd06f92d6e8..a8aedc6999089 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/counted_iterator.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/counted_iterator.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/data.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/data.header.verify.cpp
new file mode 100644
index 0000000000000..645aa54f7958c
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/data.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/data.h>
+// expected-error at -1 {{header '<__iterator/data.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/data.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/data.module.verify.cpp
index 0bda463ec0452..eabd8e712ba26 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/data.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/data.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/default_sentinel.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/default_sentinel.header.verify.cpp
new file mode 100644
index 0000000000000..9728d9c2f6d91
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/default_sentinel.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/default_sentinel.h>
+// expected-error at -1 {{header '<__iterator/default_sentinel.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/default_sentinel.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/default_sentinel.module.verify.cpp
index 88cf57a911f39..1f0f817c0ae19 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/default_sentinel.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/default_sentinel.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/distance.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/distance.header.verify.cpp
new file mode 100644
index 0000000000000..8ad2c3f631dec
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/distance.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/distance.h>
+// expected-error at -1 {{header '<__iterator/distance.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/distance.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/distance.module.verify.cpp
index 9618675f8e571..b9df11c968667 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/distance.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/distance.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/empty.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/empty.header.verify.cpp
new file mode 100644
index 0000000000000..987f564357e1a
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/empty.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/empty.h>
+// expected-error at -1 {{header '<__iterator/empty.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/empty.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/empty.module.verify.cpp
index 316c9b71a7294..5543561643d57 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/empty.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/empty.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/erase_if_container.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/erase_if_container.header.verify.cpp
new file mode 100644
index 0000000000000..8d429ae86f709
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/erase_if_container.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/erase_if_container.h>
+// expected-error at -1 {{header '<__iterator/erase_if_container.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/erase_if_container.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/erase_if_container.module.verify.cpp
index 10583ba8cb711..b1ac8ff129557 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/erase_if_container.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/erase_if_container.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/front_insert_iterator.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/front_insert_iterator.header.verify.cpp
new file mode 100644
index 0000000000000..411189d26b185
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/front_insert_iterator.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/front_insert_iterator.h>
+// expected-error at -1 {{header '<__iterator/front_insert_iterator.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/front_insert_iterator.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/front_insert_iterator.module.verify.cpp
index bf3bdb3c33689..b18066442fd4a 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/front_insert_iterator.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/front_insert_iterator.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/incrementable_traits.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/incrementable_traits.header.verify.cpp
new file mode 100644
index 0000000000000..5e3a85f67c3e2
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/incrementable_traits.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/incrementable_traits.h>
+// expected-error at -1 {{header '<__iterator/incrementable_traits.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/incrementable_traits.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/incrementable_traits.module.verify.cpp
index c0e0177f86dae..c42bc62a2a693 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/incrementable_traits.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/incrementable_traits.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/indirectly_comparable.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/indirectly_comparable.header.verify.cpp
new file mode 100644
index 0000000000000..9962589092bca
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/indirectly_comparable.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/indirectly_comparable.h>
+// expected-error at -1 {{header '<__iterator/indirectly_comparable.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/indirectly_comparable.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/indirectly_comparable.module.verify.cpp
index 7115f7241e893..4470825d78263 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/indirectly_comparable.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/indirectly_comparable.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/insert_iterator.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/insert_iterator.header.verify.cpp
new file mode 100644
index 0000000000000..f4b6b8f9b4982
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/insert_iterator.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/insert_iterator.h>
+// expected-error at -1 {{header '<__iterator/insert_iterator.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/insert_iterator.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/insert_iterator.module.verify.cpp
index bcf7d5c1adcf2..b9a307c50b332 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/insert_iterator.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/insert_iterator.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/istream_iterator.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/istream_iterator.header.verify.cpp
new file mode 100644
index 0000000000000..06d220ee6a081
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/istream_iterator.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/istream_iterator.h>
+// expected-error at -1 {{header '<__iterator/istream_iterator.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/istream_iterator.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/istream_iterator.module.verify.cpp
index 5bc167d0a797e..df7989fd7b32d 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/istream_iterator.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/istream_iterator.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/istreambuf_iterator.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/istreambuf_iterator.header.verify.cpp
new file mode 100644
index 0000000000000..6c68114ad582c
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/istreambuf_iterator.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/istreambuf_iterator.h>
+// expected-error at -1 {{header '<__iterator/istreambuf_iterator.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/istreambuf_iterator.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/istreambuf_iterator.module.verify.cpp
index f54ad3cb7ccce..8572c81aa92d1 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/istreambuf_iterator.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/istreambuf_iterator.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iter_move.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iter_move.header.verify.cpp
new file mode 100644
index 0000000000000..62dfbc629f7a1
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iter_move.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/iter_move.h>
+// expected-error at -1 {{header '<__iterator/iter_move.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iter_move.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iter_move.module.verify.cpp
index 6dde172849d84..ef98fd535e0f2 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iter_move.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iter_move.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iter_swap.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iter_swap.header.verify.cpp
new file mode 100644
index 0000000000000..5f9f17a0ea1e7
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iter_swap.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/iter_swap.h>
+// expected-error at -1 {{header '<__iterator/iter_swap.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iter_swap.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iter_swap.module.verify.cpp
index 8e55c55c73be5..110324b77b4f1 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iter_swap.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iter_swap.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iterator.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iterator.header.verify.cpp
new file mode 100644
index 0000000000000..be447938250c5
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iterator.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/iterator.h>
+// expected-error at -1 {{header '<__iterator/iterator.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iterator.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iterator.module.verify.cpp
index 605e2208f17a9..cb565d969ccda 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iterator.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iterator.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iterator_traits.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iterator_traits.header.verify.cpp
new file mode 100644
index 0000000000000..657045b05ade8
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iterator_traits.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/iterator_traits.h>
+// expected-error at -1 {{header '<__iterator/iterator_traits.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iterator_traits.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iterator_traits.module.verify.cpp
index 43d4f78523a18..9e4c0c42d88b0 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iterator_traits.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/iterator_traits.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/mergeable.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/mergeable.header.verify.cpp
new file mode 100644
index 0000000000000..c2cd5211cff1c
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/mergeable.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/mergeable.h>
+// expected-error at -1 {{header '<__iterator/mergeable.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/mergeable.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/mergeable.module.verify.cpp
index b8f15dcbd6d1e..d93479c8a36ab 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/mergeable.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/mergeable.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/move_iterator.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/move_iterator.header.verify.cpp
new file mode 100644
index 0000000000000..323b7fb7e6b68
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/move_iterator.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/move_iterator.h>
+// expected-error at -1 {{header '<__iterator/move_iterator.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/move_iterator.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/move_iterator.module.verify.cpp
index 560ce301fb920..a73b44a65b3c6 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/move_iterator.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/move_iterator.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/next.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/next.header.verify.cpp
new file mode 100644
index 0000000000000..4e1c9fa5a1c93
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/next.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/next.h>
+// expected-error at -1 {{header '<__iterator/next.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/next.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/next.module.verify.cpp
index 6f61e3c0054df..4098301762b58 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/next.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/next.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/ostream_iterator.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/ostream_iterator.header.verify.cpp
new file mode 100644
index 0000000000000..b9474b5c43c05
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/ostream_iterator.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/ostream_iterator.h>
+// expected-error at -1 {{header '<__iterator/ostream_iterator.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/ostream_iterator.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/ostream_iterator.module.verify.cpp
index a55f5f0bde86c..9f522aa8d828a 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/ostream_iterator.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/ostream_iterator.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/ostreambuf_iterator.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/ostreambuf_iterator.header.verify.cpp
new file mode 100644
index 0000000000000..f42717916707e
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/ostreambuf_iterator.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/ostreambuf_iterator.h>
+// expected-error at -1 {{header '<__iterator/ostreambuf_iterator.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/ostreambuf_iterator.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/ostreambuf_iterator.module.verify.cpp
index d6e0a276937e7..ce9c257f54756 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/ostreambuf_iterator.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/ostreambuf_iterator.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/permutable.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/permutable.header.verify.cpp
new file mode 100644
index 0000000000000..952e39cf45221
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/permutable.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/permutable.h>
+// expected-error at -1 {{header '<__iterator/permutable.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/permutable.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/permutable.module.verify.cpp
index ad550d151ec0b..76a687b79892f 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/permutable.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/permutable.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/prev.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/prev.header.verify.cpp
new file mode 100644
index 0000000000000..edd574fa07610
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/prev.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/prev.h>
+// expected-error at -1 {{header '<__iterator/prev.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/prev.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/prev.module.verify.cpp
index 1c44682025a2f..01ef28172d419 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/prev.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/prev.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/projected.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/projected.header.verify.cpp
new file mode 100644
index 0000000000000..15d0c5a7a3bb1
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/projected.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/projected.h>
+// expected-error at -1 {{header '<__iterator/projected.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/projected.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/projected.module.verify.cpp
index a5021efd41ee6..69f445fbe6f37 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/projected.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/projected.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/readable_traits.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/readable_traits.header.verify.cpp
new file mode 100644
index 0000000000000..9463be933b2fc
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/readable_traits.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/readable_traits.h>
+// expected-error at -1 {{header '<__iterator/readable_traits.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/readable_traits.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/readable_traits.module.verify.cpp
index ad97fb322e21d..0c4c367a45f15 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/readable_traits.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/readable_traits.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/reverse_access.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/reverse_access.header.verify.cpp
new file mode 100644
index 0000000000000..7dea1f90fc893
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/reverse_access.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/reverse_access.h>
+// expected-error at -1 {{header '<__iterator/reverse_access.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/reverse_access.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/reverse_access.module.verify.cpp
index ad87e2fdf68f1..1dd372bf634ac 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/reverse_access.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/reverse_access.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/reverse_iterator.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/reverse_iterator.header.verify.cpp
new file mode 100644
index 0000000000000..ff5b23a3f1377
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/reverse_iterator.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/reverse_iterator.h>
+// expected-error at -1 {{header '<__iterator/reverse_iterator.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/reverse_iterator.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/reverse_iterator.module.verify.cpp
index 98ca79b8af595..eb0517abb03c1 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/reverse_iterator.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/reverse_iterator.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/size.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/size.header.verify.cpp
new file mode 100644
index 0000000000000..da8fcd901a1ef
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/size.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/size.h>
+// expected-error at -1 {{header '<__iterator/size.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/size.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/size.module.verify.cpp
index 730583149cc88..8d7d496a5906d 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/size.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/size.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/sortable.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/sortable.header.verify.cpp
new file mode 100644
index 0000000000000..35f053a6caeef
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/sortable.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/sortable.h>
+// expected-error at -1 {{header '<__iterator/sortable.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/sortable.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/sortable.module.verify.cpp
index 47ed326bccc54..242ac0897eba2 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/sortable.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/sortable.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/unreachable_sentinel.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/unreachable_sentinel.header.verify.cpp
new file mode 100644
index 0000000000000..3a2a33911a093
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/unreachable_sentinel.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/unreachable_sentinel.h>
+// expected-error at -1 {{header '<__iterator/unreachable_sentinel.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/unreachable_sentinel.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/unreachable_sentinel.module.verify.cpp
index be10ca6fb9cc2..d71b9e336bb5a 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/unreachable_sentinel.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/unreachable_sentinel.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/wrap_iter.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/wrap_iter.header.verify.cpp
new file mode 100644
index 0000000000000..408b32e0e5335
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/wrap_iter.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__iterator/wrap_iter.h>
+// expected-error at -1 {{header '<__iterator/wrap_iter.h>' is an implementation detail; #include '<iterator>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/wrap_iter.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/wrap_iter.module.verify.cpp
index d8c26821a7142..d151d7264f655 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/iterator/wrap_iter.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/iterator/wrap_iter.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/locale.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/locale.header.verify.cpp
new file mode 100644
index 0000000000000..6a678610ff662
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/locale.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__locale>
+// expected-error at -1 {{header '<__locale>' is an implementation detail; #include '<locale>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/locale.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/locale.module.verify.cpp
index 98bb452313b78..b880842c0f44e 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/locale.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/locale.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/mbstate_t.h.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/mbstate_t.h.module.verify.cpp
index a656832feb079..054e58f9237b8 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/mbstate_t.h.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/mbstate_t.h.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/addressof.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/addressof.header.verify.cpp
new file mode 100644
index 0000000000000..e7f610bc96717
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/addressof.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__memory/addressof.h>
+// expected-error at -1 {{header '<__memory/addressof.h>' is an implementation detail; #include '<memory>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/addressof.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/addressof.module.verify.cpp
index 3ea2d3b6c53f1..d596c76608579 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/memory/addressof.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/addressof.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocation_guard.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocation_guard.header.verify.cpp
new file mode 100644
index 0000000000000..4f52d4579086b
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocation_guard.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__memory/allocation_guard.h>
+// expected-error at -1 {{header '<__memory/allocation_guard.h>' is an implementation detail; #include '<memory>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocation_guard.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocation_guard.module.verify.cpp
index ac2ec60deb970..715ebff8c04ba 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocation_guard.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocation_guard.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator.header.verify.cpp
new file mode 100644
index 0000000000000..522f252b87720
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__memory/allocator.h>
+// expected-error at -1 {{header '<__memory/allocator.h>' is an implementation detail; #include '<memory>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator.module.verify.cpp
index f6e8de6abc84b..9d20a0f61fa99 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator_arg_t.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator_arg_t.header.verify.cpp
new file mode 100644
index 0000000000000..d86e145fe7bd1
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator_arg_t.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__memory/allocator_arg_t.h>
+// expected-error at -1 {{header '<__memory/allocator_arg_t.h>' is an implementation detail; #include '<memory>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator_arg_t.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator_arg_t.module.verify.cpp
index f530e849e54b4..d7d5e69938945 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator_arg_t.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator_arg_t.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator_traits.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator_traits.header.verify.cpp
new file mode 100644
index 0000000000000..e44cedde7f69e
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator_traits.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__memory/allocator_traits.h>
+// expected-error at -1 {{header '<__memory/allocator_traits.h>' is an implementation detail; #include '<memory>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator_traits.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator_traits.module.verify.cpp
index ec9483d8935bb..ab0a5758918f0 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator_traits.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/allocator_traits.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/auto_ptr.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/auto_ptr.header.verify.cpp
new file mode 100644
index 0000000000000..01e757de2b4d2
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/auto_ptr.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__memory/auto_ptr.h>
+// expected-error at -1 {{header '<__memory/auto_ptr.h>' is an implementation detail; #include '<memory>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/auto_ptr.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/auto_ptr.module.verify.cpp
index cc143a1430ec7..b46f06db44c21 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/memory/auto_ptr.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/auto_ptr.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/compressed_pair.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/compressed_pair.header.verify.cpp
new file mode 100644
index 0000000000000..0ffec783cea95
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/compressed_pair.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__memory/compressed_pair.h>
+// expected-error at -1 {{header '<__memory/compressed_pair.h>' is an implementation detail; #include '<memory>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/compressed_pair.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/compressed_pair.module.verify.cpp
index 15fb22b09e74e..0c54b9158ba8d 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/memory/compressed_pair.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/compressed_pair.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/concepts.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/concepts.header.verify.cpp
new file mode 100644
index 0000000000000..c4578e8bdd55d
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/concepts.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__memory/concepts.h>
+// expected-error at -1 {{header '<__memory/concepts.h>' is an implementation detail; #include '<memory>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/concepts.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/concepts.module.verify.cpp
index ff6bb7a501272..46e47260aa24a 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/memory/concepts.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/concepts.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/construct_at.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/construct_at.header.verify.cpp
new file mode 100644
index 0000000000000..a303e3276db5f
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/construct_at.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__memory/construct_at.h>
+// expected-error at -1 {{header '<__memory/construct_at.h>' is an implementation detail; #include '<memory>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/construct_at.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/construct_at.module.verify.cpp
index 28461b3fad95d..957636014204f 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/memory/construct_at.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/construct_at.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/pointer_traits.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/pointer_traits.header.verify.cpp
new file mode 100644
index 0000000000000..6ac66dd0a6a36
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/pointer_traits.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__memory/pointer_traits.h>
+// expected-error at -1 {{header '<__memory/pointer_traits.h>' is an implementation detail; #include '<memory>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/pointer_traits.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/pointer_traits.module.verify.cpp
index 501152877792c..000ef0f3ebbae 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/memory/pointer_traits.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/pointer_traits.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/ranges_construct_at.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/ranges_construct_at.header.verify.cpp
new file mode 100644
index 0000000000000..82ce8db650f24
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/ranges_construct_at.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__memory/ranges_construct_at.h>
+// expected-error at -1 {{header '<__memory/ranges_construct_at.h>' is an implementation detail; #include '<memory>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/ranges_construct_at.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/ranges_construct_at.module.verify.cpp
index 1aca1e47f6ddc..b9cbffaf9dd23 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/memory/ranges_construct_at.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/ranges_construct_at.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/ranges_uninitialized_algorithms.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/ranges_uninitialized_algorithms.header.verify.cpp
new file mode 100644
index 0000000000000..7e65805d5a889
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/ranges_uninitialized_algorithms.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__memory/ranges_uninitialized_algorithms.h>
+// expected-error at -1 {{header '<__memory/ranges_uninitialized_algorithms.h>' is an implementation detail; #include '<memory>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/ranges_uninitialized_algorithms.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/ranges_uninitialized_algorithms.module.verify.cpp
index df36bbf549349..a50b6ac995b97 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/memory/ranges_uninitialized_algorithms.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/ranges_uninitialized_algorithms.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/raw_storage_iterator.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/raw_storage_iterator.header.verify.cpp
new file mode 100644
index 0000000000000..26423591bb641
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/raw_storage_iterator.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__memory/raw_storage_iterator.h>
+// expected-error at -1 {{header '<__memory/raw_storage_iterator.h>' is an implementation detail; #include '<memory>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/raw_storage_iterator.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/raw_storage_iterator.module.verify.cpp
index aa7737697135b..6f575bc2e19cc 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/memory/raw_storage_iterator.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/raw_storage_iterator.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/shared_ptr.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/shared_ptr.header.verify.cpp
new file mode 100644
index 0000000000000..43021617e5979
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/shared_ptr.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__memory/shared_ptr.h>
+// expected-error at -1 {{header '<__memory/shared_ptr.h>' is an implementation detail; #include '<memory>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/shared_ptr.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/shared_ptr.module.verify.cpp
index b69fef8c5397e..63edce9b9865b 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/memory/shared_ptr.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/shared_ptr.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/temporary_buffer.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/temporary_buffer.header.verify.cpp
new file mode 100644
index 0000000000000..bd55f630b4e1c
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/temporary_buffer.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__memory/temporary_buffer.h>
+// expected-error at -1 {{header '<__memory/temporary_buffer.h>' is an implementation detail; #include '<memory>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/temporary_buffer.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/temporary_buffer.module.verify.cpp
index c4680251d5b7c..e9d343b348662 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/memory/temporary_buffer.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/temporary_buffer.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/uninitialized_algorithms.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/uninitialized_algorithms.header.verify.cpp
new file mode 100644
index 0000000000000..50cffcd62b141
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/uninitialized_algorithms.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__memory/uninitialized_algorithms.h>
+// expected-error at -1 {{header '<__memory/uninitialized_algorithms.h>' is an implementation detail; #include '<memory>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/uninitialized_algorithms.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/uninitialized_algorithms.module.verify.cpp
index 48bab53acc853..a20d34e780719 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/memory/uninitialized_algorithms.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/uninitialized_algorithms.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/unique_ptr.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/unique_ptr.header.verify.cpp
new file mode 100644
index 0000000000000..34980f07b5fca
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/unique_ptr.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__memory/unique_ptr.h>
+// expected-error at -1 {{header '<__memory/unique_ptr.h>' is an implementation detail; #include '<memory>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/unique_ptr.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/unique_ptr.module.verify.cpp
index 7cd7116cefc47..b9a6bf514cd69 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/memory/unique_ptr.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/unique_ptr.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/uses_allocator.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/uses_allocator.header.verify.cpp
new file mode 100644
index 0000000000000..6e64dfb34d030
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/uses_allocator.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__memory/uses_allocator.h>
+// expected-error at -1 {{header '<__memory/uses_allocator.h>' is an implementation detail; #include '<memory>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/uses_allocator.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/uses_allocator.module.verify.cpp
index c7f86b2249975..b7804aa026da6 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/memory/uses_allocator.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/uses_allocator.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/voidify.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/voidify.header.verify.cpp
new file mode 100644
index 0000000000000..7eb494dc1f0e5
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/voidify.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__memory/voidify.h>
+// expected-error at -1 {{header '<__memory/voidify.h>' is an implementation detail; #include '<memory>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/memory/voidify.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/memory/voidify.module.verify.cpp
index a8fa2dd399132..532952d749a95 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/memory/voidify.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/memory/voidify.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/mutex_base.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/mutex_base.header.verify.cpp
new file mode 100644
index 0000000000000..abc0e9f1e2eb6
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/mutex_base.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__mutex_base>
+// expected-error at -1 {{header '<__mutex_base>' is an implementation detail; #include either '<mutex>' or '<shared_mutex>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/mutex_base.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/mutex_base.module.verify.cpp
index 13d60b3195966..0dd39407f7383 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/mutex_base.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/mutex_base.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/node_handle.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/node_handle.header.verify.cpp
new file mode 100644
index 0000000000000..67549af89fd04
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/node_handle.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__node_handle>
+// expected-error at -1 {{header '<__node_handle>' is an implementation detail; #include one of {'<map>', '<set>', '<unordered_map>', '<unordered_set>'} instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/node_handle.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/node_handle.module.verify.cpp
index 97dd3fa804477..01b9fa5e809a1 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/node_handle.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/node_handle.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/accumulate.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/accumulate.header.verify.cpp
new file mode 100644
index 0000000000000..3063b85906b1a
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/accumulate.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__numeric/accumulate.h>
+// expected-error at -1 {{header '<__numeric/accumulate.h>' is an implementation detail; #include '<numeric>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/accumulate.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/accumulate.module.verify.cpp
index 6034f8cbc082f..6f3e6ef42964c 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/accumulate.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/accumulate.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/adjacent_
diff erence.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/adjacent_
diff erence.header.verify.cpp
new file mode 100644
index 0000000000000..44f0c2154b77c
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/adjacent_
diff erence.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__numeric/adjacent_
diff erence.h>
+// expected-error at -1 {{header '<__numeric/adjacent_
diff erence.h>' is an implementation detail; #include '<numeric>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/adjacent_
diff erence.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/adjacent_
diff erence.module.verify.cpp
index 8b2a503ef89a6..a9c273f264494 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/adjacent_
diff erence.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/adjacent_
diff erence.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/exclusive_scan.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/exclusive_scan.header.verify.cpp
new file mode 100644
index 0000000000000..3b18cf368fe2d
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/exclusive_scan.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__numeric/exclusive_scan.h>
+// expected-error at -1 {{header '<__numeric/exclusive_scan.h>' is an implementation detail; #include '<numeric>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/exclusive_scan.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/exclusive_scan.module.verify.cpp
index 853f2cac22bab..6ad73df479e4d 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/exclusive_scan.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/exclusive_scan.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/gcd_lcm.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/gcd_lcm.header.verify.cpp
new file mode 100644
index 0000000000000..87122121f646b
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/gcd_lcm.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__numeric/gcd_lcm.h>
+// expected-error at -1 {{header '<__numeric/gcd_lcm.h>' is an implementation detail; #include '<numeric>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/gcd_lcm.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/gcd_lcm.module.verify.cpp
index b04e76f3220da..cf34ea707e52b 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/gcd_lcm.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/gcd_lcm.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/inclusive_scan.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/inclusive_scan.header.verify.cpp
new file mode 100644
index 0000000000000..11d6faa6725fc
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/inclusive_scan.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__numeric/inclusive_scan.h>
+// expected-error at -1 {{header '<__numeric/inclusive_scan.h>' is an implementation detail; #include '<numeric>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/inclusive_scan.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/inclusive_scan.module.verify.cpp
index 613f28afe5336..6ac92c8b4d02a 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/inclusive_scan.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/inclusive_scan.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/inner_product.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/inner_product.header.verify.cpp
new file mode 100644
index 0000000000000..55c2b9168e0da
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/inner_product.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__numeric/inner_product.h>
+// expected-error at -1 {{header '<__numeric/inner_product.h>' is an implementation detail; #include '<numeric>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/inner_product.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/inner_product.module.verify.cpp
index c4d414e43193f..5e3add6bb3db4 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/inner_product.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/inner_product.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/iota.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/iota.header.verify.cpp
new file mode 100644
index 0000000000000..ad56b5052fea1
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/iota.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__numeric/iota.h>
+// expected-error at -1 {{header '<__numeric/iota.h>' is an implementation detail; #include '<numeric>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/iota.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/iota.module.verify.cpp
index ec50347739bf0..2d47231abac8f 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/iota.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/iota.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/midpoint.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/midpoint.header.verify.cpp
new file mode 100644
index 0000000000000..af21f274c6a2b
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/midpoint.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__numeric/midpoint.h>
+// expected-error at -1 {{header '<__numeric/midpoint.h>' is an implementation detail; #include '<numeric>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/midpoint.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/midpoint.module.verify.cpp
index 03bddaf3cf043..0f8fe811fda4a 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/midpoint.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/midpoint.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/partial_sum.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/partial_sum.header.verify.cpp
new file mode 100644
index 0000000000000..a8e3fe1699779
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/partial_sum.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__numeric/partial_sum.h>
+// expected-error at -1 {{header '<__numeric/partial_sum.h>' is an implementation detail; #include '<numeric>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/partial_sum.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/partial_sum.module.verify.cpp
index d4746039309a9..850568366fb26 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/partial_sum.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/partial_sum.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/reduce.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/reduce.header.verify.cpp
new file mode 100644
index 0000000000000..6cdc8d8592f8d
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/reduce.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__numeric/reduce.h>
+// expected-error at -1 {{header '<__numeric/reduce.h>' is an implementation detail; #include '<numeric>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/reduce.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/reduce.module.verify.cpp
index 4f7cb07f5fd55..70fcb27e77b59 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/reduce.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/reduce.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_exclusive_scan.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_exclusive_scan.header.verify.cpp
new file mode 100644
index 0000000000000..4935bd2670ba6
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_exclusive_scan.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__numeric/transform_exclusive_scan.h>
+// expected-error at -1 {{header '<__numeric/transform_exclusive_scan.h>' is an implementation detail; #include '<numeric>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_exclusive_scan.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_exclusive_scan.module.verify.cpp
index d4df0a0ae5e53..93f334450d458 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_exclusive_scan.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_exclusive_scan.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_inclusive_scan.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_inclusive_scan.header.verify.cpp
new file mode 100644
index 0000000000000..f75468ac8de7a
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_inclusive_scan.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__numeric/transform_inclusive_scan.h>
+// expected-error at -1 {{header '<__numeric/transform_inclusive_scan.h>' is an implementation detail; #include '<numeric>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_inclusive_scan.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_inclusive_scan.module.verify.cpp
index 4b2df7a355f08..37b7f662013a1 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_inclusive_scan.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_inclusive_scan.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_reduce.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_reduce.header.verify.cpp
new file mode 100644
index 0000000000000..e311bd9e5469b
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_reduce.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__numeric/transform_reduce.h>
+// expected-error at -1 {{header '<__numeric/transform_reduce.h>' is an implementation detail; #include '<numeric>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_reduce.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_reduce.module.verify.cpp
index 36968208703b7..2339c37bca389 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_reduce.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/numeric/transform_reduce.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/bernoulli_distribution.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/bernoulli_distribution.header.verify.cpp
new file mode 100644
index 0000000000000..6c02fb24eba89
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/bernoulli_distribution.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/bernoulli_distribution.h>
+// expected-error at -1 {{header '<__random/bernoulli_distribution.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/bernoulli_distribution.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/bernoulli_distribution.module.verify.cpp
index f7bd7c108d535..3eefa66cc1784 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/bernoulli_distribution.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/bernoulli_distribution.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/binomial_distribution.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/binomial_distribution.header.verify.cpp
new file mode 100644
index 0000000000000..348894f408dbc
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/binomial_distribution.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/binomial_distribution.h>
+// expected-error at -1 {{header '<__random/binomial_distribution.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/binomial_distribution.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/binomial_distribution.module.verify.cpp
index 813f81f6d9ec0..eadb55d9ef92f 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/binomial_distribution.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/binomial_distribution.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/cauchy_distribution.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/cauchy_distribution.header.verify.cpp
new file mode 100644
index 0000000000000..11a90e00345e4
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/cauchy_distribution.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/cauchy_distribution.h>
+// expected-error at -1 {{header '<__random/cauchy_distribution.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/cauchy_distribution.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/cauchy_distribution.module.verify.cpp
index cf08b044db28e..7ff05ce482433 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/cauchy_distribution.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/cauchy_distribution.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/chi_squared_distribution.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/chi_squared_distribution.header.verify.cpp
new file mode 100644
index 0000000000000..2d7e959fd6a25
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/chi_squared_distribution.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/chi_squared_distribution.h>
+// expected-error at -1 {{header '<__random/chi_squared_distribution.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/chi_squared_distribution.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/chi_squared_distribution.module.verify.cpp
index 6905fc5103b30..9491aede94f39 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/chi_squared_distribution.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/chi_squared_distribution.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/clamp_to_integral.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/clamp_to_integral.header.verify.cpp
new file mode 100644
index 0000000000000..a58cd17b80cb0
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/clamp_to_integral.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/clamp_to_integral.h>
+// expected-error at -1 {{header '<__random/clamp_to_integral.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/clamp_to_integral.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/clamp_to_integral.module.verify.cpp
index 9909f48b0c6fb..280410e9dd8e0 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/clamp_to_integral.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/clamp_to_integral.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/default_random_engine.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/default_random_engine.header.verify.cpp
new file mode 100644
index 0000000000000..a818a4db0f0a6
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/default_random_engine.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/default_random_engine.h>
+// expected-error at -1 {{header '<__random/default_random_engine.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/default_random_engine.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/default_random_engine.module.verify.cpp
index 7d8d1c8dbcbc1..19431b7a83868 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/default_random_engine.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/default_random_engine.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/discard_block_engine.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/discard_block_engine.header.verify.cpp
new file mode 100644
index 0000000000000..f6de63f3d5862
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/discard_block_engine.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/discard_block_engine.h>
+// expected-error at -1 {{header '<__random/discard_block_engine.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/discard_block_engine.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/discard_block_engine.module.verify.cpp
index b11758a19950c..6fa02addc8800 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/discard_block_engine.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/discard_block_engine.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/discrete_distribution.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/discrete_distribution.header.verify.cpp
new file mode 100644
index 0000000000000..c90154a497a3a
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/discrete_distribution.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/discrete_distribution.h>
+// expected-error at -1 {{header '<__random/discrete_distribution.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/discrete_distribution.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/discrete_distribution.module.verify.cpp
index 3720cfdb76a34..f7a2fb3539c50 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/discrete_distribution.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/discrete_distribution.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/exponential_distribution.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/exponential_distribution.header.verify.cpp
new file mode 100644
index 0000000000000..14d585aa9e11e
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/exponential_distribution.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/exponential_distribution.h>
+// expected-error at -1 {{header '<__random/exponential_distribution.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/exponential_distribution.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/exponential_distribution.module.verify.cpp
index 269f2440233b5..544a04c7de6bc 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/exponential_distribution.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/exponential_distribution.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/extreme_value_distribution.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/extreme_value_distribution.header.verify.cpp
new file mode 100644
index 0000000000000..d98e23ba19cd8
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/extreme_value_distribution.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/extreme_value_distribution.h>
+// expected-error at -1 {{header '<__random/extreme_value_distribution.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/extreme_value_distribution.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/extreme_value_distribution.module.verify.cpp
index cb0c654c47880..a4cc63566e717 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/extreme_value_distribution.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/extreme_value_distribution.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/fisher_f_distribution.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/fisher_f_distribution.header.verify.cpp
new file mode 100644
index 0000000000000..44fd734f7505f
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/fisher_f_distribution.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/fisher_f_distribution.h>
+// expected-error at -1 {{header '<__random/fisher_f_distribution.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/fisher_f_distribution.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/fisher_f_distribution.module.verify.cpp
index 9cb1399422588..8d1e6d2f26a67 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/fisher_f_distribution.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/fisher_f_distribution.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/gamma_distribution.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/gamma_distribution.header.verify.cpp
new file mode 100644
index 0000000000000..7bbad397a6ad8
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/gamma_distribution.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/gamma_distribution.h>
+// expected-error at -1 {{header '<__random/gamma_distribution.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/gamma_distribution.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/gamma_distribution.module.verify.cpp
index 89a931af819c5..9b865c688de78 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/gamma_distribution.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/gamma_distribution.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/generate_canonical.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/generate_canonical.header.verify.cpp
new file mode 100644
index 0000000000000..447d514e1eb61
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/generate_canonical.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/generate_canonical.h>
+// expected-error at -1 {{header '<__random/generate_canonical.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/generate_canonical.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/generate_canonical.module.verify.cpp
index f471463c5220f..36dbaee643af9 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/generate_canonical.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/generate_canonical.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/geometric_distribution.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/geometric_distribution.header.verify.cpp
new file mode 100644
index 0000000000000..e39f9674849ab
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/geometric_distribution.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/geometric_distribution.h>
+// expected-error at -1 {{header '<__random/geometric_distribution.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/geometric_distribution.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/geometric_distribution.module.verify.cpp
index 98891557e5cb1..1a770f36fb6c9 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/geometric_distribution.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/geometric_distribution.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/independent_bits_engine.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/independent_bits_engine.header.verify.cpp
new file mode 100644
index 0000000000000..7f53c66abd7a8
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/independent_bits_engine.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/independent_bits_engine.h>
+// expected-error at -1 {{header '<__random/independent_bits_engine.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/independent_bits_engine.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/independent_bits_engine.module.verify.cpp
index d413a81ae2e9f..d6e5413775c59 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/independent_bits_engine.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/independent_bits_engine.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/is_seed_sequence.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/is_seed_sequence.header.verify.cpp
new file mode 100644
index 0000000000000..bb8639a258059
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/is_seed_sequence.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/is_seed_sequence.h>
+// expected-error at -1 {{header '<__random/is_seed_sequence.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/is_seed_sequence.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/is_seed_sequence.module.verify.cpp
index 7977563430a76..8d7af0ca8cb2c 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/is_seed_sequence.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/is_seed_sequence.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/knuth_b.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/knuth_b.header.verify.cpp
new file mode 100644
index 0000000000000..95f3251cf0295
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/knuth_b.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/knuth_b.h>
+// expected-error at -1 {{header '<__random/knuth_b.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/knuth_b.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/knuth_b.module.verify.cpp
index de4898071eae7..db858b55d7143 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/knuth_b.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/knuth_b.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/linear_congruential_engine.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/linear_congruential_engine.header.verify.cpp
new file mode 100644
index 0000000000000..e1ab98ba36f3b
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/linear_congruential_engine.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/linear_congruential_engine.h>
+// expected-error at -1 {{header '<__random/linear_congruential_engine.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/linear_congruential_engine.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/linear_congruential_engine.module.verify.cpp
index ca686e4aa000c..1f011252e0dc0 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/linear_congruential_engine.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/linear_congruential_engine.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/log2.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/log2.header.verify.cpp
new file mode 100644
index 0000000000000..9aa08ba58c409
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/log2.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/log2.h>
+// expected-error at -1 {{header '<__random/log2.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/log2.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/log2.module.verify.cpp
index c56c02f4add7f..872c53f890353 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/log2.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/log2.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/lognormal_distribution.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/lognormal_distribution.header.verify.cpp
new file mode 100644
index 0000000000000..276a8bf3ff1ad
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/lognormal_distribution.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/lognormal_distribution.h>
+// expected-error at -1 {{header '<__random/lognormal_distribution.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/lognormal_distribution.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/lognormal_distribution.module.verify.cpp
index fc4819e913864..f2cbbe9e6e196 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/lognormal_distribution.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/lognormal_distribution.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/mersenne_twister_engine.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/mersenne_twister_engine.header.verify.cpp
new file mode 100644
index 0000000000000..da197b3999004
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/mersenne_twister_engine.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/mersenne_twister_engine.h>
+// expected-error at -1 {{header '<__random/mersenne_twister_engine.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/mersenne_twister_engine.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/mersenne_twister_engine.module.verify.cpp
index 36e3ef84355b3..ba68d208adb7f 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/mersenne_twister_engine.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/mersenne_twister_engine.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/negative_binomial_distribution.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/negative_binomial_distribution.header.verify.cpp
new file mode 100644
index 0000000000000..9a78f9d408b6b
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/negative_binomial_distribution.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/negative_binomial_distribution.h>
+// expected-error at -1 {{header '<__random/negative_binomial_distribution.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/negative_binomial_distribution.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/negative_binomial_distribution.module.verify.cpp
index f3844cca1b1ee..0e8b1e410af30 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/negative_binomial_distribution.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/negative_binomial_distribution.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/normal_distribution.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/normal_distribution.header.verify.cpp
new file mode 100644
index 0000000000000..27bef73a802d3
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/normal_distribution.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/normal_distribution.h>
+// expected-error at -1 {{header '<__random/normal_distribution.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/normal_distribution.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/normal_distribution.module.verify.cpp
index f1daa42c3e86f..d1174f043cb4d 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/normal_distribution.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/normal_distribution.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/piecewise_constant_distribution.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/piecewise_constant_distribution.header.verify.cpp
new file mode 100644
index 0000000000000..2157948331767
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/piecewise_constant_distribution.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/piecewise_constant_distribution.h>
+// expected-error at -1 {{header '<__random/piecewise_constant_distribution.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/piecewise_constant_distribution.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/piecewise_constant_distribution.module.verify.cpp
index 34ab70808709d..93c340ecd46d6 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/piecewise_constant_distribution.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/piecewise_constant_distribution.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/piecewise_linear_distribution.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/piecewise_linear_distribution.header.verify.cpp
new file mode 100644
index 0000000000000..d4c3f675b7b3b
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/piecewise_linear_distribution.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/piecewise_linear_distribution.h>
+// expected-error at -1 {{header '<__random/piecewise_linear_distribution.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/piecewise_linear_distribution.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/piecewise_linear_distribution.module.verify.cpp
index 50c29b8fb96ad..55e8fd1fe3948 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/piecewise_linear_distribution.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/piecewise_linear_distribution.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/poisson_distribution.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/poisson_distribution.header.verify.cpp
new file mode 100644
index 0000000000000..d94936339bb8f
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/poisson_distribution.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/poisson_distribution.h>
+// expected-error at -1 {{header '<__random/poisson_distribution.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/poisson_distribution.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/poisson_distribution.module.verify.cpp
index 70e84489feb30..ea69593044b55 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/poisson_distribution.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/poisson_distribution.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/random_device.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/random_device.header.verify.cpp
new file mode 100644
index 0000000000000..2a840e53cc103
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/random_device.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/random_device.h>
+// expected-error at -1 {{header '<__random/random_device.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/random_device.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/random_device.module.verify.cpp
index a4fd93e934e70..6c8284ad6d050 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/random_device.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/random_device.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/ranlux.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/ranlux.header.verify.cpp
new file mode 100644
index 0000000000000..51e0948989fc2
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/ranlux.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/ranlux.h>
+// expected-error at -1 {{header '<__random/ranlux.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/ranlux.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/ranlux.module.verify.cpp
index 225d7d4acc2f7..4bf96d4d4f66e 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/ranlux.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/ranlux.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/seed_seq.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/seed_seq.header.verify.cpp
new file mode 100644
index 0000000000000..0787cad8f71c2
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/seed_seq.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/seed_seq.h>
+// expected-error at -1 {{header '<__random/seed_seq.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/seed_seq.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/seed_seq.module.verify.cpp
index c08dddb0087c6..998887f96a58f 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/seed_seq.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/seed_seq.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/shuffle_order_engine.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/shuffle_order_engine.header.verify.cpp
new file mode 100644
index 0000000000000..48bc6a85ebf95
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/shuffle_order_engine.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/shuffle_order_engine.h>
+// expected-error at -1 {{header '<__random/shuffle_order_engine.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/shuffle_order_engine.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/shuffle_order_engine.module.verify.cpp
index 0cc5fd56df697..54897cfd4556d 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/shuffle_order_engine.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/shuffle_order_engine.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/student_t_distribution.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/student_t_distribution.header.verify.cpp
new file mode 100644
index 0000000000000..f2712a69dda93
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/student_t_distribution.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/student_t_distribution.h>
+// expected-error at -1 {{header '<__random/student_t_distribution.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/student_t_distribution.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/student_t_distribution.module.verify.cpp
index 3b08fc55b9417..0c0e7407857b9 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/student_t_distribution.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/student_t_distribution.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/subtract_with_carry_engine.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/subtract_with_carry_engine.header.verify.cpp
new file mode 100644
index 0000000000000..952ffd5ac5b80
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/subtract_with_carry_engine.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/subtract_with_carry_engine.h>
+// expected-error at -1 {{header '<__random/subtract_with_carry_engine.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/subtract_with_carry_engine.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/subtract_with_carry_engine.module.verify.cpp
index 27a352a399fa8..dd334349e3a45 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/subtract_with_carry_engine.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/subtract_with_carry_engine.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_int_distribution.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_int_distribution.header.verify.cpp
new file mode 100644
index 0000000000000..f534fdbde07f5
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_int_distribution.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/uniform_int_distribution.h>
+// expected-error at -1 {{header '<__random/uniform_int_distribution.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_int_distribution.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_int_distribution.module.verify.cpp
index 70f5a52d2f8f0..df36fd28cf737 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_int_distribution.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_int_distribution.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_random_bit_generator.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_random_bit_generator.header.verify.cpp
new file mode 100644
index 0000000000000..79053f17e5e61
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_random_bit_generator.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/uniform_random_bit_generator.h>
+// expected-error at -1 {{header '<__random/uniform_random_bit_generator.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_random_bit_generator.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_random_bit_generator.module.verify.cpp
index 13cbe53da413f..416bff4789a62 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_random_bit_generator.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_random_bit_generator.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_real_distribution.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_real_distribution.header.verify.cpp
new file mode 100644
index 0000000000000..156c951f6cbd5
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_real_distribution.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/uniform_real_distribution.h>
+// expected-error at -1 {{header '<__random/uniform_real_distribution.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_real_distribution.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_real_distribution.module.verify.cpp
index 6ad314449ffc7..6ff4d89db9609 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_real_distribution.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/uniform_real_distribution.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/weibull_distribution.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/weibull_distribution.header.verify.cpp
new file mode 100644
index 0000000000000..b5498cc40ac39
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/weibull_distribution.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__random/weibull_distribution.h>
+// expected-error at -1 {{header '<__random/weibull_distribution.h>' is an implementation detail; #include '<random>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/random/weibull_distribution.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/random/weibull_distribution.module.verify.cpp
index b1897147f159f..bea3885b0afa0 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/random/weibull_distribution.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/random/weibull_distribution.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/access.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/access.header.verify.cpp
new file mode 100644
index 0000000000000..d8db3c88c4017
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/access.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/access.h>
+// expected-error at -1 {{header '<__ranges/access.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/access.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/access.module.verify.cpp
index b63968a7905ef..d7ed406863891 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/access.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/access.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/all.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/all.header.verify.cpp
new file mode 100644
index 0000000000000..4d8beaa9ed023
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/all.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/all.h>
+// expected-error at -1 {{header '<__ranges/all.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/all.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/all.module.verify.cpp
index a72d58c8e3706..b052cec217858 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/all.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/all.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/common_view.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/common_view.header.verify.cpp
new file mode 100644
index 0000000000000..b3ae487e8db7b
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/common_view.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/common_view.h>
+// expected-error at -1 {{header '<__ranges/common_view.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/common_view.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/common_view.module.verify.cpp
index 2847cc842c603..49bd520439cdb 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/common_view.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/common_view.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/concepts.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/concepts.header.verify.cpp
new file mode 100644
index 0000000000000..575222335af44
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/concepts.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/concepts.h>
+// expected-error at -1 {{header '<__ranges/concepts.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/concepts.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/concepts.module.verify.cpp
index 1cf0635f76200..9e2a7eead6696 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/concepts.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/concepts.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/copyable_box.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/copyable_box.header.verify.cpp
new file mode 100644
index 0000000000000..5d4bb1d919b63
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/copyable_box.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/copyable_box.h>
+// expected-error at -1 {{header '<__ranges/copyable_box.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/copyable_box.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/copyable_box.module.verify.cpp
index 3059a113b473f..b1749eb3921ed 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/copyable_box.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/copyable_box.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/counted.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/counted.header.verify.cpp
new file mode 100644
index 0000000000000..cdf91dc79d4a4
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/counted.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/counted.h>
+// expected-error at -1 {{header '<__ranges/counted.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/counted.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/counted.module.verify.cpp
index 9492562093bb7..748706b818204 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/counted.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/counted.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/dangling.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/dangling.header.verify.cpp
new file mode 100644
index 0000000000000..a7e99a0610939
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/dangling.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/dangling.h>
+// expected-error at -1 {{header '<__ranges/dangling.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/dangling.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/dangling.module.verify.cpp
index 6585847afafaa..5f4fa40cac61b 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/dangling.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/dangling.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/data.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/data.header.verify.cpp
new file mode 100644
index 0000000000000..27de95e5b1a9c
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/data.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/data.h>
+// expected-error at -1 {{header '<__ranges/data.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/data.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/data.module.verify.cpp
index 27bce19cc69b1..2ffc98b1874a4 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/data.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/data.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/drop_view.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/drop_view.header.verify.cpp
new file mode 100644
index 0000000000000..960b8e5919486
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/drop_view.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/drop_view.h>
+// expected-error at -1 {{header '<__ranges/drop_view.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/drop_view.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/drop_view.module.verify.cpp
index ff10370b520cd..4ae85f5e2b30d 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/drop_view.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/drop_view.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/empty.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/empty.header.verify.cpp
new file mode 100644
index 0000000000000..dc2e08a38d493
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/empty.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/empty.h>
+// expected-error at -1 {{header '<__ranges/empty.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/empty.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/empty.module.verify.cpp
index a4e63ab1d948f..9edeb03fb2be9 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/empty.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/empty.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/empty_view.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/empty_view.header.verify.cpp
new file mode 100644
index 0000000000000..c394b204ecd18
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/empty_view.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/empty_view.h>
+// expected-error at -1 {{header '<__ranges/empty_view.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/empty_view.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/empty_view.module.verify.cpp
index 4e068d3c603bb..c4c8fce38f727 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/empty_view.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/empty_view.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/enable_borrowed_range.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/enable_borrowed_range.header.verify.cpp
new file mode 100644
index 0000000000000..cbd782e3accf2
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/enable_borrowed_range.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/enable_borrowed_range.h>
+// expected-error at -1 {{header '<__ranges/enable_borrowed_range.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/enable_borrowed_range.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/enable_borrowed_range.module.verify.cpp
index 947b3c898d1f1..4d83c09288224 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/enable_borrowed_range.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/enable_borrowed_range.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/enable_view.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/enable_view.header.verify.cpp
new file mode 100644
index 0000000000000..16523d644985d
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/enable_view.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/enable_view.h>
+// expected-error at -1 {{header '<__ranges/enable_view.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/enable_view.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/enable_view.module.verify.cpp
index 9cbbd313f1758..1e0920b7dd12c 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/enable_view.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/enable_view.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/iota_view.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/iota_view.header.verify.cpp
new file mode 100644
index 0000000000000..d7845dc6f6029
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/iota_view.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/iota_view.h>
+// expected-error at -1 {{header '<__ranges/iota_view.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/iota_view.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/iota_view.module.verify.cpp
index a66c7ca19117e..8b2d4cad2da25 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/iota_view.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/iota_view.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/join_view.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/join_view.header.verify.cpp
new file mode 100644
index 0000000000000..f557420f87581
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/join_view.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/join_view.h>
+// expected-error at -1 {{header '<__ranges/join_view.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/join_view.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/join_view.module.verify.cpp
index 19bada4336bfc..ff48b744d5d93 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/join_view.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/join_view.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/non_propagating_cache.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/non_propagating_cache.header.verify.cpp
new file mode 100644
index 0000000000000..6de2117f97dd1
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/non_propagating_cache.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/non_propagating_cache.h>
+// expected-error at -1 {{header '<__ranges/non_propagating_cache.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/non_propagating_cache.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/non_propagating_cache.module.verify.cpp
index 6d7be86d79e62..4f42d17cfd085 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/non_propagating_cache.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/non_propagating_cache.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/owning_view.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/owning_view.header.verify.cpp
new file mode 100644
index 0000000000000..2a92091143117
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/owning_view.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/owning_view.h>
+// expected-error at -1 {{header '<__ranges/owning_view.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/owning_view.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/owning_view.module.verify.cpp
index e68237cc5b686..5625f48b3708c 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/owning_view.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/owning_view.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/range_adaptor.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/range_adaptor.header.verify.cpp
new file mode 100644
index 0000000000000..d8cbed2451dfd
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/range_adaptor.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/range_adaptor.h>
+// expected-error at -1 {{header '<__ranges/range_adaptor.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/range_adaptor.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/range_adaptor.module.verify.cpp
index 33de132ed15b4..b1bdc0d1e6874 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/range_adaptor.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/range_adaptor.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/rbegin.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/rbegin.header.verify.cpp
new file mode 100644
index 0000000000000..6fd31a2476617
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/rbegin.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/rbegin.h>
+// expected-error at -1 {{header '<__ranges/rbegin.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/rbegin.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/rbegin.module.verify.cpp
index c91765bba5657..860c6813053a2 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/rbegin.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/rbegin.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/ref_view.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/ref_view.header.verify.cpp
new file mode 100644
index 0000000000000..0f314eb49e802
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/ref_view.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/ref_view.h>
+// expected-error at -1 {{header '<__ranges/ref_view.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/ref_view.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/ref_view.module.verify.cpp
index f62283d882781..5c7169bdd6890 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/ref_view.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/ref_view.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/rend.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/rend.header.verify.cpp
new file mode 100644
index 0000000000000..124fa21a960d3
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/rend.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/rend.h>
+// expected-error at -1 {{header '<__ranges/rend.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/rend.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/rend.module.verify.cpp
index 460c5a9594a91..fbb5b567e8925 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/rend.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/rend.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/reverse_view.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/reverse_view.header.verify.cpp
new file mode 100644
index 0000000000000..39123900e7b1b
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/reverse_view.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/reverse_view.h>
+// expected-error at -1 {{header '<__ranges/reverse_view.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/reverse_view.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/reverse_view.module.verify.cpp
index f0d35242828e2..66c8f84ee44e8 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/reverse_view.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/reverse_view.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/single_view.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/single_view.header.verify.cpp
new file mode 100644
index 0000000000000..5acac5c64f9a6
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/single_view.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/single_view.h>
+// expected-error at -1 {{header '<__ranges/single_view.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/single_view.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/single_view.module.verify.cpp
index a23b911c2d723..eb6e276d0a452 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/single_view.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/single_view.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/size.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/size.header.verify.cpp
new file mode 100644
index 0000000000000..53c46eb251fba
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/size.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/size.h>
+// expected-error at -1 {{header '<__ranges/size.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/size.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/size.module.verify.cpp
index 9d02d7dc7b353..39fab7ea0b312 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/size.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/size.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/subrange.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/subrange.header.verify.cpp
new file mode 100644
index 0000000000000..fdae18b76d0af
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/subrange.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/subrange.h>
+// expected-error at -1 {{header '<__ranges/subrange.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/subrange.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/subrange.module.verify.cpp
index ad1ddc44ea6be..53bf897a34bdf 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/subrange.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/subrange.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/take_view.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/take_view.header.verify.cpp
new file mode 100644
index 0000000000000..5a2b62db3e1c3
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/take_view.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/take_view.h>
+// expected-error at -1 {{header '<__ranges/take_view.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/take_view.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/take_view.module.verify.cpp
index f59a0a3c08e81..39b1231cc3c9c 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/take_view.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/take_view.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/transform_view.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/transform_view.header.verify.cpp
new file mode 100644
index 0000000000000..a1a4168d5e4bb
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/transform_view.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/transform_view.h>
+// expected-error at -1 {{header '<__ranges/transform_view.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/transform_view.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/transform_view.module.verify.cpp
index f39fc1af64750..d014f30e87a6a 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/transform_view.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/transform_view.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/view_interface.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/view_interface.header.verify.cpp
new file mode 100644
index 0000000000000..14f6a03cda3d0
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/view_interface.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/view_interface.h>
+// expected-error at -1 {{header '<__ranges/view_interface.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/view_interface.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/view_interface.module.verify.cpp
index 55b8d2e0db98e..92cea7c2f7e56 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/view_interface.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/view_interface.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/views.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/views.header.verify.cpp
new file mode 100644
index 0000000000000..a4bdf4fabaac3
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/views.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__ranges/views.h>
+// expected-error at -1 {{header '<__ranges/views.h>' is an implementation detail; #include '<ranges>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/views.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/views.module.verify.cpp
index 3b5b617096870..1c91cc61b1c16 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/ranges/views.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/ranges/views.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/split_buffer.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/split_buffer.header.verify.cpp
new file mode 100644
index 0000000000000..23457a3a0fe3a
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/split_buffer.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__split_buffer>
+// expected-error at -1 {{header '<__split_buffer>' is an implementation detail; #include either '<vector>' or '<deque>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/split_buffer.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/split_buffer.module.verify.cpp
index f658ee540ec2e..b0136c85c8e49 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/split_buffer.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/split_buffer.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/std_stream.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/std_stream.header.verify.cpp
new file mode 100644
index 0000000000000..5e04a6bd64270
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/std_stream.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__std_stream>
+// expected-error at -1 {{header '<__std_stream>' is an implementation detail; #include '<streambuf>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/std_stream.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/std_stream.module.verify.cpp
index eb360d48a7e1c..fe8b52e0962ed 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/std_stream.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/std_stream.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/string.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/string.header.verify.cpp
new file mode 100644
index 0000000000000..776d82ba8ea12
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/string.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__string>
+// expected-error at -1 {{header '<__string>' is an implementation detail; #include '<string>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/string.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/string.module.verify.cpp
index cdd9a21006f36..b368079cf93f8 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/string.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/string.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/thread/poll_with_backoff.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/thread/poll_with_backoff.header.verify.cpp
new file mode 100644
index 0000000000000..c23b9852637f2
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/thread/poll_with_backoff.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__thread/poll_with_backoff.h>
+// expected-error at -1 {{header '<__thread/poll_with_backoff.h>' is an implementation detail; #include '<thread>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/thread/poll_with_backoff.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/thread/poll_with_backoff.module.verify.cpp
index ea2e7729df748..d85fdd0ca20c0 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/thread/poll_with_backoff.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/thread/poll_with_backoff.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/thread/timed_backoff_policy.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/thread/timed_backoff_policy.header.verify.cpp
new file mode 100644
index 0000000000000..a41264b616923
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/thread/timed_backoff_policy.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__thread/timed_backoff_policy.h>
+// expected-error at -1 {{header '<__thread/timed_backoff_policy.h>' is an implementation detail; #include '<thread>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/thread/timed_backoff_policy.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/thread/timed_backoff_policy.module.verify.cpp
index 45e04f4cb86c4..8e04eee74f4ef 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/thread/timed_backoff_policy.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/thread/timed_backoff_policy.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/tuple.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/tuple.header.verify.cpp
new file mode 100644
index 0000000000000..e245d138f076d
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/tuple.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__tuple>
+// expected-error at -1 {{header '<__tuple>' is an implementation detail; #include either '<tuple>' or '<utility>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/tuple.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/tuple.module.verify.cpp
index a2808546cdcc0..d20d348b04787 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/tuple.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/tuple.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/as_const.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/as_const.header.verify.cpp
new file mode 100644
index 0000000000000..182af7884174c
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/as_const.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__utility/as_const.h>
+// expected-error at -1 {{header '<__utility/as_const.h>' is an implementation detail; #include '<utility>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/as_const.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/as_const.module.verify.cpp
index 5a5020c1ee7ba..afa0a116b0886 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/utility/as_const.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/as_const.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/auto_cast.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/auto_cast.header.verify.cpp
new file mode 100644
index 0000000000000..4129fb5b7e88f
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/auto_cast.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__utility/auto_cast.h>
+// expected-error at -1 {{header '<__utility/auto_cast.h>' is an implementation detail; #include '<utility>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/auto_cast.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/auto_cast.module.verify.cpp
index cf012c3d17e04..48e64cb1072bd 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/utility/auto_cast.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/auto_cast.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/cmp.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/cmp.header.verify.cpp
new file mode 100644
index 0000000000000..32abf54442fdf
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/cmp.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__utility/cmp.h>
+// expected-error at -1 {{header '<__utility/cmp.h>' is an implementation detail; #include '<utility>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/cmp.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/cmp.module.verify.cpp
index abf979b5f632d..0f491b538c223 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/utility/cmp.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/cmp.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/declval.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/declval.header.verify.cpp
new file mode 100644
index 0000000000000..b3d71ba33d0a8
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/declval.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__utility/declval.h>
+// expected-error at -1 {{header '<__utility/declval.h>' is an implementation detail; #include '<utility>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/declval.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/declval.module.verify.cpp
index 065590a28b070..8c9feed63a043 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/utility/declval.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/declval.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/exchange.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/exchange.header.verify.cpp
new file mode 100644
index 0000000000000..c75cd130ea826
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/exchange.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__utility/exchange.h>
+// expected-error at -1 {{header '<__utility/exchange.h>' is an implementation detail; #include '<utility>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/exchange.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/exchange.module.verify.cpp
index 5cbe3bdc0c41d..047b8aeed12b6 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/utility/exchange.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/exchange.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/forward.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/forward.header.verify.cpp
new file mode 100644
index 0000000000000..00ed259f3a723
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/forward.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__utility/forward.h>
+// expected-error at -1 {{header '<__utility/forward.h>' is an implementation detail; #include '<utility>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/forward.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/forward.module.verify.cpp
index 27b3f1b745744..ed4af64de985e 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/utility/forward.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/forward.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/in_place.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/in_place.header.verify.cpp
new file mode 100644
index 0000000000000..a25d80097fc39
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/in_place.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__utility/in_place.h>
+// expected-error at -1 {{header '<__utility/in_place.h>' is an implementation detail; #include '<utility>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/in_place.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/in_place.module.verify.cpp
index 0c811afe91312..ebf2019197e4f 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/utility/in_place.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/in_place.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/integer_sequence.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/integer_sequence.header.verify.cpp
new file mode 100644
index 0000000000000..a74f432cf382a
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/integer_sequence.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__utility/integer_sequence.h>
+// expected-error at -1 {{header '<__utility/integer_sequence.h>' is an implementation detail; #include '<utility>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/integer_sequence.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/integer_sequence.module.verify.cpp
index eecef46728c0d..36208e7df162f 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/utility/integer_sequence.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/integer_sequence.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/move.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/move.header.verify.cpp
new file mode 100644
index 0000000000000..6a04a8a5baee2
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/move.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__utility/move.h>
+// expected-error at -1 {{header '<__utility/move.h>' is an implementation detail; #include '<utility>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/move.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/move.module.verify.cpp
index 46b74153184f9..e410bdb6da637 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/utility/move.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/move.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/pair.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/pair.header.verify.cpp
new file mode 100644
index 0000000000000..72a2ee5dcc316
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/pair.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__utility/pair.h>
+// expected-error at -1 {{header '<__utility/pair.h>' is an implementation detail; #include '<utility>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/pair.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/pair.module.verify.cpp
index 7aa7846b71173..b847833a3e38c 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/utility/pair.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/pair.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/piecewise_construct.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/piecewise_construct.header.verify.cpp
new file mode 100644
index 0000000000000..3d0b0286b708b
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/piecewise_construct.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__utility/piecewise_construct.h>
+// expected-error at -1 {{header '<__utility/piecewise_construct.h>' is an implementation detail; #include '<utility>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/piecewise_construct.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/piecewise_construct.module.verify.cpp
index 764a52a50a08e..a804894bde901 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/utility/piecewise_construct.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/piecewise_construct.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/priority_tag.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/priority_tag.header.verify.cpp
new file mode 100644
index 0000000000000..5541c19582b14
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/priority_tag.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__utility/priority_tag.h>
+// expected-error at -1 {{header '<__utility/priority_tag.h>' is an implementation detail; #include '<utility>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/priority_tag.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/priority_tag.module.verify.cpp
index 485fca07cd3bd..b2210f3588f9a 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/utility/priority_tag.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/priority_tag.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/rel_ops.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/rel_ops.header.verify.cpp
new file mode 100644
index 0000000000000..4d278eeef5839
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/rel_ops.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__utility/rel_ops.h>
+// expected-error at -1 {{header '<__utility/rel_ops.h>' is an implementation detail; #include '<utility>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/rel_ops.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/rel_ops.module.verify.cpp
index a94572327873a..94b198ea76b7e 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/utility/rel_ops.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/rel_ops.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/swap.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/swap.header.verify.cpp
new file mode 100644
index 0000000000000..ba41270af502b
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/swap.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__utility/swap.h>
+// expected-error at -1 {{header '<__utility/swap.h>' is an implementation detail; #include '<utility>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/swap.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/swap.module.verify.cpp
index 0e69e9050dbb0..0b5208f1a17f4 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/utility/swap.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/swap.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/to_underlying.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/to_underlying.header.verify.cpp
new file mode 100644
index 0000000000000..5c6a745dae8d1
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/to_underlying.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__utility/to_underlying.h>
+// expected-error at -1 {{header '<__utility/to_underlying.h>' is an implementation detail; #include '<utility>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/to_underlying.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/to_underlying.module.verify.cpp
index c3da6cd3abb2c..553c29c582fa4 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/utility/to_underlying.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/to_underlying.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/transaction.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/transaction.header.verify.cpp
new file mode 100644
index 0000000000000..8ca98e287076f
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/transaction.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__utility/transaction.h>
+// expected-error at -1 {{header '<__utility/transaction.h>' is an implementation detail; #include '<utility>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/transaction.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/transaction.module.verify.cpp
index d453fa52f7320..53c1babe8b74d 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/utility/transaction.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/transaction.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/unreachable.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/unreachable.header.verify.cpp
new file mode 100644
index 0000000000000..5da882ad7b9ae
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/unreachable.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__utility/unreachable.h>
+// expected-error at -1 {{header '<__utility/unreachable.h>' is an implementation detail; #include '<utility>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/utility/unreachable.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/utility/unreachable.module.verify.cpp
index bbbf0e1b4a570..7041cc48e0663 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/utility/unreachable.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/utility/unreachable.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/variant/monostate.header.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/variant/monostate.header.verify.cpp
new file mode 100644
index 0000000000000..0dfef22378516
--- /dev/null
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/variant/monostate.header.verify.cpp
@@ -0,0 +1,21 @@
+// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by 'generate_private_header_tests.py'
+// and should not be edited manually.
+
+#include <__variant/monostate.h>
+// expected-error at -1 {{header '<__variant/monostate.h>' is an implementation detail; #include '<variant>' instead}}

diff  --git a/libcxx/test/libcxx/diagnostics/detail.headers/variant/monostate.module.verify.cpp b/libcxx/test/libcxx/diagnostics/detail.headers/variant/monostate.module.verify.cpp
index 5a94927d566bb..bb20cbbede3e0 100644
--- a/libcxx/test/libcxx/diagnostics/detail.headers/variant/monostate.module.verify.cpp
+++ b/libcxx/test/libcxx/diagnostics/detail.headers/variant/monostate.module.verify.cpp
@@ -1,3 +1,4 @@
+// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.

diff  --git a/libcxx/utils/generate_private_header_tests.py b/libcxx/utils/generate_private_header_tests.py
index 810657ea4f418..eef03439f74ff 100755
--- a/libcxx/utils/generate_private_header_tests.py
+++ b/libcxx/utils/generate_private_header_tests.py
@@ -25,8 +25,33 @@ def get_libcxx_paths():
 script_name, include_path, detail_header_test_root = get_libcxx_paths()
 
 
-def generate_test(header):
-    return f'''
+def generate_header_test(header, include_instead):
+    return f'''// -*- 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
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: modules-build
+// UNSUPPORTED: clang-11, clang-12, clang-13
+// UNSUPPORTED: apple-clang-11, apple-clang-12, apple-clang-13
+// UNSUPPORTED: gcc-11
+// UNSUPPORTED: libcpp-has-no-localization, libcpp-has-no-threads
+// ADDITIONAL_COMPILE_FLAGS: -U_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
+
+// WARNING: This test was generated by '{script_name}'
+// and should not be edited manually.
+
+#include <{header}>
+// expected-error at -1 {{{{header '<{header}>' is an implementation detail; #include {include_instead} instead}}}}
+'''
+
+
+def generate_module_test(header):
+    return f'''// -*- C++ -*-
 //===----------------------------------------------------------------------===//
 //
 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
@@ -42,7 +67,7 @@ def generate_test(header):
 
 // expected-error@*:* {{{{use of private header from outside its module: '{header}'}}}}
 #include <{header}>
-'''[1:]
+'''
 
 
 def relative_path(path):
@@ -58,6 +83,35 @@ def is_still_public(path):
     ]
 
 
+def find_header_name(header, directory):
+    """Returns part of the diagnostic for `#pragma clang include_instead`. This
+     usually matches the subdirectory the header lives in (e.g. a header in
+     `__algorithm` will return "'<algorithm>'"), but some headers are
+     special-cased.
+    """
+
+    # Most of the special-cased headers are in the top-level include directory
+    # (and don't have a point of reference for us to hook on to), but any
+    # sub-level header that is exported by multiple top-level headers (e.g.
+    # __compare/compare_three_way.h) is also included in this module map, as the
+    # diagnostic needs to include more than our simple heuristic.
+    header_map = {
+        'bit_reference':     "either '<bitset>' or '<vector>'",
+        'bits':              "one of {'<algorithm>', '<bit>', '<bitset>', '<numeric>', '<random>', '<unordered_map>', '<unordered_set>', '<vector>'}",
+        'hash_table':        "either '<unordered_map>' or '<unordered_set>'",
+        'locale':            "'<locale>'",
+        'mutex_base':        "either '<mutex>' or '<shared_mutex>'",
+        'node_handle':       "one of {'<map>', '<set>', '<unordered_map>', '<unordered_set>'}",
+        'split_buffer':      "either '<vector>' or '<deque>'",
+        'std_stream':        "'<streambuf>'",
+        'string':            "'<string>'",
+        'threading_support': "one of {'<atomic>', '<mutex>', '<semaphore>', '<thread>'}",
+        'tree':              "either '<map>' or '<set>'",
+        'tuple':             "either '<tuple>' or '<utility>'",
+    }
+    return header_map[header] if header in header_map else f"'<{directory[:-1]}>'"
+
+
 def main():
     paths = [
         relative_path(p) for p in Path(include_path).rglob('*')
@@ -68,11 +122,18 @@ def main():
         path_with_subdir = re.search(r'__(\w+)/(\w+)', path)
         directory = path_with_subdir.group(1) + '/' if path_with_subdir else ""
         file = path_with_subdir.group(2) if path_with_subdir else path[2:]
-        path_to_write = f'{detail_header_test_root}/{directory}{file}.module.verify.cpp'
         Path(f'{detail_header_test_root}/{directory}').mkdir(exist_ok=True)
         assert os.path.exists(f'{detail_header_test_root}/{directory}')
+
+        path_to_write = f'{detail_header_test_root}/{directory}{file}.header.verify.cpp'
+        include_instead = find_header_name(file, directory)
+        if include_instead != "'<>'":
+            with open(path_to_write, 'w') as f:
+                f.write(generate_header_test(path, include_instead))
+
+        path_to_write = f'{detail_header_test_root}/{directory}{file}.module.verify.cpp'
         with open(path_to_write, 'w') as f:
-            f.write(generate_test(path))
+            f.write(generate_module_test(path))
 
 
 if __name__ == '__main__':

diff  --git a/libcxxabi/include/threading_support.h b/libcxxabi/include/threading_support.h
new file mode 100644
index 0000000000000..3e533f91ee7f4
--- /dev/null
+++ b/libcxxabi/include/threading_support.h
@@ -0,0 +1,14 @@
+//===----------------------------------------------------------------------===//
+//
+// 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 _LIBCXXABI_THREADING_SUPPORT_H
+#define _LIBCXXABI_THREADING_SUPPORT_H
+
+#pragma GCC system_header
+#include <__threading_support>
+
+#endif // _LIBCXXABI_THREADING_SUPPORT_H

diff  --git a/libcxxabi/src/cxa_exception_storage.cpp b/libcxxabi/src/cxa_exception_storage.cpp
index 3a3233a1b9272..ce44c3a176a41 100644
--- a/libcxxabi/src/cxa_exception_storage.cpp
+++ b/libcxxabi/src/cxa_exception_storage.cpp
@@ -12,7 +12,7 @@
 
 #include "cxa_exception.h"
 
-#include <__threading_support>
+#include "threading_support.h"
 
 #if defined(_LIBCXXABI_HAS_NO_THREADS)
 

diff  --git a/libcxxabi/src/cxa_guard_impl.h b/libcxxabi/src/cxa_guard_impl.h
index 72940cc7e869a..b3c32028dc5a0 100644
--- a/libcxxabi/src/cxa_guard_impl.h
+++ b/libcxxabi/src/cxa_guard_impl.h
@@ -56,7 +56,7 @@
 
 #include <limits.h>
 #include <stdlib.h>
-#include <__threading_support>
+#include "threading_support.h"
 #ifndef _LIBCXXABI_HAS_NO_THREADS
 #  if defined(__ELF__) && defined(_LIBCXXABI_LINK_PTHREAD_LIB)
 #    pragma comment(lib, "pthread")

diff  --git a/libcxxabi/src/cxa_thread_atexit.cpp b/libcxxabi/src/cxa_thread_atexit.cpp
index 665f9e55694ab..1a04dddb34be7 100644
--- a/libcxxabi/src/cxa_thread_atexit.cpp
+++ b/libcxxabi/src/cxa_thread_atexit.cpp
@@ -8,7 +8,7 @@
 
 #include "abort_message.h"
 #include "cxxabi.h"
-#include <__threading_support>
+#include "threading_support.h"
 #ifndef _LIBCXXABI_HAS_NO_THREADS
 #if defined(__ELF__) && defined(_LIBCXXABI_LINK_PTHREAD_LIB)
 #pragma comment(lib, "pthread")

diff  --git a/libcxxabi/src/fallback_malloc.cpp b/libcxxabi/src/fallback_malloc.cpp
index 1d6c3808b2174..9db431ee8297a 100644
--- a/libcxxabi/src/fallback_malloc.cpp
+++ b/libcxxabi/src/fallback_malloc.cpp
@@ -8,7 +8,7 @@
 
 #include "fallback_malloc.h"
 
-#include <__threading_support>
+#include "threading_support.h"
 #ifndef _LIBCXXABI_HAS_NO_THREADS
 #if defined(__ELF__) && defined(_LIBCXXABI_LINK_PTHREAD_LIB)
 #pragma comment(lib, "pthread")

diff  --git a/libcxxabi/test/test_exception_storage.pass.cpp b/libcxxabi/test/test_exception_storage.pass.cpp
index 934cc4b6a7cba..4f1121bc7f39b 100644
--- a/libcxxabi/test/test_exception_storage.pass.cpp
+++ b/libcxxabi/test/test_exception_storage.pass.cpp
@@ -9,7 +9,7 @@
 #include <algorithm>
 #include <cstdio>
 #include <cstdlib>
-#include <__threading_support>
+#include "threading_support.h"
 #include <unistd.h>
 
 #include "../src/cxa_exception.h"

diff  --git a/libcxxabi/test/test_fallback_malloc.pass.cpp b/libcxxabi/test/test_fallback_malloc.pass.cpp
index cc59129bf6608..886b9a5f895ad 100644
--- a/libcxxabi/test/test_fallback_malloc.pass.cpp
+++ b/libcxxabi/test/test_fallback_malloc.pass.cpp
@@ -9,7 +9,7 @@
 #include <cstdio>
 #include <deque>
 
-#include <__threading_support>
+#include "threading_support.h"
 
 typedef std::deque<void *> container;
 

diff  --git a/llvm/utils/gn/secondary/libcxxabi/include/BUILD.gn b/llvm/utils/gn/secondary/libcxxabi/include/BUILD.gn
index 74541e6b31227..d2b6bc4422d29 100644
--- a/llvm/utils/gn/secondary/libcxxabi/include/BUILD.gn
+++ b/llvm/utils/gn/secondary/libcxxabi/include/BUILD.gn
@@ -4,6 +4,7 @@ copy("include") {
   sources = [
     "__cxxabi_config.h",
     "cxxabi.h",
+    "threading_support.h",
   ]
   outputs = [ "$root_build_dir/include/c++/v1/{{source_target_relative}}" ]
 }


        


More information about the llvm-commits mailing list