This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/44213] ICE when extending abstract type



------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]