blob: e6f69dccb4940b68ea574bc1f22bfe74e68111bb [file] [log] [blame]
! { dg-do run }
program main
implicit none
integer :: v
!$omp target map(from:v)
v = on ()
!$omp end target
select case (v)
case default
write (*,*) "Host fallback or unknown offloading"
case (1)
write (*,*) "Offloading to NVidia PTX"
case (2)
write (*,*) "Offloading to AMD GCN"
end select
contains
integer function on_nvptx ()
on_nvptx = 1
end function
integer function on_gcn ()
on_gcn = 2
end function
integer function on ()
!$omp declare variant (on_nvptx) match(construct={target},device={arch(nvptx)})
!$omp declare variant (on_gcn) match(construct={target},device={arch(gcn)})
on = 0
end function
end program