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
> 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