24 lines
716 B
Fortran
24 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
|