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.
  • [Bug c++/105104] [coroutines] I... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to