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

Reply via email to