[Bug fortran/44213] ICE when extending abstract type

janus at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Thu May 20 20:36:00 GMT 2010



------- Comment #2 from janus at gcc dot gnu dot org  2010-05-20 20:36 -------
The ICE is fixed by this more or less obvious patch:

Index: gcc/fortran/resolve.c
===================================================================
--- gcc/fortran/resolve.c       (revision 159561)
+++ gcc/fortran/resolve.c       (working copy)
@@ -10556,10 +10556,10 @@ ensure_not_abstract (gfc_symbol* sub, gfc_symbol*
      This is not the most efficient way to do this, but it should be ok and is
      clearer than something sophisticated.  */

-  gcc_assert (ancestor && ancestor->attr.abstract && !sub->attr.abstract);
+  gcc_assert (ancestor && !sub->attr.abstract);

   /* Walk bindings of this ancestor.  */
-  if (ancestor->f2k_derived)
+  if (ancestor->attr.abstract && ancestor->f2k_derived)
     {
       gfc_try t;
       t = ensure_not_abstract_walker (sub,
ancestor->f2k_derived->tb_sym_root);


-- 

janus at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |janus at gcc dot gnu dot org
                   |dot org                     |
             Status|NEW                         |ASSIGNED
   Last reconfirmed|2010-05-20 20:24:30         |2010-05-20 20:36:07
               date|                            |


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



More information about the Gcc-bugs mailing list