(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
debug/
pr92763.C
// { dg-do compile }
// { dg-require-effective-target fopenmp }
// { dg-additional-options "-fno-var-tracking-assignments -fopenmp" }

struct A
{
  typedef int T;
  #pragma omp declare reduction (y : T : [&omp_out, &omp_in]() { omp_out += omp_in; return 0; }()) initializer (omp_priv = [omp_orig]() { return omp_orig; }())
  static void foo ();
};

void
A::foo ()
{
  int r = 0, s = 0;
  #pragma omp parallel for reduction (y : r, s)
  for (int i = 0; i < 1; i++)
    {
    }
}