aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/module.c3
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 450d1df..e998899 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 f10e43b..f75e3fd 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. */