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

Jerry DeLisle <jvdelisle at gcc dot gnu.org> changed:

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

--- Comment #5 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> ---
(In reply to kargl from comment #4)
--- snip ---

If it passes regression testing, consider it approved.

> % svn diff resolve.c 
> Index: resolve.c
> ===================================================================
> --- resolve.c   (revision 254461)
> +++ resolve.c   (working copy)
> @@ -14001,13 +14001,19 @@ resolve_fl_derived0 (gfc_symbol *sym)
>      {
>        for (f = sym->formal; f; f = f->next)
>         {
> -         c = gfc_find_component (sym, f->sym->name, true, true, NULL);
> -         if (c == NULL)
> +         if (!f->sym)
>             {
>               gfc_error ("Parameterized type %qs does not have a component "
> +                        "at %L", sym->name, &sym->declared_at);
> +             return false;
> +           }
> +
> +         if (!gfc_find_component (sym, f->sym->name, true, true, NULL))
> +           {
> +             gfc_error ("Parameterized type %qs does not have a component "
>                          "corresponding to parameter %qs at %L", sym->name,
>                          f->sym->name, &sym->declared_at);
> -             break;
> +             return false;
>             }
>         }
>      }

Reply via email to