177957Sbennoextern void abort (void);
277957Sbenno
377957Sbennoint buf[256];
4139825Simp
577957Sbennovoid __attribute__((noinline))
677957Sbennofoo (void)
777957Sbenno{
877957Sbenno  int i;
977957Sbenno  #pragma omp for schedule (auto)
1077957Sbenno    for (i = 0; i < 256; i++)
1177957Sbenno      buf[i] += i;
1277957Sbenno}
1377957Sbenno
1477957Sbennoint
1577957Sbennomain (void)
1677957Sbenno{
1777957Sbenno  int i;
1877957Sbenno  #pragma omp parallel for schedule (auto)
1977957Sbenno    for (i = 0; i < 256; i++)
2077957Sbenno      buf[i] = i;
2177957Sbenno  #pragma omp parallel num_threads (4)
2277957Sbenno    foo ();
2377957Sbenno  for (i = 0; i < 256; i++)
2477957Sbenno    if (buf[i] != 2 * i)
2577957Sbenno      abort ();
2677957Sbenno  return 0;
2777957Sbenno}
28139825Simp