[Bug fortran/56500] [OOP] "IMPLICIT CLASS(...)" wrongly rejected

janus at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Mar 18 12:57:00 GMT 2013


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

--- Comment #10 from janus at gcc dot gnu.org 2013-03-18 12:56:57 UTC ---
(In reply to comment #9)
> > Yes. I hope this variant should work better (regtesting now):
> 
> It "works better", but still has regressions:

Yes, I already noticed this. The following version should finally be
regression-free:


Index: gcc/fortran/decl.c
===================================================================
--- gcc/fortran/decl.c    (revision 196748)
+++ gcc/fortran/decl.c    (working copy)
@@ -6293,6 +6293,10 @@ attr_decl1 (void)
     }
     }

+  if (sym->ts.type == BT_UNKNOWN
+      && gfc_get_default_type (sym->name, NULL)->type == BT_CLASS)
+      gfc_set_default_type (sym, 0, NULL);
+
   /* Update symbol table.  DIMENSION attribute is set in
      gfc_set_array_spec().  For CLASS variables, this must be applied
      to the first component, or '_data' field.  */



More information about the Gcc-bugs mailing list