http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48699
janus at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED AssignedTo|unassigned at gcc dot |janus at gcc dot gnu.org |gnu.org | --- Comment #6 from janus at gcc dot gnu.org 2011-05-20 20:17:21 UTC --- Patch: Index: gcc/fortran/match.c =================================================================== --- gcc/fortran/match.c (Revision 173965) +++ gcc/fortran/match.c (Arbeitskopie) @@ -4533,7 +4533,11 @@ select_type_set_tmp (gfc_typespec *ts) gfc_get_sym_tree (name, gfc_current_ns, &tmp, false); gfc_add_type (tmp->n.sym, ts, NULL); gfc_set_sym_referenced (tmp->n.sym); - gfc_add_pointer (&tmp->n.sym->attr, NULL); + if (select_type_stack->selector->ts.type == BT_CLASS && + CLASS_DATA (select_type_stack->selector)->attr.allocatable) + gfc_add_allocatable (&tmp->n.sym->attr, NULL); + else + gfc_add_pointer (&tmp->n.sym->attr, NULL); gfc_add_flavor (&tmp->n.sym->attr, FL_VARIABLE, name, NULL); if (ts->type == BT_CLASS) gfc_build_class_symbol (&tmp->n.sym->ts, &tmp->n.sym->attr,