diff options
Diffstat (limited to 'gcc/fortran/trans-intrinsic.c')
-rw-r--r-- | gcc/fortran/trans-intrinsic.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/gcc/fortran/trans-intrinsic.c b/gcc/fortran/trans-intrinsic.c index 82bbb69..83fc4fc 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; |