On Mon, Apr 06, 2020 at 04:10:24PM -0400, Fritz Reese wrote:
> On Sat, Apr 4, 2020 at 2:58 PM Steve Kargl via Fortran
> <fort...@gcc.gnu.org> wrote:
> >
> > This patch fixes the ICE found in PR93686.
> >
> >
> > Index: gcc/fortran/decl.c
> > ===================================================================
> > --- gcc/fortran/decl.c  (revision 280157)
> > +++ gcc/fortran/decl.c  (working copy)
> > @@ -696,6 +696,10 @@ gfc_match_data (void)
> >           /* F2008:C567 (R536) A data-i-do-object or a variable that appears
> >              as a data-stmt-object shall not be an object designator in 
> > which
> >              a pointer appears other than as the entire rightmost part-ref. 
> >  */
> > +         if (!e->ref && e->ts.type == BT_DERIVED
> > +             && e->symtree->n.sym->attr.pointer)
> > +           goto partref;
> > +
> >           ref = e->ref;
> >           if (e->symtree->n.sym->ts.type == BT_DERIVED
> >               && e->symtree->n.sym->attr.pointer
> >
> > --
> > Steve
> 
> LGTM, thanks for the patch. I will commit along with the testcases from the 
> PR.
> 
Thanks.  For reference, my original code did not check
the left-most partref for the pointer attribute.  This
patch implements this check.

BTW, if you haven't committed the degree trig functions, 
then I think you should to get the fixes in for 10.1.

-- 
Steve

Reply via email to