xref: /llvm-project/offload/test/offloading/fortran/target-map-enter-exit-array-2.f90 (revision 372344995568cae076477a8b0e98fcdec7c49379)
1! Offloading test checking interaction of an enter and exit map of an array of
2! scalars
3! REQUIRES: flang, amdgpu
4
5! RUN: %libomptarget-compile-fortran-run-and-check-generic
6program main
7    integer :: array(10)
8
9    do I = 1, 10
10      array(I) = I + I
11    end do
12
13    !$omp target enter data map(to: array)
14    ! Shouldn't overwrite data already locked in
15    ! on target via enter, this will then be
16    ! overwritten by our exit
17    do I = 1, 10
18      array(I) = 10
19    end do
20
21   !$omp target
22    do i=1,10
23      array(i) = array(i) + i
24    end do
25  !$omp end target
26
27  !$omp target exit data map(from: array)
28  print*, array
29end program
30
31!CHECK: 3 6 9 12 15 18 21 24 27 30
32