https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109283
--- Comment #8 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Iain D Sandoe <ia...@gcc.gnu.org>: https://gcc.gnu.org/g:977fadd69776e2a8a6daca43e1c898bc4f87154d commit r16-969-g977fadd69776e2a8a6daca43e1c898bc4f87154d Author: Iain Sandoe <i...@sandoe.co.uk> Date: Thu May 29 15:45:29 2025 +0100 c++, coroutines: Make a check more specific [PR109283]. The check was intended to assert that we had visited contained ternary expressions with embedded co_awaits, but had been made too general - and therefore was ICEing on code that was actually OK. Fixed by checking specifically that no co_awaits embedded. PR c++/109283 gcc/cp/ChangeLog: * coroutines.cc (find_any_await): Only save the statement pointer if the caller passes a place for it. (flatten_await_stmt): When checking that ternary expressions have been handled, also check that they contain a co_await. gcc/testsuite/ChangeLog: * g++.dg/coroutines/pr109283.C: New test. Signed-off-by: Iain Sandoe <i...@sandoe.co.uk>