diff --git a/libcxx/include/__ranges/join_view.h b/libcxx/include/__ranges/join_view.h --- a/libcxx/include/__ranges/join_view.h +++ b/libcxx/include/__ranges/join_view.h @@ -9,8 +9,15 @@ #ifndef _LIBCPP___RANGES_JOIN_VIEW_H #define _LIBCPP___RANGES_JOIN_VIEW_H +#include <__concepts/constructible.h> +#include <__concepts/convertible_to.h> +#include <__concepts/copyable.h> +#include <__concepts/derived_from.h> +#include <__concepts/equality_comparable.h> #include <__config> #include <__iterator/concepts.h> +#include <__iterator/iter_move.h> +#include <__iterator/iter_swap.h> #include <__iterator/iterator_traits.h> #include <__ranges/access.h> #include <__ranges/all.h> diff --git a/libcxx/include/algorithm b/libcxx/include/algorithm --- a/libcxx/include/algorithm +++ b/libcxx/include/algorithm @@ -881,7 +881,7 @@ #include <__debug> #include #include -#include +#include // TODO: Remove this include #include #include #include diff --git a/libcxx/include/experimental/coroutine b/libcxx/include/experimental/coroutine --- a/libcxx/include/experimental/coroutine +++ b/libcxx/include/experimental/coroutine @@ -46,9 +46,10 @@ */ #include <__assert> // all public C++ headers provide the assertion handler +#include <__functional/hash.h> #include #include -#include +#include // TODO: Remove this include #include // for hash #include #include diff --git a/libcxx/include/experimental/propagate_const b/libcxx/include/experimental/propagate_const --- a/libcxx/include/experimental/propagate_const +++ b/libcxx/include/experimental/propagate_const @@ -108,10 +108,12 @@ */ #include <__assert> // all public C++ headers provide the assertion handler +#include <__functional/operations.h> +#include <__utility/forward.h> #include <__utility/move.h> #include <__utility/swap.h> #include -#include +#include // TODO: Remove this include #include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/experimental/simd b/libcxx/include/experimental/simd --- a/libcxx/include/experimental/simd +++ b/libcxx/include/experimental/simd @@ -650,10 +650,12 @@ */ #include <__assert> // all public C++ headers provide the assertion handler +#include <__functional/operations.h> #include #include #include -#include +#include // TODO: Remove this include +#include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/ext/hash_map b/libcxx/include/ext/hash_map --- a/libcxx/include/ext/hash_map +++ b/libcxx/include/ext/hash_map @@ -206,7 +206,7 @@ #include <__hash_table> #include #include -#include +#include // TODO: Remove this include #include #include diff --git a/libcxx/include/ext/hash_set b/libcxx/include/ext/hash_set --- a/libcxx/include/ext/hash_set +++ b/libcxx/include/ext/hash_set @@ -197,7 +197,7 @@ #include <__hash_table> #include #include -#include +#include // TODO: Remove this include #if defined(__DEPRECATED) && __DEPRECATED #if defined(_LIBCPP_WARNING) diff --git a/libcxx/include/map b/libcxx/include/map --- a/libcxx/include/map +++ b/libcxx/include/map @@ -539,7 +539,7 @@ #include <__utility/forward.h> #include <__utility/swap.h> #include -#include +#include // TODO: Remove this include #include #include // __libcpp_erase_if_container #include diff --git a/libcxx/include/mutex b/libcxx/include/mutex --- a/libcxx/include/mutex +++ b/libcxx/include/mutex @@ -192,7 +192,7 @@ #include <__threading_support> #include <__utility/forward.h> #include -#include +#include // TODO: Remove this include #include #ifndef _LIBCPP_CXX03_LANG # include diff --git a/libcxx/include/numeric b/libcxx/include/numeric --- a/libcxx/include/numeric +++ b/libcxx/include/numeric @@ -147,7 +147,7 @@ #include <__assert> // all public C++ headers provide the assertion handler #include <__config> #include // for isnormal -#include +#include // TODO: Remove this include #include #include diff --git a/libcxx/include/optional b/libcxx/include/optional --- a/libcxx/include/optional +++ b/libcxx/include/optional @@ -162,10 +162,17 @@ #include <__availability> #include <__concepts/invocable.h> #include <__config> +#include <__functional/hash.h> +#include <__functional/invoke.h> +#include <__functional/unary_function.h> +#include <__memory/construct_at.h> +#include <__tuple> +#include <__utility/forward.h> #include <__utility/in_place.h> +#include <__utility/move.h> #include <__utility/swap.h> #include -#include +#include // TODO: Remove this include #include #include #include diff --git a/libcxx/include/queue b/libcxx/include/queue --- a/libcxx/include/queue +++ b/libcxx/include/queue @@ -227,7 +227,7 @@ #include <__utility/forward.h> #include #include -#include +#include // TODO: Remove this include #include #include #include diff --git a/libcxx/include/regex b/libcxx/include/regex --- a/libcxx/include/regex +++ b/libcxx/include/regex @@ -763,6 +763,7 @@ */ #include <__algorithm/find.h> +#include <__algorithm/search.h> #include <__assert> // all public C++ headers provide the assertion handler #include <__config> #include <__iterator/wrap_iter.h> diff --git a/libcxx/include/set b/libcxx/include/set --- a/libcxx/include/set +++ b/libcxx/include/set @@ -481,7 +481,7 @@ #include <__tree> #include <__utility/forward.h> #include -#include +#include // TODO: Remove this include #include #include // __libcpp_erase_if_container #include diff --git a/libcxx/include/thread b/libcxx/include/thread --- a/libcxx/include/thread +++ b/libcxx/include/thread @@ -90,7 +90,7 @@ #include <__threading_support> #include <__utility/forward.h> #include -#include +#include // TODO: Remove this include #include #include #include diff --git a/libcxx/include/unordered_map b/libcxx/include/unordered_map --- a/libcxx/include/unordered_map +++ b/libcxx/include/unordered_map @@ -525,7 +525,7 @@ #include <__node_handle> #include <__utility/forward.h> #include -#include +#include // TODO: Remove this include #include // __libcpp_erase_if_container #include #include diff --git a/libcxx/include/unordered_set b/libcxx/include/unordered_set --- a/libcxx/include/unordered_set +++ b/libcxx/include/unordered_set @@ -469,7 +469,7 @@ #include <__node_handle> #include <__utility/forward.h> #include -#include +#include // TODO: Remove this include #include // __libcpp_erase_if_container #include diff --git a/libcxx/include/valarray b/libcxx/include/valarray --- a/libcxx/include/valarray +++ b/libcxx/include/valarray @@ -350,9 +350,14 @@ #include <__algorithm/unwrap_iter.h> #include <__assert> // all public C++ headers provide the assertion handler #include <__config> +#include <__functional/operations.h> +#include <__memory/allocator.h> +#include <__memory/uninitialized_algorithms.h> +#include <__utility/move.h> +#include <__utility/swap.h> #include #include -#include +#include // TODO: Remove this include #include #include #include diff --git a/libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.pass.cpp b/libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.pass.cpp --- a/libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.pass.cpp +++ b/libcxx/test/std/algorithms/alg.modifying.operations/alg.transform/ranges.transform.pass.cpp @@ -40,6 +40,7 @@ #include #include #include +#include #include #include "test_iterators.h" diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/mismatch/ranges_mismatch.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/mismatch/ranges_mismatch.pass.cpp --- a/libcxx/test/std/algorithms/alg.nonmodifying/mismatch/ranges_mismatch.pass.cpp +++ b/libcxx/test/std/algorithms/alg.nonmodifying/mismatch/ranges_mismatch.pass.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #include #include "test_iterators.h" diff --git a/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.max.pass.cpp b/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.max.pass.cpp --- a/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.max.pass.cpp +++ b/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.max.pass.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #include #include "almost_satisfies_types.h" diff --git a/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.max_element.pass.cpp b/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.max_element.pass.cpp --- a/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.max_element.pass.cpp +++ b/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.max_element.pass.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include diff --git a/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.min.pass.cpp b/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.min.pass.cpp --- a/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.min.pass.cpp +++ b/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.min.pass.cpp @@ -26,6 +26,7 @@ #include #include #include +#include #include #include "almost_satisfies_types.h" diff --git a/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.min_element.pass.cpp b/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.min_element.pass.cpp --- a/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.min_element.pass.cpp +++ b/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.min_element.pass.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include diff --git a/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.minmax.pass.cpp b/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.minmax.pass.cpp --- a/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.minmax.pass.cpp +++ b/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.minmax.pass.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #include #include "test_iterators.h" diff --git a/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.minmax_element.pass.cpp b/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.minmax_element.pass.cpp --- a/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.minmax_element.pass.cpp +++ b/libcxx/test/std/algorithms/alg.sorting/alg.min.max/ranges.minmax_element.pass.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include "almost_satisfies_types.h" diff --git a/libcxx/test/std/ranges/range.adaptors/range.lazy.split/constraints.compile.pass.cpp b/libcxx/test/std/ranges/range.adaptors/range.lazy.split/constraints.compile.pass.cpp --- a/libcxx/test/std/ranges/range.adaptors/range.lazy.split/constraints.compile.pass.cpp +++ b/libcxx/test/std/ranges/range.adaptors/range.lazy.split/constraints.compile.pass.cpp @@ -15,6 +15,7 @@ // (forward_range || tiny-range) // class lazy_split_view; +#include #include #include "test_iterators.h"