1 ! Offloading test checking interaction of pointer
2 ! and target with target across multiple scopes
3 ! REQUIRES: flang, amdgpu
5 ! RUN: %libomptarget-compile-fortran-run-and-check-generic
8 subroutine func_arg(arg_alloc
)
9 integer, pointer, intent (inout
) :: arg_alloc(:)
11 !$omp target map(tofrom: arg_alloc)
13 arg_alloc(index
) = arg_alloc(index
) + index
18 end subroutine func_arg
22 integer, pointer :: local_alloc(:)
23 integer, target
:: b(10)
26 !$omp target map(tofrom: local_alloc)
28 local_alloc(index
) = index
38 integer, pointer :: map_ptr(:)
39 integer, target
:: b(10)
43 !$omp target map(tofrom: map_ptr)
45 map_ptr(index
) = index
53 call func_arg(map_ptr
)
56 !CHECK: 1 2 3 4 5 6 7 8 9 10
57 !CHECK: 1 2 3 4 5 6 7 8 9 10
58 !CHECK: 2 4 6 8 10 12 14 16 18 20