diff options
author | Tobias Burnus <burnus@net-b.de> | 2010-03-01 10:23:35 +0100 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2010-03-01 10:23:35 +0100 |
commit | fef06326e1d9b67939f0fdff8b36e2c1dd9eaa2d (patch) | |
tree | 7a36f3a40f113168c040697285dd7fb47bb22370 /gcc/fortran/resolve.c | |
parent | 6c6366f6513dbf11dc563d0a6f420c12d4c48df7 (diff) | |
download | gcc-fef06326e1d9b67939f0fdff8b36e2c1dd9eaa2d.zip gcc-fef06326e1d9b67939f0fdff8b36e2c1dd9eaa2d.tar.gz gcc-fef06326e1d9b67939f0fdff8b36e2c1dd9eaa2d.tar.bz2 |
re PR fortran/43199 ([OOP] ICE when reading module file: find_array_spec(): Component not found)
2010-03-01 Tobias Burnus <burnus@net-b.de>
PR fortran/43199
* resolve.c (find_array_spec): Handle REF_COMPONENT with
CLASS components.
2010-03-01 Tobias Burnus <burnus@net-b.de>
PR fortran/43199
* gfortran.dg/module_read_2.f90: New test.
From-SVN: r157133
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r-- | gcc/fortran/resolve.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index 4f9eb01..8de0de6 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -4007,6 +4007,9 @@ find_array_spec (gfc_expr *e) if (derived == NULL) derived = e->symtree->n.sym->ts.u.derived; + if (derived->attr.is_class) + derived = derived->components->ts.u.derived; + c = derived->components; for (; c; c = c->next) |