* trans-intrinsic.c (walk_coarray): Allow subreferences after a
coarray object reference.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180146
138bc75d-0d04-0410-961f-
82ee72b054a4
2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/50420
+ * trans-intrinsic.c (walk_coarray): Allow subreferences after a
+ coarray object reference.
+
+2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/50420
* trans-array.c (gfc_walk_array_ref): Allow zero rank arrays
if they are coarrays.
ss = gfc_get_array_ss (gfc_ss_terminator, e, 0, GFC_SS_SECTION);
ref = e->ref;
- while (ref->next)
- ref = ref->next;
+ while (ref)
+ {
+ if (ref->type == REF_ARRAY
+ && ref->u.ar.codimen > 0)
+ break;
+
+ ref = ref->next;
+ }
- gcc_assert (ref->type == REF_ARRAY && ref->u.ar.codimen > 0);
+ gcc_assert (ref != NULL);
ref->u.ar.type = AR_FULL;
ss->data.info.ref = ref;
}