aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/decl.c
diff options
context:
space:
mode:
authorTobias Burnus <burnus@gcc.gnu.org>2009-10-09 22:34:35 +0200
committerTobias Burnus <burnus@gcc.gnu.org>2009-10-09 22:34:35 +0200
commitd0a9804e353b33d339e20f0aa2bd458a4ff08649 (patch)
tree7eeb58c662060f0443817dc0734fd9cc29a924a0 /gcc/fortran/decl.c
parent7431bf06bc2bb01a307a796bf4de57d9ca48bb38 (diff)
downloadgcc-d0a9804e353b33d339e20f0aa2bd458a4ff08649.zip
gcc-d0a9804e353b33d339e20f0aa2bd458a4ff08649.tar.gz
gcc-d0a9804e353b33d339e20f0aa2bd458a4ff08649.tar.bz2
re PR fortran/41582 ([OOP] Allocation of abstract types requires a type spec or a SOURCE)
2009-10-09 Tobias Burnus <burnus@net-b.de> PR fortran/41582 * decl.c (encapsulate_class_symbol): Save attr.abstract. * resolve.c (resolve_allocate_expr): Reject class allocate without typespec or source=. * trans-stmt.c (gfc_trans_allocate): Change gfc_warning into gfc_error for "not yet implemented". 2009-10-09 Tobias Burnus <burnus@net-b.de> PR fortran/41582 * gfortran.dg/class_allocate_1.f03: Modify code such that it compiles with the gfc_warning->gfc_error change. * gfortran.dg/class_allocate_1.f03: New test. From-SVN: r152601
Diffstat (limited to 'gcc/fortran/decl.c')
-rw-r--r--gcc/fortran/decl.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/fortran/decl.c b/gcc/fortran/decl.c
index 82442042..2c378fb 100644
--- a/gcc/fortran/decl.c
+++ b/gcc/fortran/decl.c
@@ -1077,6 +1077,7 @@ encapsulate_class_symbol (gfc_typespec *ts, symbol_attribute *attr,
c->attr.pointer = attr->pointer || attr->dummy;
c->attr.allocatable = attr->allocatable;
c->attr.dimension = attr->dimension;
+ c->attr.abstract = ts->u.derived->attr.abstract;
c->as = (*as);
c->initializer = gfc_get_expr ();
c->initializer->expr_type = EXPR_NULL;