summaryrefslogtreecommitdiff
path: root/gcc/fortran/match.c
diff options
context:
space:
mode:
authorburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>2011-12-03 18:30:36 +0000
committerburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>2011-12-03 18:30:36 +0000
commit93ff964e741c5c06005730d9631308c4deeff577 (patch)
treefd93a90a523df23aa531f68dea337f8c7dd73fd7 /gcc/fortran/match.c
parent7a7511664b33a428315afed1065419dd91e70a6b (diff)
downloadgcc-93ff964e741c5c06005730d9631308c4deeff577.tar.gz
2011-12-03 Tobias Burnus <burnus@net-b.de>
PR fortran/48887 * match.c (select_type_set_tmp): Don't set allocatable/pointer attribute. * class.c (gfc_build_class_symbol): Handle attr.select_type_temporary. 2011-12-03 Tobias Burnus <burnus@net-b.de> PR fortran/48887 * gfortran.dg/select_type_24.f90: New. * gfortran.dg/select_type_23.f03: Add dg-error. * gfortran.dg/class_45a.f03: Add missing TARGET attribute. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181975 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/match.c')
-rw-r--r--gcc/fortran/match.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/gcc/fortran/match.c b/gcc/fortran/match.c
index fbafe82cc66..3de9c72571e 100644
--- a/gcc/fortran/match.c
+++ b/gcc/fortran/match.c
@@ -5152,16 +5152,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);
- 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);
+ tmp->n.sym->attr.select_type_temporary = 1;
if (ts->type == BT_CLASS)
gfc_build_class_symbol (&tmp->n.sym->ts, &tmp->n.sym->attr,
&tmp->n.sym->as, false);
- tmp->n.sym->attr.select_type_temporary = 1;
/* Add an association for it, so the rest of the parser knows it is
an associate-name. The target will be set during resolution. */