blob: 9d65a3f4b62c12e1da7c96bf9287032c71f8b707 [file] [log] [blame]
! { dg-do compile { target skip-all-targets } }
! used by declare-variant-mod-2.f90
! Check that module-file handling works for declare_variant
! and its match/adjust_args/append_args clauses
!
! PR fortran/115271
! THIS FILE PROCUEDES ERROR - SEE declare-variant-mod-2.f90 for dg-error lines
module m_test1
use m1, only: my_m1_f => m1_f, my_m1_g => m1_g
!$omp declare variant(my_m1_g : my_m1_f) match(construct={dispatch}) adjust_args(need_device_ptr: 1, 3) adjust_args(nothing: 1)
end
subroutine test1 ! See PR fortran/119288 - related to the following 'adjust_args' diagnostic
use m_test1 ! { dg-error "'x' at .1. is specified more than once" }
use iso_c_binding, only: c_ptr
implicit none (type, external)
type(c_ptr) :: a1,b1,c1
integer :: i
!$omp dispatch
i = my_m1_g(a1,b1,c1)
end
subroutine test2
use m2
implicit none (type, external)
integer :: i, t2_a1, t2_a2, t2_a3, t2_a4
call m2_g(t2_a1)
!$omp dispatch
call m2_g(t2_a2)
!$omp parallel if(.false.)
!$omp dispatch
call m2_g(t2_a3)
!$omp end parallel
!$omp do
do i = 1, 1
!$omp dispatch
call m2_g(t2_a4)
end do
end