| ! RUN: %python %S/test_errors.py %s %flang_fc1 -fopenacc |
| |
| subroutine sub1() |
| real, allocatable, device :: a(:) |
| integer :: i |
| |
| !ERROR: Unsupported CUDA data transfer |
| a = a + 10 ! Illegal expression according to 3.4.2 |
| |
| !$cuf kernel do |
| do i = 1, 10 |
| a(i) = a(i) + 10 ! ok in cuf kernel do |
| end do |
| |
| !$acc parallel loop |
| do i = 1, 10 |
| a(i) = a(i) + 10 ! ok in openacc combined construct |
| end do |
| |
| !$acc serial loop |
| do i = 1, 10 |
| a(i) = a(i) + 10 ! ok in openacc combined construct |
| end do |
| |
| !$acc kernels loop |
| do i = 1, 10 |
| a(i) = a(i) + 10 ! ok in openacc combined construct |
| end do |
| |
| !$acc parallel |
| !$acc loop |
| do i = 1, 10 |
| a(i) = a(i) + 10 ! ok in nested openacc construct |
| end do |
| !$acc end parallel |
| |
| !$acc kernels |
| !$acc loop |
| do i = 1, 10 |
| a(i) = a(i) + 10 ! ok in nested openacc construct |
| end do |
| !$acc end kernels |
| |
| !$acc serial |
| !$acc loop |
| do i = 1, 10 |
| a(i) = a(i) + 10 ! ok in nested openacc construct |
| end do |
| !$acc end serial |
| |
| !$acc loop |
| do i = 1, 10 |
| a(i) = a(i) + 10 ! ok acc loop |
| end do |
| |
| !$acc data |
| |
| do i = 1, 10 |
| !ERROR: Unsupported CUDA data transfer |
| a(i) = a(i) + 10 |
| end do |
| |
| !$acc end data |
| |
| end subroutine |
| |
| |
| |