================
@@ -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

Reply via email to