https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80775
Peter Bergner <bergner at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |bergner at gcc dot gnu.org --- Comment #8 from Peter Bergner <bergner at gcc dot gnu.org> --- I'm testing a patch. The special thing here, is that we try combining multiple case statements that lead to the same block and that block contains a __builtin_unreachable() call. If we remove the edge//block for the first case label, that causes a problem for the next case label that points to the same block. My "fix" is to first merge the case statements and then check whether the resulting case label points to an unreachable block and delete it if it does, which fixes the ICE.