This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/44213] ICE when extending abstract type
- From: "janus at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 20 May 2010 20:36:07 -0000
- Subject: [Bug fortran/44213] ICE when extending abstract type
- References: <bug-44213-19016@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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