================ @@ -0,0 +1,33 @@ +//===----------------------------------------------------------------------===// +// +// Part of the LLVM Project, under the Apache 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 _LIBCPP___ALGORITHM_PSTL_BACKENDS_OPENMP_BACKEND_ANY_OF_H +#define _LIBCPP___ALGORITHM_PSTL_BACKENDS_OPENMP_BACKEND_ANY_OF_H + +#include <__algorithm/any_of.h> +#include <__algorithm/pstl_backends/cpu_backends/backend.h> +#include <__algorithm/pstl_backends/openmp/backend.h> +#include <__config> +#include <__type_traits/is_execution_policy.h> + +#if !defined(_LIBCPP_HAS_NO_INCOMPLETE_PSTL) && _LIBCPP_STD_VER >= 17 + +_LIBCPP_BEGIN_NAMESPACE_STD + +template <class _ExecutionPolicy, class _ForwardIterator, class _Predicate> +_LIBCPP_HIDE_FROM_ABI bool +__pstl_any_of(__omp_backend_tag, _ForwardIterator __first, _ForwardIterator __last, _Predicate __pred) { ---------------- AntonRydahl wrote:
Here is the full error for one of the tests that fail if I do not make a placeholder for any_of: ``` ******************** TEST 'llvm-libc++-shared.cfg.in :: std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp' FAILED ******************** Exit Code: 1 Command Output (stdout): -- # COMPILED WITH /dev/shm/rydahl1/LLVM/build/./bin/clang++ /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp -pthread --target=x86_64-unknown-linux-gnu -nostdinc++ -I /dev/shm/rydahl1/LLVM/build/include/c++/v1 -I /dev/shm/rydahl1/LLVM/build/include/x86_64-unknown-linux-gnu/c++/v1 -I /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/support -std=c++26 -Werror -Wall -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wunused-template -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-noexcept-type -Wno-atomic-alignment -Wno-reserved-module-identifier -Wdeprecated-copy -Wdeprecated-copy-dtor -Wno-user-defined-literals -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -Wno-local-type-template-args -Wno-c++11-extensions -Wno-unknown-pragmas -Wno-pass-failed -Wno-mismatched-new-delete -Wno-redundant-move -Wno-self-move -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL -Werror=thread-safety -Wuser-defined-warnings -lc++experimental -nostdlib++ -L /dev/shm/rydahl1/LLVM/build/./lib/x86_64-unknown-linux-gnu -Wl,-rpath,/dev/shm/rydahl1/LLVM/build/./lib/x86_64-unknown-linux-gnu -lc++ -o /dev/shm/rydahl1/LLVM/build/runtimes/runtimes-bins/test/std/algorithms/alg.modifying.operations/alg.fill/Output/pstl.fill_n.pass.cpp.dir/t.tmp.exe # executed command: /dev/shm/rydahl1/LLVM/build/./bin/clang++ /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp -pthread --target=x86_64-unknown-linux-gnu -nostdinc++ -I /dev/shm/rydahl1/LLVM/build/include/c++/v1 -I /dev/shm/rydahl1/LLVM/build/include/x86_64-unknown-linux-gnu/c++/v1 -I /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/support -std=c++26 -Werror -Wall -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wunused-template -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move -Wno-noexcept-type -Wno-atomic-alignment -Wno-reserved-module-identifier -Wdeprecated-copy -Wdeprecated-copy-dtor -Wno-user-defined-literals -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter -Wunreachable-code -Wno-unused-local-typedef -Wno-local-type-template-args -Wno-c++11-extensions -Wno-unknown-pragmas -Wno-pass-failed -Wno-mismatched-new-delete -Wno-redundant-move -Wno-self-move -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL -Werror=thread-safety -Wuser-defined-warnings -lc++experimental -nostdlib++ -L /dev/shm/rydahl1/LLVM/build/./lib/x86_64-unknown-linux-gnu -Wl,-rpath,/dev/shm/rydahl1/LLVM/build/./lib/x86_64-unknown-linux-gnu -lc++ -o /dev/shm/rydahl1/LLVM/build/runtimes/runtimes-bins/test/std/algorithms/alg.modifying.operations/alg.fill/Output/pstl.fill_n.pass.cpp.dir/t.tmp.exe # .---command stderr------------ # | In file included from /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp:19: # | In file included from /dev/shm/rydahl1/LLVM/build/include/c++/v1/algorithm:1827: # | In file included from /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_any_all_none_of.h:12: # | In file included from /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_find.h:14: # | In file included from /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_backend.h:12: # | In file included from /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_backends/cpu_backend.h:58: # | In file included from /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_backends/cpu_backends/any_of.h:14: # | In file included from /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_backends/cpu_backends/backend.h:16: # | In file included from /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_backends/cpu_backends/serial.h:17: # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:724:45: error: cannot form a reference to 'void' # | 724 | return is_constructible_v<_Tp, _Up&&> && # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:827:47: note: in instantiation of function template specialization 'std::optional<std::__empty>::_CheckOptionalArgsConstructor::__enable_implicit<void>' requested here # | 827 | _CheckOptionalArgsCtor<_Up>::template __enable_implicit<_Up>() # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:830:15: note: while substituting prior template arguments into non-type template parameter [with _Up = decltype(std::__pstl_fill<std::execution::parallel_unsequenced_policy>(typename __select_backend<parallel_unsequenced_policy>::type{}, std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args)))] # | 830 | constexpr optional(_Up&& __v) # | | ^~~~~~~~~~~~~~~~~~~ # | 831 | : __base(in_place, _VSTD::forward<_Up>(__v)) {} # | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:44:10: note: while substituting deduced template arguments into function template 'optional' [with _Up = decltype(std::__pstl_fill<std::execution::parallel_unsequenced_policy>(typename __select_backend<parallel_unsequenced_policy>::type{}, std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args))), $1 = (no value)] # | 44 | return std::__pstl_frontend_dispatch( # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:64:13: note: in instantiation of function template specialization 'std::__fill<const std::execution::parallel_unsequenced_policy &, int *, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 64 | if (!std::__fill(__policy, std::move(__first), std::move(__last), __value)) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:84:16: note: in instantiation of function template specialization 'std::fill<const std::execution::parallel_unsequenced_policy &, int *, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 84 | std::fill(__policy, __g_first, __g_first + __g_n, __g_value); # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:103:13: note: in instantiation of function template specialization 'std::__fill_n<const std::execution::parallel_unsequenced_policy &, int *, unsigned long, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 103 | if (!std::__fill_n(__policy, std::move(__first), std::move(__n), __value)) # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp:38:12: note: in instantiation of function template specialization 'std::fill_n<const std::execution::parallel_unsequenced_policy &, int *, unsigned long, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 38 | std::fill_n(policy, Iter(std::begin(a)), std::size(a), 33); # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/support/test_execution_policies.h:38:3: note: in instantiation of function template specialization 'Test<int *>::operator()<const std::execution::parallel_unsequenced_policy &>' requested here # | 38 | func(std::execution::par_unseq); # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/support/test_execution_policies.h:47:5: note: in instantiation of function template specialization 'test_execution_policies<Test<int *>>' requested here # | 47 | test_execution_policies(TestClass<Iter>{}); # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/support/type_algorithms.h:52:23: note: in instantiation of function template specialization 'TestIteratorWithPolicies<Test>::operator()<int *>' requested here # | 52 | swallow((f.template operator()<Types>(), 0)...); # | | ^ # | In file included from /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp:19: # | In file included from /dev/shm/rydahl1/LLVM/build/include/c++/v1/algorithm:1830: # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:44:10: error: no viable conversion from returned value of type 'decltype(std::__pstl_fill<std::execution::parallel_unsequenced_policy>(typename __select_backend<parallel_unsequenced_policy>::type{}, std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args)))' (aka 'void') to function return type 'optional<__empty>' # | 44 | return std::__pstl_frontend_dispatch( # | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # | 45 | _LIBCPP_PSTL_CUSTOMIZATION_POINT(__pstl_fill, _RawPolicy), # | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # | 46 | [&](_ForwardIterator __g_first, _ForwardIterator __g_last, const _Tp& __g_value) { # | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # | 47 | return std::__for_each(__policy, __g_first, __g_last, [&](__iter_reference<_ForwardIterator> __element) { # | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # | 48 | __element = __g_value; # | | ~~~~~~~~~~~~~~~~~~~~~~ # | 49 | }); # | | ~~~ # | 50 | }, # | | ~~ # | 51 | std::move(__first), # | | ~~~~~~~~~~~~~~~~~~~ # | 52 | std::move(__last), # | | ~~~~~~~~~~~~~~~~~~ # | 53 | __value); # | | ~~~~~~~~ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:64:13: note: in instantiation of function template specialization 'std::__fill<const std::execution::parallel_unsequenced_policy &, int *, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 64 | if (!std::__fill(__policy, std::move(__first), std::move(__last), __value)) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:84:16: note: in instantiation of function template specialization 'std::fill<const std::execution::parallel_unsequenced_policy &, int *, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 84 | std::fill(__policy, __g_first, __g_first + __g_n, __g_value); # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:103:13: note: in instantiation of function template specialization 'std::__fill_n<const std::execution::parallel_unsequenced_policy &, int *, unsigned long, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 103 | if (!std::__fill_n(__policy, std::move(__first), std::move(__n), __value)) # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp:38:12: note: in instantiation of function template specialization 'std::fill_n<const std::execution::parallel_unsequenced_policy &, int *, unsigned long, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 38 | std::fill_n(policy, Iter(std::begin(a)), std::size(a), 33); # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/support/test_execution_policies.h:38:3: note: in instantiation of function template specialization 'Test<int *>::operator()<const std::execution::parallel_unsequenced_policy &>' requested here # | 38 | func(std::execution::par_unseq); # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/support/test_execution_policies.h:47:5: note: in instantiation of function template specialization 'test_execution_policies<Test<int *>>' requested here # | 47 | test_execution_policies(TestClass<Iter>{}); # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/support/type_algorithms.h:52:23: note: in instantiation of function template specialization 'TestIteratorWithPolicies<Test>::operator()<int *>' requested here # | 52 | swallow((f.template operator()<Types>(), 0)...); # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:804:41: note: candidate constructor not viable: cannot convert argument of incomplete type 'decltype(std::__pstl_fill<std::execution::parallel_unsequenced_policy>(typename __select_backend<parallel_unsequenced_policy>::type{}, std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args)))' (aka 'void') to 'const optional<__empty> &' for 1st argument # | 804 | _LIBCPP_INLINE_VISIBILITY constexpr optional(const optional&) = default; # | | ^ ~~~~~~~~~~~~~~~ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:805:41: note: candidate constructor not viable: cannot convert argument of incomplete type 'decltype(std::__pstl_fill<std::execution::parallel_unsequenced_policy>(typename __select_backend<parallel_unsequenced_policy>::type{}, std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args)))' (aka 'void') to 'optional<__empty> &&' for 1st argument # | 805 | _LIBCPP_INLINE_VISIBILITY constexpr optional(optional&&) = default; # | | ^ ~~~~~~~~~~ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:806:41: note: candidate constructor not viable: cannot convert argument of incomplete type 'decltype(std::__pstl_fill<std::execution::parallel_unsequenced_policy>(typename __select_backend<parallel_unsequenced_policy>::type{}, std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args)))' (aka 'void') to 'nullopt_t' for 1st argument # | 806 | _LIBCPP_INLINE_VISIBILITY constexpr optional(nullopt_t) noexcept {} # | | ^ ~~~~~~~~~ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:830:15: note: candidate template ignored: substitution failure [with _Up = decltype(std::__pstl_fill<std::execution::parallel_unsequenced_policy>(typename __select_backend<parallel_unsequenced_policy>::type{}, std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args)))]: non-type template argument is not a constant expression # | 827 | _CheckOptionalArgsCtor<_Up>::template __enable_implicit<_Up>() # | | ~~~~~~~~~~~~~~~~~~~~~~ # | 828 | , int> = 0> # | 829 | _LIBCPP_INLINE_VISIBILITY # | 830 | constexpr optional(_Up&& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:845:35: note: candidate template ignored: could not match 'optional<_Up>' against 'decltype(std::__pstl_fill<std::execution::parallel_unsequenced_policy>(typename __select_backend<parallel_unsequenced_policy>::type{}, std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args)))' (aka 'void') # | 845 | _LIBCPP_CONSTEXPR_SINCE_CXX20 optional(const optional<_Up>& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:863:35: note: candidate template ignored: could not match 'optional<_Up>' against 'decltype(std::__pstl_fill<std::execution::parallel_unsequenced_policy>(typename __select_backend<parallel_unsequenced_policy>::type{}, std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args)))' (aka 'void') # | 863 | _LIBCPP_CONSTEXPR_SINCE_CXX20 optional(optional<_Up>&& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:816:24: note: explicit constructor is not a candidate # | 816 | constexpr explicit optional(_InPlaceT, _Args&&... __args) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:837:24: note: explicit constructor is not a candidate # | 837 | constexpr explicit optional(_Up&& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:853:44: note: explicit constructor is not a candidate # | 853 | _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit optional(const optional<_Up>& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:871:44: note: explicit constructor is not a candidate # | 871 | _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit optional(optional<_Up>&& __v) # | | ^ # | In file included from /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp:19: # | In file included from /dev/shm/rydahl1/LLVM/build/include/c++/v1/algorithm:1829: # | In file included from /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_count.h:15: # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_for_each.h:43:10: error: no viable conversion from returned value of type 'void' to function return type 'optional<__empty>' # | 43 | return std::__pstl_for_each<_RawPolicy>(_Backend{}, std::move(__first), std::move(__last), std::move(__func)); # | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:47:21: note: in instantiation of function template specialization 'std::__for_each<const std::execution::parallel_unsequenced_policy &, int *&, (lambda at /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:47:63), std::execution::parallel_unsequenced_policy, 0>' requested here # | 47 | return std::__for_each(__policy, __g_first, __g_last, [&](__iter_reference<_ForwardIterator> __element) { # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:64:13: note: in instantiation of function template specialization 'std::__fill<const std::execution::parallel_unsequenced_policy &, int *, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 64 | if (!std::__fill(__policy, std::move(__first), std::move(__last), __value)) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:84:16: note: in instantiation of function template specialization 'std::fill<const std::execution::parallel_unsequenced_policy &, int *, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 84 | std::fill(__policy, __g_first, __g_first + __g_n, __g_value); # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:103:13: note: in instantiation of function template specialization 'std::__fill_n<const std::execution::parallel_unsequenced_policy &, int *, unsigned long, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 103 | if (!std::__fill_n(__policy, std::move(__first), std::move(__n), __value)) # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp:38:12: note: in instantiation of function template specialization 'std::fill_n<const std::execution::parallel_unsequenced_policy &, int *, unsigned long, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 38 | std::fill_n(policy, Iter(std::begin(a)), std::size(a), 33); # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/support/test_execution_policies.h:38:3: note: in instantiation of function template specialization 'Test<int *>::operator()<const std::execution::parallel_unsequenced_policy &>' requested here # | 38 | func(std::execution::par_unseq); # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/support/test_execution_policies.h:47:5: note: in instantiation of function template specialization 'test_execution_policies<Test<int *>>' requested here # | 47 | test_execution_policies(TestClass<Iter>{}); # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/support/type_algorithms.h:52:23: note: in instantiation of function template specialization 'TestIteratorWithPolicies<Test>::operator()<int *>' requested here # | 52 | swallow((f.template operator()<Types>(), 0)...); # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:804:41: note: candidate constructor not viable: cannot convert argument of incomplete type 'void' to 'const optional<__empty> &' for 1st argument # | 804 | _LIBCPP_INLINE_VISIBILITY constexpr optional(const optional&) = default; # | | ^ ~~~~~~~~~~~~~~~ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:805:41: note: candidate constructor not viable: cannot convert argument of incomplete type 'void' to 'optional<__empty> &&' for 1st argument # | 805 | _LIBCPP_INLINE_VISIBILITY constexpr optional(optional&&) = default; # | | ^ ~~~~~~~~~~ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:806:41: note: candidate constructor not viable: cannot convert argument of incomplete type 'void' to 'nullopt_t' for 1st argument # | 806 | _LIBCPP_INLINE_VISIBILITY constexpr optional(nullopt_t) noexcept {} # | | ^ ~~~~~~~~~ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:830:15: note: candidate template ignored: substitution failure [with _Up = void]: no matching function for call to '__enable_implicit' # | 827 | _CheckOptionalArgsCtor<_Up>::template __enable_implicit<_Up>() # | | ~~~~~~~~~~~~~~~~~~~~~~ # | 828 | , int> = 0> # | 829 | _LIBCPP_INLINE_VISIBILITY # | 830 | constexpr optional(_Up&& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:845:35: note: candidate template ignored: could not match 'optional<_Up>' against 'void' # | 845 | _LIBCPP_CONSTEXPR_SINCE_CXX20 optional(const optional<_Up>& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:863:35: note: candidate template ignored: could not match 'optional<_Up>' against 'void' # | 863 | _LIBCPP_CONSTEXPR_SINCE_CXX20 optional(optional<_Up>&& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:816:24: note: explicit constructor is not a candidate # | 816 | constexpr explicit optional(_InPlaceT, _Args&&... __args) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:837:24: note: explicit constructor is not a candidate # | 837 | constexpr explicit optional(_Up&& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:853:44: note: explicit constructor is not a candidate # | 853 | _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit optional(const optional<_Up>& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:871:44: note: explicit constructor is not a candidate # | 871 | _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit optional(optional<_Up>&& __v) # | | ^ # | In file included from /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp:19: # | In file included from /dev/shm/rydahl1/LLVM/build/include/c++/v1/algorithm:1830: # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:44:10: error: no viable conversion from returned value of type 'decltype(std::__pstl_fill<std::execution::parallel_unsequenced_policy>(typename __select_backend<parallel_unsequenced_policy>::type{}, std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args)))' (aka 'void') to function return type 'optional<__empty>' # | 44 | return std::__pstl_frontend_dispatch( # | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # | 45 | _LIBCPP_PSTL_CUSTOMIZATION_POINT(__pstl_fill, _RawPolicy), # | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # | 46 | [&](_ForwardIterator __g_first, _ForwardIterator __g_last, const _Tp& __g_value) { # | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # | 47 | return std::__for_each(__policy, __g_first, __g_last, [&](__iter_reference<_ForwardIterator> __element) { # | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # | 48 | __element = __g_value; # | | ~~~~~~~~~~~~~~~~~~~~~~ # | 49 | }); # | | ~~~ # | 50 | }, # | | ~~ # | 51 | std::move(__first), # | | ~~~~~~~~~~~~~~~~~~~ # | 52 | std::move(__last), # | | ~~~~~~~~~~~~~~~~~~ # | 53 | __value); # | | ~~~~~~~~ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:64:13: note: in instantiation of function template specialization 'std::__fill<const std::execution::parallel_unsequenced_policy &, contiguous_iterator<int *>, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 64 | if (!std::__fill(__policy, std::move(__first), std::move(__last), __value)) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:84:16: note: in instantiation of function template specialization 'std::fill<const std::execution::parallel_unsequenced_policy &, contiguous_iterator<int *>, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 84 | std::fill(__policy, __g_first, __g_first + __g_n, __g_value); # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:103:13: note: in instantiation of function template specialization 'std::__fill_n<const std::execution::parallel_unsequenced_policy &, contiguous_iterator<int *>, unsigned long, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 103 | if (!std::__fill_n(__policy, std::move(__first), std::move(__n), __value)) # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp:38:12: note: in instantiation of function template specialization 'std::fill_n<const std::execution::parallel_unsequenced_policy &, contiguous_iterator<int *>, unsigned long, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 38 | std::fill_n(policy, Iter(std::begin(a)), std::size(a), 33); # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/support/test_execution_policies.h:38:3: note: in instantiation of function template specialization 'Test<contiguous_iterator<int *>>::operator()<const std::execution::parallel_unsequenced_policy &>' requested here # | 38 | func(std::execution::par_unseq); # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/support/test_execution_policies.h:47:5: note: in instantiation of function template specialization 'test_execution_policies<Test<contiguous_iterator<int *>>>' requested here # | 47 | test_execution_policies(TestClass<Iter>{}); # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/support/type_algorithms.h:52:23: note: in instantiation of function template specialization 'TestIteratorWithPolicies<Test>::operator()<contiguous_iterator<int *>>' requested here # | 52 | swallow((f.template operator()<Types>(), 0)...); # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:804:41: note: candidate constructor not viable: cannot convert argument of incomplete type 'decltype(std::__pstl_fill<std::execution::parallel_unsequenced_policy>(typename __select_backend<parallel_unsequenced_policy>::type{}, std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args)))' (aka 'void') to 'const optional<__empty> &' for 1st argument # | 804 | _LIBCPP_INLINE_VISIBILITY constexpr optional(const optional&) = default; # | | ^ ~~~~~~~~~~~~~~~ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:805:41: note: candidate constructor not viable: cannot convert argument of incomplete type 'decltype(std::__pstl_fill<std::execution::parallel_unsequenced_policy>(typename __select_backend<parallel_unsequenced_policy>::type{}, std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args)))' (aka 'void') to 'optional<__empty> &&' for 1st argument # | 805 | _LIBCPP_INLINE_VISIBILITY constexpr optional(optional&&) = default; # | | ^ ~~~~~~~~~~ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:806:41: note: candidate constructor not viable: cannot convert argument of incomplete type 'decltype(std::__pstl_fill<std::execution::parallel_unsequenced_policy>(typename __select_backend<parallel_unsequenced_policy>::type{}, std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args)))' (aka 'void') to 'nullopt_t' for 1st argument # | 806 | _LIBCPP_INLINE_VISIBILITY constexpr optional(nullopt_t) noexcept {} # | | ^ ~~~~~~~~~ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:830:15: note: candidate template ignored: substitution failure [with _Up = decltype(std::__pstl_fill<std::execution::parallel_unsequenced_policy>(typename __select_backend<parallel_unsequenced_policy>::type{}, std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args)))]: no matching function for call to '__enable_implicit' # | 827 | _CheckOptionalArgsCtor<_Up>::template __enable_implicit<_Up>() # | | ~~~~~~~~~~~~~~~~~~~~~~ # | 828 | , int> = 0> # | 829 | _LIBCPP_INLINE_VISIBILITY # | 830 | constexpr optional(_Up&& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:845:35: note: candidate template ignored: could not match 'optional<_Up>' against 'decltype(std::__pstl_fill<std::execution::parallel_unsequenced_policy>(typename __select_backend<parallel_unsequenced_policy>::type{}, std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args)))' (aka 'void') # | 845 | _LIBCPP_CONSTEXPR_SINCE_CXX20 optional(const optional<_Up>& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:863:35: note: candidate template ignored: could not match 'optional<_Up>' against 'decltype(std::__pstl_fill<std::execution::parallel_unsequenced_policy>(typename __select_backend<parallel_unsequenced_policy>::type{}, std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args)))' (aka 'void') # | 863 | _LIBCPP_CONSTEXPR_SINCE_CXX20 optional(optional<_Up>&& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:816:24: note: explicit constructor is not a candidate # | 816 | constexpr explicit optional(_InPlaceT, _Args&&... __args) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:837:24: note: explicit constructor is not a candidate # | 837 | constexpr explicit optional(_Up&& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:853:44: note: explicit constructor is not a candidate # | 853 | _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit optional(const optional<_Up>& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:871:44: note: explicit constructor is not a candidate # | 871 | _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit optional(optional<_Up>&& __v) # | | ^ # | In file included from /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp:19: # | In file included from /dev/shm/rydahl1/LLVM/build/include/c++/v1/algorithm:1829: # | In file included from /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_count.h:15: # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_for_each.h:43:10: error: no viable conversion from returned value of type 'void' to function return type 'optional<__empty>' # | 43 | return std::__pstl_for_each<_RawPolicy>(_Backend{}, std::move(__first), std::move(__last), std::move(__func)); # | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:47:21: note: in instantiation of function template specialization 'std::__for_each<const std::execution::parallel_unsequenced_policy &, contiguous_iterator<int *> &, (lambda at /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:47:63), std::execution::parallel_unsequenced_policy, 0>' requested here # | 47 | return std::__for_each(__policy, __g_first, __g_last, [&](__iter_reference<_ForwardIterator> __element) { # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:64:13: note: in instantiation of function template specialization 'std::__fill<const std::execution::parallel_unsequenced_policy &, contiguous_iterator<int *>, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 64 | if (!std::__fill(__policy, std::move(__first), std::move(__last), __value)) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:84:16: note: in instantiation of function template specialization 'std::fill<const std::execution::parallel_unsequenced_policy &, contiguous_iterator<int *>, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 84 | std::fill(__policy, __g_first, __g_first + __g_n, __g_value); # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:103:13: note: in instantiation of function template specialization 'std::__fill_n<const std::execution::parallel_unsequenced_policy &, contiguous_iterator<int *>, unsigned long, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 103 | if (!std::__fill_n(__policy, std::move(__first), std::move(__n), __value)) # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp:38:12: note: in instantiation of function template specialization 'std::fill_n<const std::execution::parallel_unsequenced_policy &, contiguous_iterator<int *>, unsigned long, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 38 | std::fill_n(policy, Iter(std::begin(a)), std::size(a), 33); # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/support/test_execution_policies.h:38:3: note: in instantiation of function template specialization 'Test<contiguous_iterator<int *>>::operator()<const std::execution::parallel_unsequenced_policy &>' requested here # | 38 | func(std::execution::par_unseq); # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/support/test_execution_policies.h:47:5: note: in instantiation of function template specialization 'test_execution_policies<Test<contiguous_iterator<int *>>>' requested here # | 47 | test_execution_policies(TestClass<Iter>{}); # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/support/type_algorithms.h:52:23: note: in instantiation of function template specialization 'TestIteratorWithPolicies<Test>::operator()<contiguous_iterator<int *>>' requested here # | 52 | swallow((f.template operator()<Types>(), 0)...); # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:804:41: note: candidate constructor not viable: cannot convert argument of incomplete type 'void' to 'const optional<__empty> &' for 1st argument # | 804 | _LIBCPP_INLINE_VISIBILITY constexpr optional(const optional&) = default; # | | ^ ~~~~~~~~~~~~~~~ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:805:41: note: candidate constructor not viable: cannot convert argument of incomplete type 'void' to 'optional<__empty> &&' for 1st argument # | 805 | _LIBCPP_INLINE_VISIBILITY constexpr optional(optional&&) = default; # | | ^ ~~~~~~~~~~ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:806:41: note: candidate constructor not viable: cannot convert argument of incomplete type 'void' to 'nullopt_t' for 1st argument # | 806 | _LIBCPP_INLINE_VISIBILITY constexpr optional(nullopt_t) noexcept {} # | | ^ ~~~~~~~~~ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:830:15: note: candidate template ignored: substitution failure [with _Up = void]: no matching function for call to '__enable_implicit' # | 827 | _CheckOptionalArgsCtor<_Up>::template __enable_implicit<_Up>() # | | ~~~~~~~~~~~~~~~~~~~~~~ # | 828 | , int> = 0> # | 829 | _LIBCPP_INLINE_VISIBILITY # | 830 | constexpr optional(_Up&& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:845:35: note: candidate template ignored: could not match 'optional<_Up>' against 'void' # | 845 | _LIBCPP_CONSTEXPR_SINCE_CXX20 optional(const optional<_Up>& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:863:35: note: candidate template ignored: could not match 'optional<_Up>' against 'void' # | 863 | _LIBCPP_CONSTEXPR_SINCE_CXX20 optional(optional<_Up>&& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:816:24: note: explicit constructor is not a candidate # | 816 | constexpr explicit optional(_InPlaceT, _Args&&... __args) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:837:24: note: explicit constructor is not a candidate # | 837 | constexpr explicit optional(_Up&& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:853:44: note: explicit constructor is not a candidate # | 853 | _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit optional(const optional<_Up>& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:871:44: note: explicit constructor is not a candidate # | 871 | _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit optional(optional<_Up>&& __v) # | | ^ # | In file included from /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp:19: # | In file included from /dev/shm/rydahl1/LLVM/build/include/c++/v1/algorithm:1830: # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:44:10: error: no viable conversion from returned value of type 'decltype(std::__pstl_fill<std::execution::parallel_unsequenced_policy>(typename __select_backend<parallel_unsequenced_policy>::type{}, std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args)))' (aka 'void') to function return type 'optional<__empty>' # | 44 | return std::__pstl_frontend_dispatch( # | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # | 45 | _LIBCPP_PSTL_CUSTOMIZATION_POINT(__pstl_fill, _RawPolicy), # | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # | 46 | [&](_ForwardIterator __g_first, _ForwardIterator __g_last, const _Tp& __g_value) { # | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # | 47 | return std::__for_each(__policy, __g_first, __g_last, [&](__iter_reference<_ForwardIterator> __element) { # | | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # | 48 | __element = __g_value; # | | ~~~~~~~~~~~~~~~~~~~~~~ # | 49 | }); # | | ~~~ # | 50 | }, # | | ~~ # | 51 | std::move(__first), # | | ~~~~~~~~~~~~~~~~~~~ # | 52 | std::move(__last), # | | ~~~~~~~~~~~~~~~~~~ # | 53 | __value); # | | ~~~~~~~~ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:64:13: note: in instantiation of function template specialization 'std::__fill<const std::execution::parallel_unsequenced_policy &, random_access_iterator<int *>, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 64 | if (!std::__fill(__policy, std::move(__first), std::move(__last), __value)) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:84:16: note: in instantiation of function template specialization 'std::fill<const std::execution::parallel_unsequenced_policy &, random_access_iterator<int *>, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 84 | std::fill(__policy, __g_first, __g_first + __g_n, __g_value); # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:103:13: note: in instantiation of function template specialization 'std::__fill_n<const std::execution::parallel_unsequenced_policy &, random_access_iterator<int *>, unsigned long, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 103 | if (!std::__fill_n(__policy, std::move(__first), std::move(__n), __value)) # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp:38:12: note: in instantiation of function template specialization 'std::fill_n<const std::execution::parallel_unsequenced_policy &, random_access_iterator<int *>, unsigned long, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 38 | std::fill_n(policy, Iter(std::begin(a)), std::size(a), 33); # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/support/test_execution_policies.h:38:3: note: in instantiation of function template specialization 'Test<random_access_iterator<int *>>::operator()<const std::execution::parallel_unsequenced_policy &>' requested here # | 38 | func(std::execution::par_unseq); # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/support/test_execution_policies.h:47:5: note: in instantiation of function template specialization 'test_execution_policies<Test<random_access_iterator<int *>>>' requested here # | 47 | test_execution_policies(TestClass<Iter>{}); # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/support/type_algorithms.h:52:23: note: in instantiation of function template specialization 'TestIteratorWithPolicies<Test>::operator()<random_access_iterator<int *>>' requested here # | 52 | swallow((f.template operator()<Types>(), 0)...); # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:804:41: note: candidate constructor not viable: cannot convert argument of incomplete type 'decltype(std::__pstl_fill<std::execution::parallel_unsequenced_policy>(typename __select_backend<parallel_unsequenced_policy>::type{}, std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args)))' (aka 'void') to 'const optional<__empty> &' for 1st argument # | 804 | _LIBCPP_INLINE_VISIBILITY constexpr optional(const optional&) = default; # | | ^ ~~~~~~~~~~~~~~~ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:805:41: note: candidate constructor not viable: cannot convert argument of incomplete type 'decltype(std::__pstl_fill<std::execution::parallel_unsequenced_policy>(typename __select_backend<parallel_unsequenced_policy>::type{}, std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args)))' (aka 'void') to 'optional<__empty> &&' for 1st argument # | 805 | _LIBCPP_INLINE_VISIBILITY constexpr optional(optional&&) = default; # | | ^ ~~~~~~~~~~ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:806:41: note: candidate constructor not viable: cannot convert argument of incomplete type 'decltype(std::__pstl_fill<std::execution::parallel_unsequenced_policy>(typename __select_backend<parallel_unsequenced_policy>::type{}, std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args)))' (aka 'void') to 'nullopt_t' for 1st argument # | 806 | _LIBCPP_INLINE_VISIBILITY constexpr optional(nullopt_t) noexcept {} # | | ^ ~~~~~~~~~ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:830:15: note: candidate template ignored: substitution failure [with _Up = decltype(std::__pstl_fill<std::execution::parallel_unsequenced_policy>(typename __select_backend<parallel_unsequenced_policy>::type{}, std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args)))]: no matching function for call to '__enable_implicit' # | 827 | _CheckOptionalArgsCtor<_Up>::template __enable_implicit<_Up>() # | | ~~~~~~~~~~~~~~~~~~~~~~ # | 828 | , int> = 0> # | 829 | _LIBCPP_INLINE_VISIBILITY # | 830 | constexpr optional(_Up&& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:845:35: note: candidate template ignored: could not match 'optional<_Up>' against 'decltype(std::__pstl_fill<std::execution::parallel_unsequenced_policy>(typename __select_backend<parallel_unsequenced_policy>::type{}, std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args)))' (aka 'void') # | 845 | _LIBCPP_CONSTEXPR_SINCE_CXX20 optional(const optional<_Up>& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:863:35: note: candidate template ignored: could not match 'optional<_Up>' against 'decltype(std::__pstl_fill<std::execution::parallel_unsequenced_policy>(typename __select_backend<parallel_unsequenced_policy>::type{}, std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args), std::forward<decltype(__args)>(__args)))' (aka 'void') # | 863 | _LIBCPP_CONSTEXPR_SINCE_CXX20 optional(optional<_Up>&& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:816:24: note: explicit constructor is not a candidate # | 816 | constexpr explicit optional(_InPlaceT, _Args&&... __args) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:837:24: note: explicit constructor is not a candidate # | 837 | constexpr explicit optional(_Up&& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:853:44: note: explicit constructor is not a candidate # | 853 | _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit optional(const optional<_Up>& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:871:44: note: explicit constructor is not a candidate # | 871 | _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit optional(optional<_Up>&& __v) # | | ^ # | In file included from /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp:19: # | In file included from /dev/shm/rydahl1/LLVM/build/include/c++/v1/algorithm:1829: # | In file included from /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_count.h:15: # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_for_each.h:43:10: error: no viable conversion from returned value of type 'void' to function return type 'optional<__empty>' # | 43 | return std::__pstl_for_each<_RawPolicy>(_Backend{}, std::move(__first), std::move(__last), std::move(__func)); # | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:47:21: note: in instantiation of function template specialization 'std::__for_each<const std::execution::parallel_unsequenced_policy &, random_access_iterator<int *> &, (lambda at /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:47:63), std::execution::parallel_unsequenced_policy, 0>' requested here # | 47 | return std::__for_each(__policy, __g_first, __g_last, [&](__iter_reference<_ForwardIterator> __element) { # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:64:13: note: in instantiation of function template specialization 'std::__fill<const std::execution::parallel_unsequenced_policy &, random_access_iterator<int *>, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 64 | if (!std::__fill(__policy, std::move(__first), std::move(__last), __value)) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:84:16: note: in instantiation of function template specialization 'std::fill<const std::execution::parallel_unsequenced_policy &, random_access_iterator<int *>, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 84 | std::fill(__policy, __g_first, __g_first + __g_n, __g_value); # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/__algorithm/pstl_fill.h:103:13: note: in instantiation of function template specialization 'std::__fill_n<const std::execution::parallel_unsequenced_policy &, random_access_iterator<int *>, unsigned long, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 103 | if (!std::__fill_n(__policy, std::move(__first), std::move(__n), __value)) # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp:38:12: note: in instantiation of function template specialization 'std::fill_n<const std::execution::parallel_unsequenced_policy &, random_access_iterator<int *>, unsigned long, int, std::execution::parallel_unsequenced_policy, 0>' requested here # | 38 | std::fill_n(policy, Iter(std::begin(a)), std::size(a), 33); # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/support/test_execution_policies.h:38:3: note: in instantiation of function template specialization 'Test<random_access_iterator<int *>>::operator()<const std::execution::parallel_unsequenced_policy &>' requested here # | 38 | func(std::execution::par_unseq); # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/support/test_execution_policies.h:47:5: note: in instantiation of function template specialization 'test_execution_policies<Test<random_access_iterator<int *>>>' requested here # | 47 | test_execution_policies(TestClass<Iter>{}); # | | ^ # | /g/g92/rydahl1/LLVM_FORK/llvm-project/libcxx/test/support/type_algorithms.h:52:23: note: in instantiation of function template specialization 'TestIteratorWithPolicies<Test>::operator()<random_access_iterator<int *>>' requested here # | 52 | swallow((f.template operator()<Types>(), 0)...); # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:804:41: note: candidate constructor not viable: cannot convert argument of incomplete type 'void' to 'const optional<__empty> &' for 1st argument # | 804 | _LIBCPP_INLINE_VISIBILITY constexpr optional(const optional&) = default; # | | ^ ~~~~~~~~~~~~~~~ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:805:41: note: candidate constructor not viable: cannot convert argument of incomplete type 'void' to 'optional<__empty> &&' for 1st argument # | 805 | _LIBCPP_INLINE_VISIBILITY constexpr optional(optional&&) = default; # | | ^ ~~~~~~~~~~ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:806:41: note: candidate constructor not viable: cannot convert argument of incomplete type 'void' to 'nullopt_t' for 1st argument # | 806 | _LIBCPP_INLINE_VISIBILITY constexpr optional(nullopt_t) noexcept {} # | | ^ ~~~~~~~~~ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:830:15: note: candidate template ignored: substitution failure [with _Up = void]: no matching function for call to '__enable_implicit' # | 827 | _CheckOptionalArgsCtor<_Up>::template __enable_implicit<_Up>() # | | ~~~~~~~~~~~~~~~~~~~~~~ # | 828 | , int> = 0> # | 829 | _LIBCPP_INLINE_VISIBILITY # | 830 | constexpr optional(_Up&& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:845:35: note: candidate template ignored: could not match 'optional<_Up>' against 'void' # | 845 | _LIBCPP_CONSTEXPR_SINCE_CXX20 optional(const optional<_Up>& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:863:35: note: candidate template ignored: could not match 'optional<_Up>' against 'void' # | 863 | _LIBCPP_CONSTEXPR_SINCE_CXX20 optional(optional<_Up>&& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:816:24: note: explicit constructor is not a candidate # | 816 | constexpr explicit optional(_InPlaceT, _Args&&... __args) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:837:24: note: explicit constructor is not a candidate # | 837 | constexpr explicit optional(_Up&& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:853:44: note: explicit constructor is not a candidate # | 853 | _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit optional(const optional<_Up>& __v) # | | ^ # | /dev/shm/rydahl1/LLVM/build/include/c++/v1/optional:871:44: note: explicit constructor is not a candidate # | 871 | _LIBCPP_CONSTEXPR_SINCE_CXX20 explicit optional(optional<_Up>&& __v) # | | ^ # | 7 errors generated. # `----------------------------- # error: command failed with exit status: 1 -- ******************** ``` https://github.com/llvm/llvm-project/pull/66968 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits