https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62135
kargl at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kargl at gcc dot gnu.org --- Comment #5 from kargl at gcc dot gnu.org --- (In reply to Steven Bosscher from comment #4) > > Problem is a simple list walk error if the unreachable case is the > last in the list. Plugged with the following patch. > You must be bored if you're looking at Fortran bugs again. :-) > Index: resolve.c > =================================================================== > --- resolve.c (revision 214292) > +++ resolve.c (working copy) > @@ -7761,7 +7761,7 @@ resolve_select (gfc_code *code, bool select_type) > /* Strip all other unreachable cases. */ > if (body->ext.block.case_list) > { > - for (cp = body->ext.block.case_list; cp->next; cp = cp->next) > + for (cp = body->ext.block.case_list; cp && cp->next; cp = > cp->next) > { > if (cp->next->unreachable) > { Looks obvious now. If the ICE is fixed, then please commit.