1// { dg-do compile }
2
3void foo(int);
4
5template<typename T> void bar()
6{
7  #pragma omp parallel for
8  for (typename T::T i = 0; i < T::N; ++i)
9    foo(i);
10}
11
12struct A
13{
14  typedef int T;
15  static T N;
16};
17
18struct B
19{
20  typedef long T;
21  static T N;
22};
23
24void test()
25{
26  bar<A>();
27  bar<B>();
28}
29