Files
clang-p2996/offload/test/offloading/fortran/target-map-enter-exit-array-2.f90
Andrew Gozillon 7fd6cb2939 [Flang][OpenMP] Derived type member map fortran offload runtime tests
This is a large series of runtime tests that help to add coverage for the specific cases intended to be supported by the PR stack
that extends derived type map support in Flang+OpenMP. Primarily this will add functionality coverage, there's cases where
things may work, but not optimally (or at least similarly to the status quo in Clang), addiitonal IR tests are added in the
relevant segments of the related PRs to test for breakages like that.

Pull Request: https://github.com/llvm/llvm-project/pull/82850
2024-05-10 14:16:25 -05:00

38 lines
926 B
Fortran

! Offloading test checking interaction of an
! enter and exit map of an array of scalars
! REQUIRES: flang, amdgcn-amd-amdhsa
! UNSUPPORTED: nvptx64-nvidia-cuda
! 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-run-and-check-generic
program main
integer :: array(10)
do I = 1, 10
array(I) = I + I
end do
!$omp target enter data map(to: array)
! Shouldn't overwrite data already locked in
! on target via enter, this will then be
! overwritten by our exit
do I = 1, 10
array(I) = 10
end do
!$omp target
do i=1,10
array(i) = array(i) + i
end do
!$omp end target
!$omp target exit data map(from: array)
print*, array
end program
!CHECK: 3 6 9 12 15 18 21 24 27 30