subroutine subr1 (a) implicit none integer, dimension (8), intent (inout) :: a integer :: i i = 0 !$acc parallel deviceptr (a) do i = 1, 8 a(i) = i end do !$acc end parallel end subroutine subroutine subr2 (a) implicit none integer, dimension (8), intent (inout) :: a integer :: i i = 0 !$acc data deviceptr (a) !$acc parallel do i = 1, 8 a(i) = i end do !$acc end parallel !$acc end data end subroutine subroutine subr3 (a) bind (C, name = "subr3") use iso_c_binding implicit none integer (c_int32_t) , dimension (8), intent (inout) :: a integer :: i i = 0 !$acc parallel deviceptr (a) do i = 1, 8 a(i) = i end do !$acc end parallel end subroutine subroutine subr4 (a) bind (C, name = "subr4") use iso_c_binding implicit none integer (c_int32_t) , dimension (8), intent (inout) :: a integer :: i i = 0 !$acc data deviceptr (a) !$acc parallel do i = 1, 8 a(i) = i end do !$acc end parallel !$acc end data end subroutine