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.

Reply via email to