[Bug fortran/45827] [4.6 Regression] [OOP] mio_component_ref(): Component not found

dfranke at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Dec 27 22:18:00 GMT 2010


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45827

--- Comment #36 from Daniel Franke <dfranke at gcc dot gnu.org> 2010-12-27 22:18:27 UTC ---
(In reply to comment #35)
> Yes, I think I know what's going on. One way to fix it is the following:

I managed to get an ICE with your version (sym == NULL), this seems to work
(not regtested):

Index: module.c
===================================================================
--- module.c    (revision 168256)
+++ module.c    (working copy)
@@ -2311,6 +2311,9 @@
     {
       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.  */



More information about the Gcc-bugs mailing list