blob: ddb7008cb1ad3f07a4b0ca2024209adc232d093e [file] [log] [blame]
!
! Ensure that a mapping with no argument works
!
! { dg-additional-options -foffload-options=nvptx-none=-misa=sm_35 { target offload_target_nvptx } }
module m
implicit none (type, external)
integer :: x = 32
integer :: dev_num2 = -1
contains
subroutine foo()
use omp_lib, only: omp_get_device_num
x = x + 10
dev_num2 = omp_get_device_num()
end
end module m
use m
use omp_lib
!$omp requires reverse_offload
implicit none (type, external)
integer :: dev_num = -1
!$omp target map(from:dev_num)
dev_num = omp_get_device_num()
! This calls GOMP_target_ext with number of maps = 0
!$omp target device(ancestor:1)
call foo
!$omp end target
!$omp end target
if (omp_get_num_devices() > 0 .and. dev_num2 == dev_num) stop 1
if (x /= 42) stop 2
end