1! { dg-do run } 2! 3program foo 4 implicit none 5 integer, parameter :: n = 100 6 integer, dimension(n,n) :: a 7 integer :: i, j, sum = 0 8 9 a = 1 10 11 !$acc parallel copyin(a(1:n,1:n)) firstprivate (sum) 12 !$acc loop gang reduction(+:sum) 13 do i=1, n 14 !$acc loop vector reduction(+:sum) 15 do j=1, n 16 sum = sum + a(i, j) 17 enddo 18 enddo 19 !$acc end parallel 20 21end program foo 22