[Bug c++/97452] [coroutines] incorrect sequencing of await_resume() when multiple co_await expressions occur in a single statement
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97452 Richard Biener changed: What|Removed |Added Target Milestone|10.5|---
[Bug c++/97452] [coroutines] incorrect sequencing of await_resume() when multiple co_await expressions occur in a single statement
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97452 --- Comment #12 from David Ledger --- (In reply to David Ledger from comment #11) > This did not occur with GCC 10.2, it started in GCC 10.3: > > 10.3 (https://godbolt.org/z/jrdv31M17): > ``` > 0x15d1ed3 A > 0x15d1ed2 ~A > 0x15d1ed3 ~A > ``` > > 10.2 (https://godbolt.org/z/rrvKh9h6K): > ``` > 0x2322ed1 A > 0x2322ed1 ~A > ``` Please ignore, responded to incorrect thread.
[Bug c++/97452] [coroutines] incorrect sequencing of await_resume() when multiple co_await expressions occur in a single statement
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97452 --- Comment #11 from David Ledger --- This did not occur with GCC 10.2, it started in GCC 10.3: 10.3 (https://godbolt.org/z/jrdv31M17): ``` 0x15d1ed3 A 0x15d1ed2 ~A 0x15d1ed3 ~A ``` 10.2 (https://godbolt.org/z/rrvKh9h6K): ``` 0x2322ed1 A 0x2322ed1 ~A ```
[Bug c++/97452] [coroutines] incorrect sequencing of await_resume() when multiple co_await expressions occur in a single statement
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97452 Jakub Jelinek changed: What|Removed |Added Target Milestone|10.4|10.5 --- Comment #10 from Jakub Jelinek --- GCC 10.4 is being released, retargeting bugs to GCC 10.5.
[Bug c++/97452] [coroutines] incorrect sequencing of await_resume() when multiple co_await expressions occur in a single statement
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97452 Richard Biener changed: What|Removed |Added Status|NEW |ASSIGNED
[Bug c++/97452] [coroutines] incorrect sequencing of await_resume() when multiple co_await expressions occur in a single statement
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97452 --- Comment #9 from Lewis Baker --- > In terms of the standard do you think this is technically undefined behaviour? Yes, I think this is something that Gor was looking into as a wording issue that could do with some clarification. I think the suggestion was something along the lines of adding some wording to ensure that the evaluation of a an await-expression was sequenced atomically with respect to the evaluation of other expressions in the statement.
[Bug c++/97452] [coroutines] incorrect sequencing of await_resume() when multiple co_await expressions occur in a single statement
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97452 Richard Biener changed: What|Removed |Added Target Milestone|10.3|10.4 --- Comment #8 from Richard Biener --- GCC 10.3 is being released, retargeting bugs to GCC 10.4.
[Bug c++/97452] [coroutines] incorrect sequencing of await_resume() when multiple co_await expressions occur in a single statement
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97452 --- Comment #7 from Iain Sandoe --- (In reply to David Ledger from comment #6) > Is this the right place for me to track this bug? yes - it's just waiting for someone to have time to address it.
[Bug c++/97452] [coroutines] incorrect sequencing of await_resume() when multiple co_await expressions occur in a single statement
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97452 --- Comment #6 from David Ledger --- Is this the right place for me to track this bug?
[Bug c++/97452] [coroutines] incorrect sequencing of await_resume() when multiple co_await expressions occur in a single statement
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97452 --- Comment #5 from Iain Sandoe --- (In reply to David Ledger from comment #4) > @Iain Sandoe > In terms of the standard do you think this is technically undefined > behaviour? no, AFAICT, it's just a regular bug in the implementation. (it's just a question of finding resources to deal it).
[Bug c++/97452] [coroutines] incorrect sequencing of await_resume() when multiple co_await expressions occur in a single statement
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97452 --- Comment #4 from David Ledger --- @Iain Sandoe In terms of the standard do you think this is technically undefined behaviour? I tried bring this up with Std-Proposals but got no response at all. I believe either I'm very bad at writing (likely), or nobody knows whether or not this is undefined behaviour and therefore the conversation didn't start. If this is undefined behaviour I believe a defect report is in order.
[Bug c++/97452] [coroutines] incorrect sequencing of await_resume() when multiple co_await expressions occur in a single statement
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97452 --- Comment #3 from Iain Sandoe --- (In reply to David Ledger from comment #2) > I'm happy to use this thread for the issue, I can just repost my link to the > same issue here. > > My reporting of the issue is here, but Lewis Bakers example is seperate. > > https://stackoverflow.com/questions/64348125/c20-coroutines-unexpected- > reordering-of-await-resume-return-value-and-yield > > Is there anything I can do to help this issue get resolved? I've been > throwing things at the wall trying to get something to stick (for a work > around) but so far nothing helps with this particular case. I have reproduced the problem(s) - the next thing is to do some analysis of the generated code and try to figure out where the bug is.
[Bug c++/97452] [coroutines] incorrect sequencing of await_resume() when multiple co_await expressions occur in a single statement
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97452 David Ledger changed: What|Removed |Added CC||davidledger at live dot com.au --- Comment #2 from David Ledger --- I'm happy to use this thread for the issue, I can just repost my link to the same issue here. My reporting of the issue is here, but Lewis Bakers example is seperate. https://stackoverflow.com/questions/64348125/c20-coroutines-unexpected-reordering-of-await-resume-return-value-and-yield Is there anything I can do to help this issue get resolved? I've been throwing things at the wall trying to get something to stick (for a work around) but so far nothing helps with this particular case.
[Bug c++/97452] [coroutines] incorrect sequencing of await_resume() when multiple co_await expressions occur in a single statement
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97452 --- Comment #1 from Iain Sandoe --- probably a dup of 97433.
[Bug c++/97452] [coroutines] incorrect sequencing of await_resume() when multiple co_await expressions occur in a single statement
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97452 Iain Sandoe changed: What|Removed |Added Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Target Milestone|--- |10.3 Assignee|unassigned at gcc dot gnu.org |iains at gcc dot gnu.org Last reconfirmed||2020-10-16