https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77583
--- Comment #6 from Steve Kargl <sgk at troutmask dot apl.washington.edu> ---
On Fri, Mar 01, 2019 at 09:58:43PM +0000, anlauf at gcc dot gnu.org wrote:
> (In reply to kargl from comment #4)
> > (In reply to Manuel López-Ibáñez from comment #2)
> > > check_conflict is sometimes called with name = NULL and that is passed to
> > > %qs causing a crash.
> >
> > Index: symbol.c
> > ===================================================================
> > --- symbol.c (revision 240140)
> > +++ symbol.c (working copy)
> > @@ -473,8 +473,8 @@ check_conflict (symbol_attribute *attr,
> > }
> > }
> >
> > - if (attr->dummy && ((attr->function || attr->subroutine) &&
> > - gfc_current_state () == COMP_CONTAINS))
> > + if (name && attr->dummy && ((attr->function || attr->subroutine)
> > + && gfc_current_state () == COMP_CONTAINS))
> > gfc_error_now ("internal procedure %qs at %L conflicts with "
> > "DUMMY argument", name, where);
>
> The additional check on 'name' basically applies on current trunk and
> fixes the ICE.
>
> Are you still pursuing this?
>
Given that 2.7 years have past, I'll offer "no".
Feel free to run with the patch.