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 @@ -12,6 +12,7 @@ #include <__algorithm/any_of.h> #include <__config> #include <__iterator/iterator_traits.h> +#include <__pstl/internal/execution_impl.h> #include <__pstl/internal/parallel_impl.h> #include <__pstl/internal/unseq_backend_simd.h> #include <__type_traits/enable_if.h> 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 @@ -12,8 +12,12 @@ #include <__algorithm/fill.h> #include <__config> #include <__iterator/iterator_traits.h> +#include <__pstl/internal/execution_impl.h> +#include <__pstl/internal/parallel_backend.h> +#include <__pstl/internal/parallel_backend_serial.h> #include <__pstl/internal/parallel_impl.h> #include <__pstl/internal/unseq_backend_simd.h> +#include <__type_traits/enable_if.h> #include <__type_traits/is_execution_policy.h> #include <__type_traits/remove_cvref.h> #include <__utility/terminate_on_exception.h> 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 @@ -12,8 +12,12 @@ #include <__algorithm/comp.h> #include <__algorithm/find.h> #include <__config> +#include <__functional/operations.h> +#include <__iterator/iterator_traits.h> +#include <__pstl/internal/execution_impl.h> #include <__pstl/internal/parallel_impl.h> #include <__pstl/internal/unseq_backend_simd.h> +#include <__type_traits/enable_if.h> #include <__type_traits/is_execution_policy.h> #include <__type_traits/remove_cvref.h> #include <__utility/terminate_on_exception.h> 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 @@ -14,7 +14,9 @@ #include <__config> #include <__iterator/iterator_traits.h> #include <__pstl/internal/parallel_backend.h> +#include <__pstl/internal/parallel_backend_serial.h> #include <__pstl/internal/unseq_backend_simd.h> +#include <__type_traits/enable_if.h> #include <__type_traits/is_execution_policy.h> #include <__type_traits/remove_cvref.h> #include <__utility/terminate_on_exception.h> diff --git a/libcxx/include/__pstl/internal/execution_impl.h b/libcxx/include/__pstl/internal/execution_impl.h --- a/libcxx/include/__pstl/internal/execution_impl.h +++ b/libcxx/include/__pstl/internal/execution_impl.h @@ -14,9 +14,11 @@ #include <__iterator/iterator_traits.h> #include <__type_traits/conditional.h> #include <__type_traits/conjunction.h> +#include <__type_traits/decay.h> +#include <__type_traits/integral_constant.h> #include <__type_traits/is_base_of.h> -#include "execution_defs.h" +#include <__pstl/internal/execution_defs.h> #if !defined(_LIBCPP_HAS_NO_INCOMPLETE_PSTL) && _LIBCPP_STD_VER >= 17 diff --git a/libcxx/include/__pstl/internal/parallel_backend_serial.h b/libcxx/include/__pstl/internal/parallel_backend_serial.h --- a/libcxx/include/__pstl/internal/parallel_backend_serial.h +++ b/libcxx/include/__pstl/internal/parallel_backend_serial.h @@ -14,6 +14,7 @@ #include <__memory/allocator.h> #include <__pstl/internal/execution_impl.h> #include <__utility/forward.h> +#include #if !defined(_LIBCPP_HAS_NO_INCOMPLETE_PSTL) && _LIBCPP_STD_VER >= 17 diff --git a/libcxx/include/__pstl/internal/parallel_impl.h b/libcxx/include/__pstl/internal/parallel_impl.h --- a/libcxx/include/__pstl/internal/parallel_impl.h +++ b/libcxx/include/__pstl/internal/parallel_impl.h @@ -13,7 +13,10 @@ #include <__atomic/atomic.h> #include <__atomic/memory_order.h> #include <__config> +#include <__iterator/iterator_traits.h> #include <__pstl/internal/parallel_backend.h> +#include <__pstl/internal/parallel_backend_serial.h> +#include <__utility/forward.h> #if !defined(_LIBCPP_HAS_NO_INCOMPLETE_PSTL) && _LIBCPP_STD_VER >= 17 diff --git a/libcxx/include/__pstl/internal/unseq_backend_simd.h b/libcxx/include/__pstl/internal/unseq_backend_simd.h --- a/libcxx/include/__pstl/internal/unseq_backend_simd.h +++ b/libcxx/include/__pstl/internal/unseq_backend_simd.h @@ -12,12 +12,15 @@ #include <__config> #include <__functional/operations.h> +#include <__iterator/iterator_traits.h> #include <__type_traits/is_arithmetic.h> +#include <__type_traits/is_same.h> +#include <__utility/move.h> #include <__utility/pair.h> #include #include -#include "utils.h" +#include <__pstl/internal/utils.h> // This header defines the minimum set of vector routines required // to support parallel STL.