00001 extern void abort (void);
00002
00003 int buf[256];
00004
00005 void __attribute__((noinline))
00006 foo (void)
00007 {
00008 int i;
00009 #pragma omp for schedule (auto)
00010 for (i = 0; i < 256; i++)
00011 buf[i] += i;
00012 }
00013
00014 int
00015 main (void)
00016 {
00017 int i;
00018 #pragma omp parallel for schedule (auto)
00019 for (i = 0; i < 256; i++)
00020 buf[i] = i;
00021 #pragma omp parallel num_threads (4)
00022 foo ();
00023 for (i = 0; i < 256; i++)
00024 if (buf[i] != 2 * i)
00025 abort ();
00026 return 0;
00027 }