diff options
author | Janus Weil <janus@gcc.gnu.org> | 2010-12-28 22:21:53 +0100 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2010-12-28 22:21:53 +0100 |
commit | 9367d533746bca66659395d2af95bc2280b4037f (patch) | |
tree | ef1a0d52bc663adbbcc30a82ca40a9876687b8dd /gcc/fortran | |
parent | 040d39eef25ebe7192023c3aa1ddda9858ea3135 (diff) | |
download | gcc-9367d533746bca66659395d2af95bc2280b4037f.tar.gz |
re PR fortran/45827 ([OOP] mio_component_ref(): Component not found)
2010-12-28 Janus Weil <janus@gcc.gnu.org>
Daniel Franke <dfranke@gcc.gnu.org>
PR fortran/45827
* module.c (mio_component_ref): Handle components of CLASS variables.
2010-12-28 Janus Weil <janus@gcc.gnu.org>
PR fortran/45827
* gfortran.dg/class_32.f90: New.
Co-Authored-By: Daniel Franke <dfranke@gcc.gnu.org>
From-SVN: r168302
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/module.c | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 450d1df4cf0..e9988996b3f 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2010-12-28 Janus Weil <janus@gcc.gnu.org> + Daniel Franke <dfranke@gcc.gnu.org> + + PR fortran/45827 + * module.c (mio_component_ref): Handle components of CLASS variables. + 2010-12-27 Thomas Koenig <tkoenig@gcc.gnu.org> * dump-parse-tree.c (show_typespec): Also show character kind. diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c index f10e43b2720..f75e3fd5837 100644 --- a/gcc/fortran/module.c +++ b/gcc/fortran/module.c @@ -2311,6 +2311,9 @@ mio_component_ref (gfc_component **cp, gfc_symbol *sym) { mio_internal_string (name); + if (sym && sym->attr.is_class) + sym = sym->components->ts.u.derived; + /* It can happen that a component reference can be read before the associated derived type symbol has been loaded. Return now and wait for a later iteration of load_needed. */ |