// { dg-do run }

extern void abort(void);
#define N 1000

int foo()
{
  int i = 0, j;

  #pragma omp parallel for num_threads(2) shared (i)
  for (j = 0; j < N; ++j)
    {
      #pragma omp parallel num_threads(1) shared (i)
      {
	#pragma omp atomic
	i++;
      }
    }

  return i;
}

int main()
{
  if (foo() != N)
    abort ();
  return 0;
}
