Skip gnat.dg/prot7.adb on hppa.
[official-gcc.git] / libgomp / testsuite / libgomp.c / pr61200.c
blobc98c10a8253c6ac7cf4a8ccefb8d0543d51faab5
1 /* PR libgomp/61200 */
2 /* { dg-do run } */
3 /* { dg-additional-options "-Wno-deprecated-declarations" } */
5 #include <omp.h>
6 #include <stdlib.h>
7 #include <unistd.h>
9 volatile int x;
11 void
12 foo ()
14 int var = 1;
15 int i;
17 for (i = 0; i < 2; i++)
19 if (i == 1)
21 #pragma omp parallel num_threads(2)
22 if (x)
23 var++;
24 else
26 #pragma omp single
27 sleep (2);
30 else
32 #pragma omp task shared(var)
34 sleep (1);
35 var = 2;
39 #pragma omp taskwait
40 if (var != 2)
41 abort ();
44 void
45 bar ()
47 int var = 1;
48 int i;
50 for (i = 0; i < 2; i++)
52 if (i == 0)
54 #pragma omp task shared(var)
56 sleep (1);
57 var = 2;
60 else
62 #pragma omp parallel num_threads(2)
63 if (x)
64 var++;
65 else
67 #pragma omp single
68 sleep (2);
72 #pragma omp taskwait
73 if (var != 2)
74 abort ();
77 int
78 main ()
80 omp_set_nested (1);
81 #pragma omp parallel num_threads(2)
82 #pragma omp single
83 foo ();
84 #pragma omp parallel num_threads(2)
85 #pragma omp single
86 bar ();
87 return 0;