extern void abort (void); | |
int buf[256]; | |
void __attribute__((noinline)) | |
foo (void) | |
{ | |
int i; | |
#pragma omp for schedule (auto) | |
for (i = 0; i < 256; i++) | |
buf[i] += i; | |
} | |
int | |
main (void) | |
{ | |
int i; | |
#pragma omp parallel for schedule (auto) | |
for (i = 0; i < 256; i++) | |
buf[i] = i; | |
#pragma omp parallel num_threads (4) | |
foo (); | |
for (i = 0; i < 256; i++) | |
if (buf[i] != 2 * i) | |
abort (); | |
return 0; | |
} |