23 lines
716 B
Fortran
23 lines
716 B
Fortran
! { dg-do run }
|
|
! { dg-xfail-run-if TODO { offload_device_any_intel_mic } }
|
|
|
|
program main
|
|
use omp_lib
|
|
implicit none
|
|
integer :: device_num, host_device_num, i
|
|
logical :: initial_device
|
|
|
|
host_device_num = omp_get_device_num ()
|
|
if (host_device_num .ne. omp_get_initial_device ()) stop 1
|
|
|
|
do i = 0, omp_get_num_devices ()
|
|
!$omp target map(from: device_num, initial_device) device(i)
|
|
initial_device = omp_is_initial_device ()
|
|
device_num = omp_get_device_num ()
|
|
!$omp end target
|
|
if (i /= device_num) stop 2
|
|
if (initial_device .and. (host_device_num .ne. device_num)) stop 3
|
|
if ((.not. initial_device) .and. (host_device_num .eq. device_num)) stop 4
|
|
end do
|
|
|
|
end program main
|