This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch, Fortran, OOP] PR 80392: [5/6/7 Regression] ICE with allocatable polymorphic function result in a procedure pointer component
2017-04-21 19:49 GMT+02:00 Steve Kargl <sgk@troutmask.apl.washington.edu>:
> The patch looks ok to me.
Thanks, Steve. I will at least commit to trunk now.
> You'll need Release Manager
> approval (jakub, richi, or maybe law) to apply the
> patch to the 7-branch.
I know. Would anyone of those gentlemen see the possibility of
accepting the patch for the 7-branch at this point?
I'm aware that it's in no way release-critical, but it's a regression
after all and was posted before the branching.
> Hmmm, gcc.gnu.org seems to be unreachable at the moment.
Appears to be back by now ...
Cheers,
Janus
> On Fri, Apr 21, 2017 at 06:57:14PM +0200, Janus Weil wrote:
>> 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.
>
> --
> Steve
> 20161221 https://www.youtube.com/watch?v=IbCHE-hONow