Load new scanlang.exp
[gcc.git] / libgomp / testsuite / libgomp.c / task-5.c
1 /* { dg-do run } */
2
3 #include <omp.h>
4 #include <stdlib.h>
5
6 int err;
7
8 int
9 main ()
10 {
11 int e;
12 #pragma omp parallel shared(err)
13 {
14 if (omp_in_final ())
15 #pragma omp atomic write
16 err = 1;
17 #pragma omp task if (0) shared(err)
18 {
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;
26 }
27 #pragma omp task final (1) shared(err)
28 {
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;
38 }
39 }
40 #pragma omp atomic read
41 e = err;
42 if (e)
43 abort ();
44 return 0;
45 }