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

Reply via email to