diff --git a/openmp/libomptarget/test/offloading/fortran/basic-target-parallel-do.f90 b/openmp/libomptarget/test/offloading/fortran/basic-target-parallel-do.f90 new file mode 100644 index 00000000000000..9850f1462f59a6 --- /dev/null +++ b/openmp/libomptarget/test/offloading/fortran/basic-target-parallel-do.f90 @@ -0,0 +1,33 @@ +! 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 {{.*}} +! CHECKi: number of errors: 0