[Bug 291228] C++ feature std::execution::unseq is missing in std::execution
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 26 Nov 2025 14:10:42 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291228
Mark Millard <marklmi26-fbsd@yahoo.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |marklmi26-fbsd@yahoo.com
--- Comment #1 from Mark Millard <marklmi26-fbsd@yahoo.com> ---
For reference:
# c++ -std=c++20 -DPARALLEL unseq_test.cc
unseq_test.cc:34:24: error: no member named 'seq' in namespace 'std::execution'
34 | measure(execution::seq, v);
| ~~~~~~~~~~~^
unseq_test.cc:35:24: error: no member named 'unseq' in namespace
'std::execution'
35 | measure(execution::unseq, v);
| ~~~~~~~~~~~^
unseq_test.cc:36:24: error: no member named 'par_unseq' in namespace
'std::execution'
36 | measure(execution::par_unseq, v);
| ~~~~~~~~~~~^
unseq_test.cc:37:24: error: no member named 'par' in namespace 'std::execution'
37 | measure(execution::par, v);
| ~~~~~~~~~~~^
4 errors generated.
The same happens on both, for example (note the 1500502 and 1600004):
# uname -apKU
FreeBSD 7950X3D-ZFS 16.0-CURRENT FreeBSD 16.0-CURRENT main-n281922-4872b48b175c
GENERIC-NODEBUG amd64 amd64 1600004 1500502
# uname -apKU
FreeBSD aarch64-main-pbase 16.0-CURRENT FreeBSD 16.0-CURRENT
main-n281922-4872b48b175c GENERIC-NODEBUG arm64 aarch64 1600004 1600004
I will note:
# c++ -std=c++20 -fexperimental-library -DPARALLEL unseq_test.cc
unseq_test.cc:34:13: error: call to deleted constructor of
'std::execution::sequenced_policy'
34 | measure(execution::seq, v);
| ^~~~~~~~~~~~~~
/usr/include/c++/v1/execution:52:3: note: 'sequenced_policy' has been
explicitly marked deleted here
52 | sequenced_policy(const sequenced_policy&) = delete;
| ^
unseq_test.cc:15:36: note: passing argument to parameter 'policy' here
15 | void measure([[maybe_unused]] auto policy, std::vector<std::uint64_t>
v)
| ^
unseq_test.cc:35:13: error: call to deleted constructor of
'std::execution::unsequenced_policy'
35 | measure(execution::unseq, v);
| ^~~~~~~~~~~~~~~~
/usr/include/c++/v1/execution:86:3: note: 'unsequenced_policy' has been
explicitly marked deleted here
86 | unsequenced_policy(const unsequenced_policy&) = delete;
| ^
unseq_test.cc:15:36: note: passing argument to parameter 'policy' here
15 | void measure([[maybe_unused]] auto policy, std::vector<std::uint64_t>
v)
| ^
unseq_test.cc:36:13: error: call to deleted constructor of
'std::execution::parallel_unsequenced_policy'
36 | measure(execution::par_unseq, v);
| ^~~~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/execution:68:3: note: 'parallel_unsequenced_policy' has
been explicitly marked deleted here
68 | parallel_unsequenced_policy(const parallel_unsequenced_policy&)
= delete;
| ^
unseq_test.cc:15:36: note: passing argument to parameter 'policy' here
15 | void measure([[maybe_unused]] auto policy, std::vector<std::uint64_t>
v)
| ^
unseq_test.cc:37:13: error: call to deleted constructor of
'std::execution::parallel_policy'
37 | measure(execution::par, v);
| ^~~~~~~~~~~~~~
/usr/include/c++/v1/execution:60:3: note: 'parallel_policy' has been explicitly
marked deleted here
60 | parallel_policy(const parallel_policy&) = delete;
| ^
unseq_test.cc:15:36: note: passing argument to parameter 'policy' here
15 | void measure([[maybe_unused]] auto policy, std::vector<std::uint64_t>
v)
| ^
4 errors generated.
I wonder if this is an upstream issue relative to llvm19's libc++ .
For reference:
# g++15 -std=c++20 -DPARALLEL -Wl,-rpath=/usr/local/lib/gcc15 unseq_test.cc
# ./a.out
341ms
341ms
339ms
339ms
But on aarch64 main 16:
# g++15 -std=c++20 -DPARALLEL unseq_test.cc
# ./a.out
ld-elf.so.1: /lib/libgcc_s.so.1: version GCC_4.5.0 required by
/root/c_tests/a.out not found
--
You are receiving this mail because:
You are the assignee for the bug.