Message ID | CAKwh3qhgTpJ_=h9XONpOf8oWk6kNL7cp8y1JCR0GXrjusSo0cw@mail.gmail.com |
---|---|
State | New |
Headers | show |
> But after all I think that the patch should not hurt. After giving it > some second thoughts, the only alternative I could see is this: > > Index: gcc/fortran/resolve.c > =================================================================== > --- gcc/fortran/resolve.c (revision 207485) > +++ gcc/fortran/resolve.c (working copy) > @@ -11224,13 +11224,6 @@ gfc_resolve_finalizers (gfc_symbol* derived) > gfc_finalizer* i; > int my_rank; > > - /* Skip this finalizer if we already resolved it. */ > - if (list->proc_tree) > - { > - prev_link = &(list->next); > - continue; > - } > - > /* Check this exists and is a SUBROUTINE. */ > if (!list->proc_sym->attr.subroutine) > { > > > It also gets rid of the ICE, but I haven't regtested it yet. Does this > look better to you than the original patch? (It might give duplicate > error messages in some cases?) Unfortunately this ICEs on a good number of finalize_* test cases ... Cheers, Janus
Index: gcc/fortran/resolve.c =================================================================== --- gcc/fortran/resolve.c (revision 207485) +++ gcc/fortran/resolve.c (working copy) @@ -11224,13 +11224,6 @@ gfc_resolve_finalizers (gfc_symbol* derived) gfc_finalizer* i; int my_rank; - /* Skip this finalizer if we already resolved it. */ - if (list->proc_tree) - { - prev_link = &(list->next); - continue; - } - /* Check this exists and is a SUBROUTINE. */ if (!list->proc_sym->attr.subroutine) {