https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105104
--- Comment #7 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The trunk branch has been updated by Arsen Arsenovic <ar...@gcc.gnu.org>: https://gcc.gnu.org/g:d9c54e9a036189e8961ec17e118fccf794d7bfab commit r15-3285-gd9c54e9a036189e8961ec17e118fccf794d7bfab Author: Arsen ArsenoviÄ <ar...@aarsen.me> Date: Fri Aug 16 19:07:01 2024 +0200 c++: don't remove labels during coro-early-expand-ifns [PR105104] In some scenarios, it is possible for the CFG cleanup to cause one of the labels mentioned in CO_YIELD, which coro-early-expand-ifns intends to remove, to become part of some statement. As a result, when that label is removed, the statement it became part of becomes invalid, crashing the compiler. There doesn't appear to be a reason to remove the labels (anymore, at least), so let's not do that. PR c++/105104 gcc/ChangeLog: * coroutine-passes.cc (execute_early_expand_coro_ifns): Don't remove any labels. gcc/testsuite/ChangeLog: * g++.dg/coroutines/torture/pr105104.C: New test.