[Bug c++/99710] coroutines: co_yield and co_await should only be allowed in suspension context

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun Oct 3 19:54:06 GMT 2021


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99710

--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Iain D Sandoe <iains@gcc.gnu.org>:

https://gcc.gnu.org/g:650beb110538097b9c3e8600149b333a83e7e836

commit r12-4102-g650beb110538097b9c3e8600149b333a83e7e836
Author: Iain Sandoe <iain@sandoe.co.uk>
Date:   Sat Oct 2 14:43:39 2021 +0100

    coroutines: Await expressions are not allowed in handlers [PR 99710].

    C++20 [expr.await] / 2
    An await-expression shall appear only in a potentially-evaluated expression
    within the compound-statement of a function-body outside of a handler.

    Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>

            PR c++/99710

    gcc/cp/ChangeLog:

            * coroutines.cc (await_statement_walker): Report an error if
            an await expression is found in a handler body.

    gcc/testsuite/ChangeLog:

            * g++.dg/coroutines/pr99710.C: New test.


More information about the Gcc-bugs mailing list