(root)/
gcc-13.2.0/
gcc/
testsuite/
gfortran.dg/
gomp/
target-device-ancestor-3.f90
! { dg-do compile }

! This testcase ensure that no calls to OpenMP API runtime routines are allowed
! inside the corresponding target region.

module my_omp_mod
 use iso_c_binding
 interface
   integer function omp_get_thread_num ()
   end
 end interface
end

subroutine f1 ()
  use my_omp_mod
  implicit none
  integer :: n

  !$omp requires reverse_offload

  !$omp target device (ancestor : 1)
    n = omp_get_thread_num ()  ! { dg-error "OpenMP runtime API call 'omp_get_thread_num' in a region with 'device\\(ancestor\\)' clause" }
  !$omp end target

  !$omp target device (device_num : 1)
    n = omp_get_thread_num ()
  !$omp end target

  !$omp target device (1)
    n = omp_get_thread_num ()
  !$omp end target

end