[llvm-bugs] [Bug 48557] New: Parallel algorithms fail to enforce Mandates: requirements
via llvm-bugs
llvm-bugs at lists.llvm.org
Sat Dec 19 05:57:01 PST 2020
https://bugs.llvm.org/show_bug.cgi?id=48557
Bug ID: 48557
Summary: Parallel algorithms fail to enforce Mandates:
requirements
Product: parallel STL
Version: unspecified
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: New
Assignee: ldionne at apple.com
Reporter: zilla at kayari.org
CC: llvm-bugs at lists.llvm.org
For example:
Mandates: All of
— binary_op(init, init),
— binary_op(init, unary_op(*first)),
— binary_op(unary_op(*first), init), and
— binary_op(unary_op(*first), unary_op(*first))
are convertible to T.
This was stated with "Requires:" in C++17, but in C++20 violating the
requirement must be diagnosed.
Example:
#include <numeric>
#include <execution>
int main() {
int a[]{ 1 };
auto r = std::transform_reduce(
std::execution::seq, a, a+1, 0,
[](int& a, int b) {
return a + b;
},
[](int i) { return i; });
}
This compiles without error using GCC's copy of the PSTL code.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20201219/43ceff90/attachment.html>
More information about the llvm-bugs
mailing list