int fn1 (int); template T fn2 (T); template void f1 () { #pragma omp teams num_teams (4 : 6) ; #pragma omp teams num_teams (7) ; } template void f2 () { #pragma omp target teams num_teams (5 : 19) ; #pragma omp target teams num_teams (21) ; } template void f3 () { #pragma omp teams num_teams (fn1 (1) : fn1 (2)) ; #pragma omp teams num_teams (fn1 (3)) ; } template void f4 () { #pragma omp target teams num_teams (fn1 (4) : fn1 (5)) ; #pragma omp target teams num_teams (fn1 (6)) ; } template void f5 () { #pragma omp target #pragma omp teams num_teams (fn1 (7) : fn1 (8)) ; #pragma omp target #pragma omp teams num_teams (fn1 (9)) ; } template void f1 () { #pragma omp teams num_teams (N4 : N6) ; #pragma omp teams num_teams (N7) ; } template void f2 () { #pragma omp target teams num_teams (N5 : N19) ; #pragma omp target teams num_teams (N21) ; } template void f3 () { #pragma omp teams num_teams (fn2 (N1) : fn2 (N2)) ; #pragma omp teams num_teams (fn2 (N3)) ; } template void f4 () { #pragma omp target teams num_teams (fn2 (N4) : fn2 (N5)) ; #pragma omp target teams num_teams (fn2 (N6)) ; } template void f5 () { #pragma omp target #pragma omp teams num_teams (fn2 (N7) : fn2 (N8)) ; #pragma omp target #pragma omp teams num_teams (fn2 (N9)) ; } void test () { f1<0> (); f2<0> (); f3<0> (); f4<0> (); f5<0> (); f1 (); f2 (); f3 (); f4 (); f5 (); }