| ! { dg-do compile } |
| ! { dg-additional-options "-fdump-tree-gimple" } |
| |
| ! Test 'declare variant' directive with an explicit base procedure name. |
| |
| module main |
| implicit none |
| |
| !$omp declare variant (base: variant) match (construct={target,parallel}) |
| contains |
| subroutine variant () |
| end subroutine |
| |
| subroutine base () |
| end subroutine |
| |
| subroutine variant2 () |
| end subroutine |
| |
| subroutine base2 () |
| !$omp declare variant (base2: variant2) match (construct={parallel}) |
| end subroutine |
| |
| subroutine test1 () |
| !$omp target |
| !$omp parallel |
| call base () ! { dg-final { scan-tree-dump-times "variant \\\(\\\);" 1 "gimple" } } |
| !$omp end parallel |
| !$omp end target |
| end subroutine |
| |
| subroutine test2 () |
| !$omp parallel |
| call base2 () ! { dg-final { scan-tree-dump-times "variant2 \\\(\\\);" 1 "gimple" } } |
| !$omp end parallel |
| end subroutine |
| end module |