| ! 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 |