https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98913
--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> ---
(In reply to Tobias Burnus from comment #0)
> D.3991 = (*(real(kind=8)[0:] * restrict) bb.data)[(bb.offset +
> (integer(kind=8)) j * bb.dim[1].stride) + (integer(kind=8)) k];
Missed that this one is a FP number not a pointer – hence, the issue I have
does not exist.
(Probably works – I have not verified whether that is always the case and I
hope it does.)
* * *
The difference between coarray and not occurs elsewhere: dependency.c's
gfc_dep_resolver has:
case REF_ARRAY:
/* For now, treat all coarrays as dangerous. */
if (lref->u.ar.codimen || rref->u.ar.codimen)
return 1;
Alternative would be to check for
flag_coarray == GFC_FCOARRAY_SINGLE
|| ref->u.ar.dimen_type[ref->u.ar.dimen] == DIMEN_THIS_IMAGE)
or something like that.