Rebase.
[official-gcc.git] / libgomp / testsuite / libgomp.c / pr39591-3.c
bloba9aeea7c83ad488f46451dd0e9fbcee66336dbf1
1 /* PR other/39591 */
2 /* { dg-do run } */
3 /* { dg-options "-O2" } */
5 extern void abort (void);
7 int err, a[40];
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 int k;
26 for (k = 0; k < sizeof a / sizeof a[0]; k++)
27 a[k] = 0x55555555;
29 #pragma omp parallel
31 int i;
33 #pragma omp for schedule (dynamic)
34 for (i = 0; i < 50; i++)
35 foo (a);
37 if (err)
38 abort ();
39 return 0;