aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/module.c
diff options
context:
space:
mode:
authorJanus Weil <janus@gcc.gnu.org>2011-06-16 13:45:05 +0200
committerJanus Weil <janus@gcc.gnu.org>2011-06-16 13:45:05 +0200
commit9c9eacb9b4d7b9f2866da3352e12722aedc846df (patch)
treeb906177d151631ae9652bebb3a02f3f328d24096 /gcc/fortran/module.c
parentfd4df33d4ee706a8dbc98201b1a62456fabb8195 (diff)
downloadgcc-9c9eacb9b4d7b9f2866da3352e12722aedc846df.zip
gcc-9c9eacb9b4d7b9f2866da3352e12722aedc846df.tar.gz
gcc-9c9eacb9b4d7b9f2866da3352e12722aedc846df.tar.bz2
re PR fortran/49417 ([OOP] ICE on invalid CLASS component declaration)
2011-06-16 Janus Weil <janus@gcc.gnu.org> PR fortran/49417 * module.c (mio_component): Make sure the 'class_ok' attribute is set for use-associated CLASS components. * parse.c (parse_derived): Check for 'class_ok' attribute. * resolve.c (resolve_fl_derived): Ditto. 2011-06-16 Janus Weil <janus@gcc.gnu.org> PR fortran/49417 * gfortran.dg/class_43.f03: New. From-SVN: r175101
Diffstat (limited to 'gcc/fortran/module.c')
-rw-r--r--gcc/fortran/module.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c
index 533246d..89281a5 100644
--- a/gcc/fortran/module.c
+++ b/gcc/fortran/module.c
@@ -2403,6 +2403,8 @@ mio_component (gfc_component *c, int vtype)
mio_array_spec (&c->as);
mio_symbol_attribute (&c->attr);
+ if (c->ts.type == BT_CLASS)
+ c->attr.class_ok = 1;
c->attr.access = MIO_NAME (gfc_access) (c->attr.access, access_types);
if (!vtype)