1! Test of gang-private variables declared on loop directive, with broadcasting 2! to partitioned vectors. 3 4! { dg-do run } 5 6program main 7 integer :: x, i, j, arr(0:32*32) 8 9 do i = 0, 32*32-1 10 arr(i) = i 11 end do 12 13 !$acc kernels copy(arr) 14 !$acc loop gang(num:32) private(x) 15 do i = 0, 31 16 x = i * 2; 17 18 !$acc loop vector(length:32) 19 do j = 0, 31 20 arr(i * 32 + j) = arr(i * 32 + j) + x; 21 end do 22 end do 23 !$acc end kernels 24 25 do i = 0, 32 * 32 - 1 26 if (arr(i) .ne. i + (i / 32) * 2) stop 1 27 end do 28end program main 29