1! Test of gang-private variables declared on loop directive. 2 3! { dg-do run } 4 5! { dg-additional-options "-fopt-info-note-omp" } 6! { dg-additional-options "--param=openacc-privatization=noisy" } 7! { dg-additional-options "-foffload=-fopt-info-note-omp" } 8! { dg-additional-options "-foffload=--param=openacc-privatization=noisy" } 9! for testing/documenting aspects of that functionality. 10 11program main 12 integer :: x, i, arr(32) 13 14 do i = 1, 32 15 arr(i) = i 16 end do 17 18 !$acc kernels copy(arr) 19 !$acc loop gang(num:32) private(x) 20 ! { dg-note {variable 'i' in 'private' clause isn't candidate for adjusting OpenACC privatization level: not addressable} "" { target *-*-* } .-1 } 21 ! { dg-note {variable 'x' in 'private' clause isn't candidate for adjusting OpenACC privatization level: not addressable} "" { target *-*-* } .-2 } 22 do i = 1, 32 23 x = i * 2; 24 arr(i) = arr(i) + x; 25 end do 26 !$acc end kernels 27 28 do i = 1, 32 29 if (arr(i) .ne. i * 3) stop 1 30 end do 31end program main 32