------- Comment #1 from janus at gcc dot gnu dot org  2009-10-20 17:17 -------
Mine. Preliminary patch:

Index: gcc/fortran/match.c
===================================================================
--- gcc/fortran/match.c (Revision 153009)
+++ gcc/fortran/match.c (Arbeitskopie)
@@ -4047,9 +4047,10 @@ select_type_set_tmp (gfc_typespec *ts)

   sprintf (name, "tmp$%s", ts->u.derived->name);
   gfc_get_sym_tree (name, gfc_current_ns, &tmp, false);
-  tmp->n.sym->ts = *ts;
-  tmp->n.sym->attr.referenced = 1;
-  tmp->n.sym->attr.pointer = 1;
+  gfc_add_type (tmp->n.sym, ts, NULL);
+  gfc_set_sym_referenced (tmp->n.sym);
+  gfc_add_pointer (&tmp->n.sym->attr, NULL);
+  gfc_add_flavor (&tmp->n.sym->attr, FL_VARIABLE, name, NULL);

   select_type_stack->tmp = tmp;
 }

The important thing here is 'gfc_add_flavor'. The other three lines are just
rewritten, but still do the same thing.


-- 

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         |2009-10-20 17:17:24
               date|                            |


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

Reply via email to