From 9367d533746bca66659395d2af95bc2280b4037f Mon Sep 17 00:00:00 2001 From: Janus Weil Date: Tue, 28 Dec 2010 22:21:53 +0100 Subject: re PR fortran/45827 ([OOP] mio_component_ref(): Component not found) 2010-12-28 Janus Weil Daniel Franke PR fortran/45827 * module.c (mio_component_ref): Handle components of CLASS variables. 2010-12-28 Janus Weil PR fortran/45827 * gfortran.dg/class_32.f90: New. Co-Authored-By: Daniel Franke From-SVN: r168302 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/module.c | 3 +++ 2 files changed, 9 insertions(+) (limited to 'gcc/fortran') 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 + Daniel Franke + + PR fortran/45827 + * module.c (mio_component_ref): Handle components of CLASS variables. + 2010-12-27 Thomas Koenig * 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. */ -- cgit v1.1