[Bug c++/97433] New: C++20 Coroutines, Unexpected reordering of await_resume, return_value and yield_value
davidledger at live dot com.au
gcc-bugzilla@gcc.gnu.org
Thu Oct 15 00:27:54 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97433
Bug ID: 97433
Summary: C++20 Coroutines, Unexpected reordering of
await_resume, return_value and yield_value
Product: gcc
Version: 11.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: davidledger at live dot com.au
Target Milestone: ---
Critical components of c++20 coroutines are being reordered. This means that
for Task types that return values using co_return and co_yield there is likely
incorrect results.
LLVM does not have this issue.
MSVC behaves the same as GCC.
I've outlined this problem in detail here:
https://stackoverflow.com/questions/64348125/c20-coroutines-unexpected-reordering-of-await-resume-return-value-and-yield
The problem can be seen here, but the explaination is in the stack overflow
post:
https://godbolt.org/z/7rn5jz
(It let me format the post nicely)
More information about the Gcc-bugs
mailing list