[patch,gfortran] PR 18568: Component not found

Erik Edelmann erik.edelman@iki.fi
Tue Oct 4 18:19:00 GMT 2005


On Tue, Oct 04, 2005 at 01:53:07PM -0400, Jakub Jelinek wrote:
> On Tue, Oct 04, 2005 at 08:47:04PM +0300, Erik Edelmann wrote:
> > @@ -1912,7 +1912,7 @@ find_array_spec (gfc_expr * e)
> >    gfc_ref *ref;
> >  
> >    as = e->symtree->n.sym->as;
> > -  c = e->symtree->n.sym->components;
> > +  c = e->symtree->n.sym->ts.derived ? e->symtree->n.sym->ts.derived->components : NULL;
> 
> This line is too long.

Yes, sorry.  Updated patch.


        Erik
-------------- next part --------------
Index: gcc/fortran/resolve.c
===================================================================
RCS file: /cvsroot/gcc/gcc/gcc/fortran/resolve.c,v
retrieving revision 1.57
diff -u -p -r1.57 resolve.c
--- gcc/fortran/resolve.c	1 Oct 2005 07:39:05 -0000	1.57
+++ gcc/fortran/resolve.c	4 Oct 2005 17:56:52 -0000
@@ -1912,7 +1912,8 @@ find_array_spec (gfc_expr * e)
   gfc_ref *ref;
 
   as = e->symtree->n.sym->as;
-  c = e->symtree->n.sym->components;
+  c = e->symtree->n.sym->ts.derived ? e->symtree->n.sym->ts.derived->components
+                                    : NULL;
 
   for (ref = e->ref; ref; ref = ref->next)
     switch (ref->type)
@@ -1940,7 +1941,6 @@ find_array_spec (gfc_expr * e)
 	    as = c->as;
 	  }
 
-	c = c->ts.derived->components;
 	break;
 
       case REF_SUBSTRING:


More information about the Fortran mailing list