------- Comment #2 from fxcoudert at gcc dot gnu dot org  2008-02-04 23:14 
-------
The following code in resolve_tag_format() is wrong:

  /* If e's rank is zero and e is not an element of an array, it should be
     of integer or character type.  The integer variable should be
     ASSIGNED.  */
  if (e->symtree == NULL || e->symtree->n.sym->as == NULL
      || e->symtree->n.sym->as->rank == 0)

We should not check e->symtree->n.sym->as->rank but the expression's rank
(e->rank). I'm not sure that covers everything, though, I may be missing some
corner case that the code above was designed to catch...


-- 

fxcoudert at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fxcoudert at gcc dot gnu dot
                   |                            |org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35009

Reply via email to