aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple-loop-jam.cc
diff options
context:
space:
mode:
authorArsen Arsenović <arsen@aarsen.me>2024-08-16 19:07:01 +0200
committerArsen Arsenović <arsen@gcc.gnu.org>2024-08-29 13:53:33 +0200
commitd9c54e9a036189e8961ec17e118fccf794d7bfab (patch)
treebc5519633349392ee78f596f22ffe38a7a376fde /gcc/gimple-loop-jam.cc
parentbd2ccc24420c0789a3ad0b49d0ea4c2e7653afae (diff)
downloadgcc-d9c54e9a036189e8961ec17e118fccf794d7bfab.zip
gcc-d9c54e9a036189e8961ec17e118fccf794d7bfab.tar.gz
gcc-d9c54e9a036189e8961ec17e118fccf794d7bfab.tar.bz2
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.
Diffstat (limited to 'gcc/gimple-loop-jam.cc')
0 files changed, 0 insertions, 0 deletions