From: Mikael Morin Date: Tue, 18 Oct 2011 15:02:38 +0000 (+0000) Subject: re PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents) X-Git-Tag: releases/gcc-4.7.0~3005 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6cab5e07b00571596966f764d7d37c6b58bbcdca;p=thirdparty%2Fgcc.git re PR fortran/50420 ([Coarray] lcobound doesn't accept coarray subcomponents) PR fortran/50420 * trans-intrinsic.c (walk_coarray): Change AR_ELEMENT to AR_SECTION. PR fortran/50420 * trans-intrinsic.c (walk_coarray): Use gfc_walk_array_ref for the scalarization chain initialization. From-SVN: r180147 --- diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 819369c2adc1..2b3ca85b6e15 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,12 @@ +2011-10-18 Mikael Morin + + PR fortran/50420 + * trans-intrinsic.c (walk_coarray): Change AR_ELEMENT to AR_SECTION. + + PR fortran/50420 + * trans-intrinsic.c (walk_coarray): Use gfc_walk_array_ref for + the scalarization chain initialization. + 2011-10-18 Mikael Morin PR fortran/50420 diff --git a/gcc/fortran/trans-intrinsic.c b/gcc/fortran/trans-intrinsic.c index 82bbb69f70d8..83fc4fc52efa 100644 --- a/gcc/fortran/trans-intrinsic.c +++ b/gcc/fortran/trans-intrinsic.c @@ -940,8 +940,6 @@ walk_coarray (gfc_expr *e) { gfc_ref *ref; - ss = gfc_get_array_ss (gfc_ss_terminator, e, 0, GFC_SS_SECTION); - ref = e->ref; while (ref) { @@ -953,8 +951,9 @@ walk_coarray (gfc_expr *e) } gcc_assert (ref != NULL); - ref->u.ar.type = AR_FULL; - ss->data.info.ref = ref; + if (ref->u.ar.type == AR_ELEMENT) + ref->u.ar.type = AR_SECTION; + ss = gfc_reverse_ss (gfc_walk_array_ref (ss, e, ref)); } return ss;