1! { dg-do compile } 2! { dg-additional-options "-fdump-tree-gimple" } 3 4! Test 'declare variant' directive with an explicit base procedure name. 5 6module main 7 implicit none 8 9 !$omp declare variant (base: variant) match (construct={target,parallel}) 10contains 11 subroutine variant () 12 end subroutine 13 14 subroutine base () 15 end subroutine 16 17 subroutine variant2 () 18 end subroutine 19 20 subroutine base2 () 21 !$omp declare variant (base2: variant2) match (construct={parallel}) 22 end subroutine 23 24 subroutine test1 () 25 !$omp target 26 !$omp parallel 27 call base () ! { dg-final { scan-tree-dump-times "variant \\\(\\\);" 1 "gimple" } } 28 !$omp end parallel 29 !$omp end target 30 end subroutine 31 32 subroutine test2 () 33 !$omp parallel 34 call base2 () ! { dg-final { scan-tree-dump-times "variant2 \\\(\\\);" 1 "gimple" } } 35 !$omp end parallel 36 end subroutine 37end module 38