Fix change log
[official-gcc.git] / libgomp / testsuite / libgomp.c / pr39591-2.c
blobb5f8f9cc7b22c5a380a31d079e8ea61778f0eae7
1 /* PR other/39591 */
2 /* { dg-do run } */
3 /* { dg-options "-O2" } */
5 extern void abort (void);
7 int err;
9 void __attribute__((noinline))
10 foo (int *array)
12 #pragma omp task
14 int j;
15 for (j = 0; j < sizeof array / sizeof array[0]; j++)
16 if (array[j] != 0x55555555)
17 #pragma omp atomic
18 err++;
22 int
23 main (void)
25 #pragma omp parallel
27 int array[40];
28 int i;
29 for (i = 0; i < sizeof array / sizeof array[0]; i++)
30 array[i] = 0x55555555;
32 #pragma omp for schedule (dynamic)
33 for (i = 0; i < 50; i++)
34 foo (array);
36 if (err)
37 abort ();
38 return 0;