xref: /llvm-project/offload/test/offloading/fortran/target-map-nullary-pointer.f90 (revision e0054e984cac39322afa32a6e68fc794f0081f49)
1*e0054e98Sagozillon! Offloading test with a target region mapping a null-ary (no target or
2*e0054e98Sagozillon! allocated data) to device, and then setting the target on device before
3*e0054e98Sagozillon! printing the changed target on host.
4*e0054e98Sagozillon! REQUIRES: flang, amdgpu
5*e0054e98Sagozillon
6*e0054e98Sagozillon! RUN: %libomptarget-compile-fortran-run-and-check-generic
7*e0054e98Sagozillonprogram main
8*e0054e98Sagozillon    implicit none
9*e0054e98Sagozillon    integer,    pointer :: Set
10*e0054e98Sagozillon    integer,    target, allocatable :: Set_Target
11*e0054e98Sagozillon
12*e0054e98Sagozillon    allocate(Set_Target)
13*e0054e98Sagozillon
14*e0054e98Sagozillon    Set_Target = 30
15*e0054e98Sagozillon
16*e0054e98Sagozillon!$omp target map(Set)
17*e0054e98Sagozillon    Set => Set_Target
18*e0054e98Sagozillon    Set = 45
19*e0054e98Sagozillon!$omp end target
20*e0054e98Sagozillon
21*e0054e98Sagozillon    print *, Set_Target
22*e0054e98Sagozillonend program main
23*e0054e98Sagozillon
24*e0054e98Sagozillon! CHECK: 45
25