blob: e44d6a50969bbc4b5b6b096e7e90cbd17f56b550 [file] [log] [blame]
! Basic offloading test with a target region
! REQUIRES: flang
! UNSUPPORTED: nvptx64-nvidia-cuda-LTO
! UNSUPPORTED: aarch64-unknown-linux-gnu
! UNSUPPORTED: aarch64-unknown-linux-gnu-LTO
! UNSUPPORTED: x86_64-pc-linux-gnu
! UNSUPPORTED: x86_64-pc-linux-gnu-LTO
! RUN: %libomptarget-compile-fortran-generic
! RUN: env LIBOMPTARGET_INFO=16 %libomptarget-run-generic 2>&1 | %fcheck-generic
program main
use omp_lib
implicit none
integer :: i,j
integer :: array(10,10), errors = 0
do i = 1, 10
do j = 1, 10
array(j, i) = 0
end do
end do
!$omp target parallel do map(from:array) collapse(2)
do i = 1, 10
do j = 1, 10
array( j, i) = i + j
end do
end do
!$omp end target parallel do
do i = 1, 10
do j = 1, 10
if ( array( j, i) .ne. (i + j) ) then
errors = errors + 1
end if
end do
end do
print *,"number of errors: ", errors
end program main
! CHECK: "PluginInterface" device {{[0-9]+}} info: Launching kernel {{.*}}
! CHECK: number of errors: 0