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