blob: 5b36ffb91ed441a2342b63e919ea34e1d97904f4 [file] [log] [blame]
int fn1 (int);
template <typename T>
T fn2 (T);
template <int N>
void
f1 ()
{
#pragma omp teams num_teams (4 : 6)
;
#pragma omp teams num_teams (7)
;
}
template <int N>
void
f2 ()
{
#pragma omp target teams num_teams (5 : 19)
;
#pragma omp target teams num_teams (21)
;
}
template <int N>
void
f3 ()
{
#pragma omp teams num_teams (fn1 (1) : fn1 (2))
;
#pragma omp teams num_teams (fn1 (3))
;
}
template <int N>
void
f4 ()
{
#pragma omp target teams num_teams (fn1 (4) : fn1 (5))
;
#pragma omp target teams num_teams (fn1 (6))
;
}
template <int N>
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 <typename T, T N4, T N6, T N7>
void
f1 ()
{
#pragma omp teams num_teams (N4 : N6)
;
#pragma omp teams num_teams (N7)
;
}
template <typename T, T N5, T N19, T N21>
void
f2 ()
{
#pragma omp target teams num_teams (N5 : N19)
;
#pragma omp target teams num_teams (N21)
;
}
template <typename T, T N1, T N2, T N3>
void
f3 ()
{
#pragma omp teams num_teams (fn2 (N1) : fn2 (N2))
;
#pragma omp teams num_teams (fn2 (N3))
;
}
template <typename T, T N4, T N5, T N6>
void
f4 ()
{
#pragma omp target teams num_teams (fn2 (N4) : fn2 (N5))
;
#pragma omp target teams num_teams (fn2 (N6))
;
}
template <typename T, T N7, T N8, T N9>
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<int, 4, 6, 7> ();
f2<int, 5, 19, 21> ();
f3<int, 1, 2, 3> ();
f4<int, 4, 5, 6> ();
f5<int, 7, 8, 9> ();
}