xref: /llvm-project/offload/test/offloading/fortran/target-map-enter-exit-scalar.f90 (revision 372344995568cae076477a8b0e98fcdec7c49379)
1*37234499Sagozillon! Offloading test checking interaction of an enter and exit map of an scalar
288234488SEthan Luis McDonough! REQUIRES: flang, amdgpu
3330d8983SJohannes Doerfert
4330d8983SJohannes Doerfert! RUN: %libomptarget-compile-fortran-run-and-check-generic
5330d8983SJohannes Doerfertprogram main
6330d8983SJohannes Doerfert    integer :: scalar
7330d8983SJohannes Doerfert    scalar = 10
8330d8983SJohannes Doerfert
9330d8983SJohannes Doerfert    !$omp target enter data map(to: scalar)
10330d8983SJohannes Doerfert    !ignored, as we've already attached
11330d8983SJohannes Doerfert    scalar = 20
12330d8983SJohannes Doerfert
13330d8983SJohannes Doerfert   !$omp target
14330d8983SJohannes Doerfert      scalar = scalar + 50
15330d8983SJohannes Doerfert   !$omp end target
16330d8983SJohannes Doerfert
17330d8983SJohannes Doerfert  !$omp target exit data map(from: scalar)
18330d8983SJohannes Doerfert
19330d8983SJohannes Doerfert  ! not the answer one may expect, but it is the same
20330d8983SJohannes Doerfert  ! answer Clang gives so we are correctly on par with
21330d8983SJohannes Doerfert  ! Clang for the moment.
22330d8983SJohannes Doerfert  print *, scalar
23330d8983SJohannes Doerfertend program
24330d8983SJohannes Doerfert
25330d8983SJohannes Doerfert!CHECK: 10
26