xref: /llvm-project/offload/test/offloading/fortran/target-map-dynamic.f90 (revision a67b6e163528ea547ccbcd4850803f062df66d2e)
1! Offloading test checking lowering of arrays with dynamic extents.
2! REQUIRES: flang, amdgpu
3
4! RUN: %libomptarget-compile-fortran-run-and-check-generic
5
6subroutine test_array_target_enter_data(dims)
7    integer, intent(in) :: dims(2)
8    double precision :: A(2, dims(2))
9    !$omp target enter data map(to: A)
10
11    A(2,2) = 1.0
12    !$omp target
13         A(1,1) = 10
14         A(2,1) = 20
15         A(1,2) = 30
16         A(2,2) = 40
17    !$omp end target
18
19    !$omp target exit data map(from: A)
20
21    print *, A
22end subroutine test_array_target_enter_data
23
24program main
25    integer :: dimensions(2)
26    dimensions(1) = 1
27    dimensions(2) = 2
28
29call test_array_target_enter_data(dimensions)
30end program
31
32
33! CHECK:  10. 20. 30. 40.
34