From ce79f3ecdca2e93ea18ef4b30484d5e1602f3d2a Mon Sep 17 00:00:00 2001 From: mikael Date: Tue, 18 Oct 2011 15:11:21 +0000 Subject: [PATCH] PR fortran/50420 * simplify.c (simplify_cobound): Accept non-last-in-ref-chain coarrays. Don't set already set array ref. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180150 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/simplify.c | 6 ++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 18e209f63be..2421c03fe76 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,11 @@ 2011-10-18 Mikael Morin + PR fortran/50420 + * simplify.c (simplify_cobound): Accept non-last-in-ref-chain coarrays. + Don't set already set array ref. + +2011-10-18 Mikael Morin + * array.c (gfc_find_array_ref): Remove coarray-specific handling. 2011-10-18 Mikael Morin diff --git a/gcc/fortran/simplify.c b/gcc/fortran/simplify.c index 13a9c5147c0..63689bb700c 100644 --- a/gcc/fortran/simplify.c +++ b/gcc/fortran/simplify.c @@ -3512,11 +3512,9 @@ simplify_cobound (gfc_expr *array, gfc_expr *dim, gfc_expr *kind, int upper) switch (ref->u.ar.type) { case AR_ELEMENT: - if (ref->next == NULL) + if (ref->u.ar.as->corank > 0) { - gcc_assert (ref->u.ar.as->corank > 0 - && ref->u.ar.as->rank == 0); - as = ref->u.ar.as; + gcc_assert (as == ref->u.ar.as); goto done; } as = NULL; -- 2.11.0