145
|
1 #ifdef __cplusplus
|
|
2 extern "C"
|
|
3 #endif
|
|
4 void abort (void);
|
|
5
|
|
6 int
|
|
7 main ()
|
|
8 {
|
|
9 int a, b, c, d;
|
|
10 #pragma omp parallel num_threads (4)
|
|
11 #pragma omp single
|
|
12 {
|
|
13 #pragma omp task depend(out : a)
|
|
14 a = 6;
|
|
15 #pragma omp task depend(out : b)
|
|
16 b = 7;
|
|
17 #pragma omp task depend(out : c)
|
|
18 c = 8;
|
|
19 #pragma omp taskwait depend(in : a, c)
|
|
20 d = a + c;
|
|
21 #pragma omp task depend(out : a)
|
|
22 a = 9;
|
|
23 #pragma omp task depend(out : c)
|
|
24 c = 10;
|
|
25 }
|
|
26 if (a != 9 || b != 7 || c != 10 || d != 6 + 8)
|
|
27 abort ();
|
|
28 return 0;
|
|
29 }
|