https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96080
Bug ID: 96080 Summary: [OpenACC] 'acc_is_present' for Fortran 'pointer' Product: gcc Version: 11.0 Status: UNCONFIRMED Keywords: openacc Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: tschwinge at gcc dot gnu.org CC: burnus at gcc dot gnu.org Target Milestone: --- Do we have to clarify what 'acc_is_present' on a pointer means: whether the data it points to is present, or whether the pointer object itself is present -- or invalid? program main use openacc implicit none integer, dimension (:), allocatable, target :: a integer, dimension (:), pointer :: p allocate (a(10)) !$acc enter data create(a) if (.not. acc_is_present (a)) stop 1 p => a ! At this point, the data it points to is present, but the 'p' object itself isn't. if (acc_is_present (p)) stop 2 !$acc enter data create(p) ! At this point, both the data it points to, and the 'p' object are present. if (.not. acc_is_present (p)) stop 3 !TODO This fails -- unexpectedly? end program main