| ! { dg-additional-options "-fdump-tree-original" } |
| |
| ! { dg-final { scan-tree-dump-times "#pragma omp teams thread_limit\\(9\\)" 1 "original" } } |
| ! { dg-final { scan-tree-dump-times "#pragma omp target thread_limit\\(9\\)" 1 "original" } } |
| |
| ! { dg-final { scan-tree-dump-times "#pragma omp target nowait thread_limit\\(4\\)" 1 "original" } } |
| ! { dg-final { scan-tree-dump-times "#pragma omp parallel num_threads\\(1\\)" 1 "original" } } |
| |
| ! { dg-final { scan-tree-dump-times "#pragma omp target thread_limit\\(6\\)" 1 "original" } } |
| |
| |
| module m |
| use omp_lib |
| implicit none |
| contains |
| |
| subroutine uncalled() |
| !$omp target teams thread_limit (9) |
| !$omp end target teams |
| end |
| |
| subroutine foo () |
| block |
| !$omp target parallel nowait thread_limit (4) num_threads (1) |
| if (omp_get_thread_limit () > 4) & |
| stop 1 |
| !$omp end target parallel |
| end block |
| !$omp taskwait |
| end |
| end module |
| |
| program main |
| use m |
| implicit none |
| !$omp target thread_limit (6) |
| if (omp_get_thread_limit () > 6) & |
| stop 2 |
| !$omp end target |
| call foo () |
| end |