------- Comment #4 from janus at gcc dot gnu dot org 2010-06-09 21:17 ------- Here's a quick shot at fixing the ICE:
Index: gcc/fortran/resolve.c =================================================================== --- gcc/fortran/resolve.c (revision 160503) +++ gcc/fortran/resolve.c (working copy) @@ -6146,8 +6146,11 @@ gfc_expr_to_initialize (gfc_expr *e) static gfc_try conformable_arrays (gfc_expr *e1, gfc_expr *e2) { + gfc_ref *tail; + for (tail = e2->ref; tail && tail->next; tail = tail->next); + /* First compare rank. */ - if (e2->ref && e1->rank != e2->ref->u.ar.as->rank) + if (tail && e1->rank != tail->u.ar.as->rank) { gfc_error ("Source-expr at %L must be scalar or have the " "same rank as the allocate-object at %L", It does work on the test case, but I haven't checked for regressions. -- janus at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |janus at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44207