1! { dg-do run } 2 3module param 4 integer, parameter :: N = 32 5end module param 6 7program main 8 use param 9 integer :: i 10 integer :: a(N) 11 12 do i = 1, N 13 a(i) = i 14 end do 15 16 !$acc parallel copy (a) 17 !$acc loop worker 18 do i = 1, N 19 call vector (a) 20 end do 21 !$acc end parallel 22 23 do i = 1, N 24 if (a(i) .ne. 0) stop 1 25 end do 26 27contains 28 29 subroutine vector (a) 30 !$acc routine vector 31 integer, intent (inout) :: a(N) 32 integer :: i 33 34 !$acc loop vector 35 do i = 1, N 36 a(i) = a(i) - a(i) 37 end do 38 39end subroutine vector 40 41end program main 42