xref: /llvm-project/flang/test/Semantics/OpenMP/use_device_ptr.f90 (revision 5287bb97f90e0d54e7fca280ead36ec6432f87b4)
1! RUN: %flang_fc1 -fopenmp -fdebug-dump-symbols %s | FileCheck %s
2! OpenMP Version 5.0
3! 2.10.1 use_device_ptr clause
4! List items that appear in a use_device_ptr clause are converted into device
5! pointers to the corresponding list item in the device data environment.
6
7subroutine omp_target_data
8   use iso_c_binding
9   integer :: a(1024)
10   !CHECK: b size=8 offset=4096: ObjectEntity type: TYPE(c_ptr)
11   type(C_PTR) :: b
12   integer, pointer :: arrayB
13   a = 1
14   !$omp target data map(tofrom: a, arrayB) use_device_ptr(b)
15   !CHECK: b (OmpUseDevicePtr): HostAssoc
16      allocate(arrayB)
17      call c_f_pointer(b, arrayB)
18      a = arrayB
19   !$omp end target data
20end subroutine omp_target_data
21
22