http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47728
janus at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
AssignedTo|unassigned at gcc dot |janus at gcc dot gnu.org
|gnu.org |
--- Comment #8 from janus at gcc dot gnu.org 2011-02-14 12:23:00 UTC ---
Ok, here is a simple draft patch which gets rid of the ICE:
Index: gcc/fortran/primary.c
===================================================================
--- gcc/fortran/primary.c (revision 170124)
+++ gcc/fortran/primary.c (working copy)
@@ -1770,8 +1770,8 @@ gfc_match_varspec (gfc_expr *primary, int equiv_fl
if ((equiv_flag && gfc_peek_ascii_char () == '(')
|| gfc_peek_ascii_char () == '[' || sym->attr.codimension
- || (sym->attr.dimension && !sym->attr.proc_pointer
- && !gfc_is_proc_ptr_comp (primary, NULL)
+ || (sym->attr.dimension && sym->ts.type != BT_CLASS
+ && !sym->attr.proc_pointer && !gfc_is_proc_ptr_comp (primary, NULL)
&& !(gfc_matching_procptr_assignment
&& sym->attr.flavor == FL_PROCEDURE))
|| (sym->ts.type == BT_CLASS && sym->attr.class_ok
If this survives the testsuite, I will commit it as obvious.