------- Comment #2 from pault at gcc dot gnu dot org 2007-02-22 09:30 -------
(In reply to comment #1)
This fixes it:
Index: gcc/fortran/check.c
===================================================================
*** gcc/fortran/check.c (revision 122101)
--- gcc/fortran/check.c (working copy)
*************** dim_rank_check (gfc_expr *dim, gfc_expr
*** 337,343 ****
ar = gfc_find_array_ref (array);
rank = array->rank;
! if (ar->as->type == AS_ASSUMED_SIZE && !allow_assumed)
rank--;
if (mpz_cmp_ui (dim->value.integer, 1) < 0
--- 337,346 ----
ar = gfc_find_array_ref (array);
rank = array->rank;
! if (ar->as->type == AS_ASSUMED_SIZE
! && !allow_assumed
! && ar->type != AR_ELEMENT
! && ar->type != AR_SECTION)
rank--;
if (mpz_cmp_ui (dim->value.integer, 1) < 0
As with other recent PRs, I cannot do anything with it for a bit - feel free to
see it to completion.
Paul
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30882