diff --git a/libcxx/include/__algorithm/pstl_any_all_none_of.h b/libcxx/include/__algorithm/pstl_any_all_none_of.h --- a/libcxx/include/__algorithm/pstl_any_all_none_of.h +++ b/libcxx/include/__algorithm/pstl_any_all_none_of.h @@ -17,6 +17,7 @@ #include <__type_traits/enable_if.h> #include <__type_traits/is_execution_policy.h> #include <__type_traits/remove_cvref.h> +#include <__utility/move.h> #include <__utility/terminate_on_exception.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/__algorithm/pstl_copy.h b/libcxx/include/__algorithm/pstl_copy.h --- a/libcxx/include/__algorithm/pstl_copy.h +++ b/libcxx/include/__algorithm/pstl_copy.h @@ -14,9 +14,11 @@ #include <__config> #include <__functional/identity.h> #include <__iterator/iterator_traits.h> +#include <__type_traits/enable_if.h> #include <__type_traits/is_constant_evaluated.h> #include <__type_traits/is_execution_policy.h> #include <__type_traits/is_trivially_copyable.h> +#include <__type_traits/remove_cvref.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__algorithm/pstl_count.h b/libcxx/include/__algorithm/pstl_count.h --- a/libcxx/include/__algorithm/pstl_count.h +++ b/libcxx/include/__algorithm/pstl_count.h @@ -16,10 +16,13 @@ #include <__algorithm/pstl_frontend_dispatch.h> #include <__atomic/atomic.h> #include <__config> +#include <__functional/operations.h> #include <__iterator/iterator_traits.h> #include <__numeric/pstl_transform_reduce.h> +#include <__type_traits/enable_if.h> #include <__type_traits/is_execution_policy.h> #include <__type_traits/remove_cvref.h> +#include <__utility/move.h> #include <__utility/terminate_on_exception.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/__algorithm/pstl_fill.h b/libcxx/include/__algorithm/pstl_fill.h --- a/libcxx/include/__algorithm/pstl_fill.h +++ b/libcxx/include/__algorithm/pstl_fill.h @@ -15,8 +15,10 @@ #include <__config> #include <__iterator/cpp17_iterator_concepts.h> #include <__iterator/iterator_traits.h> +#include <__type_traits/enable_if.h> #include <__type_traits/is_execution_policy.h> #include <__type_traits/remove_cvref.h> +#include <__utility/move.h> #include <__utility/terminate_on_exception.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/__algorithm/pstl_find.h b/libcxx/include/__algorithm/pstl_find.h --- a/libcxx/include/__algorithm/pstl_find.h +++ b/libcxx/include/__algorithm/pstl_find.h @@ -16,8 +16,10 @@ #include <__config> #include <__iterator/cpp17_iterator_concepts.h> #include <__iterator/iterator_traits.h> +#include <__type_traits/enable_if.h> #include <__type_traits/is_execution_policy.h> #include <__type_traits/remove_cvref.h> +#include <__utility/move.h> #include <__utility/terminate_on_exception.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/__algorithm/pstl_for_each.h b/libcxx/include/__algorithm/pstl_for_each.h --- a/libcxx/include/__algorithm/pstl_for_each.h +++ b/libcxx/include/__algorithm/pstl_for_each.h @@ -16,9 +16,11 @@ #include <__config> #include <__iterator/cpp17_iterator_concepts.h> #include <__iterator/iterator_traits.h> +#include <__type_traits/enable_if.h> #include <__type_traits/is_execution_policy.h> #include <__type_traits/remove_cvref.h> #include <__type_traits/void_t.h> +#include <__utility/move.h> #include <__utility/terminate_on_exception.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/__algorithm/pstl_generate.h b/libcxx/include/__algorithm/pstl_generate.h --- a/libcxx/include/__algorithm/pstl_generate.h +++ b/libcxx/include/__algorithm/pstl_generate.h @@ -14,8 +14,10 @@ #include <__algorithm/pstl_frontend_dispatch.h> #include <__config> #include <__iterator/cpp17_iterator_concepts.h> +#include <__type_traits/enable_if.h> #include <__type_traits/is_execution_policy.h> #include <__type_traits/remove_cvref.h> +#include <__utility/move.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__algorithm/pstl_is_partitioned.h b/libcxx/include/__algorithm/pstl_is_partitioned.h --- a/libcxx/include/__algorithm/pstl_is_partitioned.h +++ b/libcxx/include/__algorithm/pstl_is_partitioned.h @@ -14,8 +14,10 @@ #include <__algorithm/pstl_find.h> #include <__algorithm/pstl_frontend_dispatch.h> #include <__config> +#include <__type_traits/enable_if.h> #include <__type_traits/is_execution_policy.h> #include <__type_traits/remove_cvref.h> +#include <__utility/move.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__algorithm/pstl_merge.h b/libcxx/include/__algorithm/pstl_merge.h --- a/libcxx/include/__algorithm/pstl_merge.h +++ b/libcxx/include/__algorithm/pstl_merge.h @@ -12,8 +12,10 @@ #include <__algorithm/pstl_backend.h> #include <__config> #include <__functional/operations.h> +#include <__type_traits/enable_if.h> #include <__type_traits/is_execution_policy.h> #include <__type_traits/remove_cvref.h> +#include <__utility/move.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__algorithm/pstl_replace.h b/libcxx/include/__algorithm/pstl_replace.h --- a/libcxx/include/__algorithm/pstl_replace.h +++ b/libcxx/include/__algorithm/pstl_replace.h @@ -13,6 +13,10 @@ #include <__algorithm/pstl_for_each.h> #include <__algorithm/pstl_frontend_dispatch.h> #include <__config> +#include <__iterator/iterator_traits.h> +#include <__type_traits/enable_if.h> +#include <__type_traits/remove_cvref.h> +#include <__utility/move.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__algorithm/pstl_stable_sort.h b/libcxx/include/__algorithm/pstl_stable_sort.h --- a/libcxx/include/__algorithm/pstl_stable_sort.h +++ b/libcxx/include/__algorithm/pstl_stable_sort.h @@ -12,8 +12,10 @@ #include <__algorithm/pstl_backend.h> #include <__config> #include <__functional/operations.h> +#include <__type_traits/enable_if.h> #include <__type_traits/is_execution_policy.h> #include <__type_traits/remove_cvref.h> +#include <__utility/move.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/__algorithm/pstl_transform.h b/libcxx/include/__algorithm/pstl_transform.h --- a/libcxx/include/__algorithm/pstl_transform.h +++ b/libcxx/include/__algorithm/pstl_transform.h @@ -13,7 +13,10 @@ #include <__config> #include <__iterator/cpp17_iterator_concepts.h> #include <__iterator/iterator_traits.h> +#include <__type_traits/enable_if.h> #include <__type_traits/is_execution_policy.h> +#include <__type_traits/remove_cvref.h> +#include <__utility/move.h> #include <__utility/terminate_on_exception.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/__locale b/libcxx/include/__locale --- a/libcxx/include/__locale +++ b/libcxx/include/__locale @@ -12,6 +12,7 @@ #include <__availability> #include <__config> +#include <__memory/shared_ptr.h> // __shared_count #include <__type_traits/make_unsigned.h> #include #include diff --git a/libcxx/include/regex b/libcxx/include/regex --- a/libcxx/include/regex +++ b/libcxx/include/regex @@ -796,6 +796,7 @@ #include <__iterator/default_sentinel.h> #include <__iterator/wrap_iter.h> #include <__locale> +#include <__memory/shared_ptr.h> #include <__memory_resource/polymorphic_allocator.h> #include <__type_traits/is_swappable.h> #include <__utility/move.h> diff --git a/libcxx/test/libcxx/transitive_includes/cxx23.csv b/libcxx/test/libcxx/transitive_includes/cxx23.csv --- a/libcxx/test/libcxx/transitive_includes/cxx23.csv +++ b/libcxx/test/libcxx/transitive_includes/cxx23.csv @@ -94,8 +94,14 @@ codecvt cstdlib codecvt cstring codecvt cwchar +codecvt initializer_list +codecvt iosfwd +codecvt limits codecvt mutex +codecvt new +codecvt stdexcept codecvt string +codecvt typeinfo codecvt version compare cmath compare cstddef @@ -240,9 +246,13 @@ fstream cwchar fstream filesystem fstream initializer_list +fstream iosfwd fstream istream +fstream limits fstream mutex +fstream new fstream ostream +fstream stdexcept fstream string fstream typeinfo fstream version @@ -287,9 +297,14 @@ ios cstdlib ios cstring ios cwchar +ios initializer_list ios iosfwd +ios limits ios mutex +ios new +ios stdexcept ios string +ios typeinfo ios version iosfwd version iostream ios @@ -344,8 +359,10 @@ locale limits locale mutex locale new +locale stdexcept locale streambuf locale string +locale typeinfo locale version map compare map cstddef @@ -482,10 +499,13 @@ regex cwchar regex deque regex initializer_list +regex iosfwd regex limits regex mutex +regex new regex stdexcept regex string +regex typeinfo regex vector regex version scoped_allocator cstddef diff --git a/libcxx/test/libcxx/transitive_includes/cxx26.csv b/libcxx/test/libcxx/transitive_includes/cxx26.csv --- a/libcxx/test/libcxx/transitive_includes/cxx26.csv +++ b/libcxx/test/libcxx/transitive_includes/cxx26.csv @@ -94,8 +94,14 @@ codecvt cstdlib codecvt cstring codecvt cwchar +codecvt initializer_list +codecvt iosfwd +codecvt limits codecvt mutex +codecvt new +codecvt stdexcept codecvt string +codecvt typeinfo codecvt version compare cmath compare cstddef @@ -240,9 +246,13 @@ fstream cwchar fstream filesystem fstream initializer_list +fstream iosfwd fstream istream +fstream limits fstream mutex +fstream new fstream ostream +fstream stdexcept fstream string fstream typeinfo fstream version @@ -287,9 +297,14 @@ ios cstdlib ios cstring ios cwchar +ios initializer_list ios iosfwd +ios limits ios mutex +ios new +ios stdexcept ios string +ios typeinfo ios version iosfwd version iostream ios @@ -344,8 +359,10 @@ locale limits locale mutex locale new +locale stdexcept locale streambuf locale string +locale typeinfo locale version map compare map cstddef @@ -482,10 +499,13 @@ regex cwchar regex deque regex initializer_list +regex iosfwd regex limits regex mutex +regex new regex stdexcept regex string +regex typeinfo regex vector regex version scoped_allocator cstddef diff --git a/libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.pass.cpp b/libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.pass.cpp --- a/libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.pass.cpp +++ b/libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.pass.cpp @@ -25,6 +25,7 @@ #include #include #include +#include #include #include "test_format_context.h" diff --git a/libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/path.pass.cpp b/libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/path.pass.cpp --- a/libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/path.pass.cpp +++ b/libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/path.pass.cpp @@ -20,9 +20,10 @@ // explicit basic_ifstream(const filesystem::path& s, // ios_base::openmode mode = ios_base::in); -#include -#include #include +#include +#include +#include #include "test_macros.h" diff --git a/libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/path.pass.cpp b/libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/path.pass.cpp --- a/libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/path.pass.cpp +++ b/libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/path.pass.cpp @@ -17,11 +17,13 @@ // explicit basic_ofstream(const filesystem::path& s, ios_base::openmode mode = ios_base::out); -#include -#include #include -#include "test_macros.h" +#include +#include +#include + #include "platform_support.h" +#include "test_macros.h" namespace fs = std::filesystem; diff --git a/libcxx/test/std/input.output/iostreams.base/ios.base/ios.types/ios_failure/ctor_string_error_code.pass.cpp b/libcxx/test/std/input.output/iostreams.base/ios.base/ios.types/ios_failure/ctor_string_error_code.pass.cpp --- a/libcxx/test/std/input.output/iostreams.base/ios.base/ios.types/ios_failure/ctor_string_error_code.pass.cpp +++ b/libcxx/test/std/input.output/iostreams.base/ios.base/ios.types/ios_failure/ctor_string_error_code.pass.cpp @@ -12,10 +12,11 @@ // explicit failure(const string& msg, const error_code& ec = io_errc::stream); +#include #include #include #include -#include +#include #include "test_macros.h" diff --git a/libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_copy.pass.cpp b/libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_copy.pass.cpp --- a/libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_copy.pass.cpp +++ b/libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_copy.pass.cpp @@ -21,9 +21,10 @@ // XFAIL: no-wide-characters -#include -#include #include +#include +#include +#include #include "test_macros.h" diff --git a/libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp b/libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp --- a/libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp +++ b/libcxx/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp @@ -17,9 +17,10 @@ // XFAIL: no-wide-characters -#include -#include #include +#include +#include +#include #include "test_macros.h" diff --git a/libcxx/test/std/ranges/range.factories/range.istream.view/cpo.pass.cpp b/libcxx/test/std/ranges/range.factories/range.istream.view/cpo.pass.cpp --- a/libcxx/test/std/ranges/range.factories/range.istream.view/cpo.pass.cpp +++ b/libcxx/test/std/ranges/range.factories/range.istream.view/cpo.pass.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include "test_macros.h" #include "utils.h" diff --git a/libcxx/test/std/ranges/range.factories/range.istream.view/iterator/ctor.pass.cpp b/libcxx/test/std/ranges/range.factories/range.istream.view/iterator/ctor.pass.cpp --- a/libcxx/test/std/ranges/range.factories/range.istream.view/iterator/ctor.pass.cpp +++ b/libcxx/test/std/ranges/range.factories/range.istream.view/iterator/ctor.pass.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include "test_macros.h" #include "../utils.h" diff --git a/libcxx/test/std/ranges/range.factories/range.istream.view/iterator/special_op.pass.cpp b/libcxx/test/std/ranges/range.factories/range.istream.view/iterator/special_op.pass.cpp --- a/libcxx/test/std/ranges/range.factories/range.istream.view/iterator/special_op.pass.cpp +++ b/libcxx/test/std/ranges/range.factories/range.istream.view/iterator/special_op.pass.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include "test_macros.h" #include "../utils.h" diff --git a/libcxx/test/std/re/re.regex/re.regex.assign/assign_iter_iter_flag.pass.cpp b/libcxx/test/std/re/re.regex/re.regex.assign/assign_iter_iter_flag.pass.cpp --- a/libcxx/test/std/re/re.regex/re.regex.assign/assign_iter_iter_flag.pass.cpp +++ b/libcxx/test/std/re/re.regex/re.regex.assign/assign_iter_iter_flag.pass.cpp @@ -15,8 +15,9 @@ // assign(InputIterator first, InputIterator last, // flag_type f = regex_constants::ECMAScript); -#include #include +#include +#include #include "test_macros.h" #include "test_iterators.h" diff --git a/libcxx/test/std/re/re.regex/re.regex.assign/assign_string_flag.pass.cpp b/libcxx/test/std/re/re.regex/re.regex.assign/assign_string_flag.pass.cpp --- a/libcxx/test/std/re/re.regex/re.regex.assign/assign_string_flag.pass.cpp +++ b/libcxx/test/std/re/re.regex/re.regex.assign/assign_string_flag.pass.cpp @@ -14,8 +14,10 @@ // basic_regex& assign(const basic_string& s, // flag_type f = regex_constants::ECMAScript); -#include #include +#include +#include + #include "test_macros.h" int main(int, char**) diff --git a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.pass.cpp b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.pass.cpp --- a/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.pass.cpp +++ b/libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.pass.cpp @@ -24,6 +24,7 @@ #include #include +#include #include #include "test_format_context.h" diff --git a/libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp b/libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp --- a/libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp +++ b/libcxx/test/std/utilities/format/format.formattable/concept.formattable.compile.pass.cpp @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include diff --git a/libcxx/test/std/utilities/format/types.compile.pass.cpp b/libcxx/test/std/utilities/format/types.compile.pass.cpp --- a/libcxx/test/std/utilities/format/types.compile.pass.cpp +++ b/libcxx/test/std/utilities/format/types.compile.pass.cpp @@ -57,7 +57,12 @@ // including the header. #include +#include #include +#include +#include +#include +#include #include "test_macros.h" @@ -87,7 +92,7 @@ static_assert(std::semiregular>); static_assert(std::semiregular>); -static_assert(std::semiregular>); +static_assert(std::semiregular>); static_assert(std::semiregular>); static_assert(std::semiregular>); @@ -125,7 +130,7 @@ static_assert(std::semiregular>); static_assert(std::semiregular>); -static_assert(std::semiregular>); +static_assert(std::semiregular>); static_assert(std::semiregular>); static_assert(std::semiregular>);