[Patch, Fortran, OOP] PR 80392: [5/6/7 Regression] ICE with allocatable polymorphic function result in a procedure pointer component

Janus Weil janus@gcc.gnu.org
Fri Apr 21 18:26:00 GMT 2017


Ping! I was hoping this would still make it into GCC 7, which
apparently is very close to being released now (branched already) ...

Cheers,
Janus



2017-04-17 11:07 GMT+02:00 Janus Weil <janus@gcc.gnu.org>:
> Hi all,
>
> the attached patch fixes an ICE-on-valid regression, where the
> compiler runs into an infinite loop if a derived type contains a
> procedure-pointer component which has a polymorphic result of the
> original type.
>
> We already have a piece of code which prevents the infinite loop for
> TYPE-valued PPCs, but it doesn't work for CLASS results, which is
> fixed by the patch here.
>
> Ok for trunk and the 5/6 branches?
>
> Cheers,
> Janus
>
>
>
> 2017-04-17  Janus Weil  <janus@gcc.gnu.org>
>
>     PR fortran/80392
>     * trans-types.c (gfc_get_derived_type): Prevent an infinite loop when
>     building a derived type that includes a procedure pointer component
>     with a polymorphic result.
>
> 2017-04-17  Janus Weil  <janus@gcc.gnu.org>
>
>     PR fortran/80392
>     * gfortran.dg/proc_ptr_comp_49.f90: New test case.



More information about the Gcc-patches mailing list