1// PR c++/24512
2// { dg-do compile }
3
4template<typename T> void foo ()
5{
6#pragma omp for
7  for (int i = 0; i < 10; i++);
8
9#pragma omp for
10  for (int i = 0; i < 10; i++);
11
12#pragma omp for
13  for (T j = 0; j < 10; j++);
14
15#pragma omp for
16  for (T j = 0; j < 10; j++);
17
18#pragma omp parallel for
19  for (int k = 0; k < 10; k++);
20
21#pragma omp parallel for
22  for (int k = 0; k < 10; k++);
23
24#pragma omp parallel for
25  for (T l = 0; l < 10; l++);
26
27#pragma omp parallel for
28  for (T l = 0; l < 10; l++);
29}
30
31void bar ()
32{
33  foo<int> ();
34  foo<long> ();
35}
36