------- Comment #6 from janus at gcc dot gnu dot org 2010-05-03 20:03 ------- Mine. I think fixing comment #0 is as easy as the following two-liner:
Index: gcc/fortran/symbol.c =================================================================== --- gcc/fortran/symbol.c (revision 158970) +++ gcc/fortran/symbol.c (working copy) @@ -4720,6 +4720,8 @@ gfc_build_class_symbol (gfc_typespec *ts, symbol_a sprintf (name, ".class.%s.%d.a", ts->u.derived->name, (*as)->rank); else if ((*as) && (*as)->rank) sprintf (name, ".class.%s.%d", ts->u.derived->name, (*as)->rank); + else if (attr->pointer) + sprintf (name, ".class.%s.p", ts->u.derived->name); else if (attr->allocatable) sprintf (name, ".class.%s.a", ts->u.derived->name); else Apparently this doesn't even induce any testsuite regressions. However, the ICE in comment #4 will need some additional care. Btw, the ICE in comment #0 is gone already since fortran-dev has been merged to trunk. -- janus at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |janus at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2010-05-03 20:03:44 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43696