(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
gomp/
tpl-for-3.C
// { dg-do compile }

void foo(int);

template<typename T> void bar()
{
  #pragma omp parallel for
  for (typename T::T i = 0; i < T::N; ++i)
    foo(i);
}

struct A
{
  typedef int T;
  static T N;
};

struct B
{
  typedef long T;
  static T N;
};

void test()
{
  bar<A>();
  bar<B>();
}