bolt/deps/llvm-18.1.8/openmp/libomptarget/test/offloading/fortran/basic-target-parallel-do.f90
2025-02-14 19:21:04 +01:00

33 lines
865 B
Fortran

! 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
integer :: x(100)
integer :: errors = 0
integer :: i
!$omp target parallel do map(from: x)
do i = 1, 100
x(i) = i
end do
!$omp end target parallel do
do i = 1, 100
if ( x(i) .ne. i ) then
errors = errors + 1
end if
end do
print *,"number of errors: ", errors
end program main
! CHECK: "PluginInterface" device {{[0-9]+}} info: Launching kernel {{.*}}
! CHECK: number of errors: 0