Daily bump.
[official-gcc.git] / libgomp / testsuite / libgomp.c / task-5.c
blobb15237127608545c8ada030354ad055810bf1f58
1 /* { dg-do run } */
3 #include <omp.h>
4 #include <stdlib.h>
6 int err;
8 int
9 main ()
11 int e;
12 #pragma omp parallel shared(err)
14 if (omp_in_final ())
15 #pragma omp atomic write
16 err = 1;
17 #pragma omp task if (0) shared(err)
19 if (omp_in_final ())
20 #pragma omp atomic write
21 err = 1;
22 #pragma omp task if (0) shared(err)
23 if (omp_in_final ())
24 #pragma omp atomic write
25 err = 1;
27 #pragma omp task final (1) shared(err)
29 if (!omp_in_final ())
30 #pragma omp atomic write
31 err = 1;
32 #pragma omp taskyield
33 #pragma omp taskwait
34 #pragma omp task shared(err)
35 if (!omp_in_final ())
36 #pragma omp atomic write
37 err = 1;
40 #pragma omp atomic read
41 e = err;
42 if (e)
43 abort ();
44 return 0;