https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77583

anlauf at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |anlauf at gcc dot gnu.org

--- Comment #5 from anlauf at gcc dot gnu.org ---
(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?

Reply via email to