Mercurial > hg > CbC > CbC_gcc
annotate libgomp/testsuite/libgomp.c++/task-1.C @ 63:b7f97abdc517 gcc-4.6-20100522
update gcc from gcc-4.5.0 to gcc-4.6
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 24 May 2010 12:47:05 +0900 |
parents | a06113de4d67 |
children |
rev | line source |
---|---|
0 | 1 extern "C" void abort (); |
2 | |
3 int a = 18; | |
4 | |
5 void | |
6 f1 (int i, int j, int k) | |
7 { | |
8 int l = 6, m = 7, n = 8; | |
9 #pragma omp task private(j, m) shared(k, n) | |
10 { | |
11 j = 6; | |
12 m = 5; | |
13 if (++a != 19 || ++i != 9 || j != 6 || ++l != 7 || m != 5 || ++n != 9) | |
14 #pragma omp atomic | |
15 k++; | |
16 } | |
17 #pragma omp taskwait | |
18 if (a != 19 || i != 8 || j != 26 || k != 0 || l != 6 || m != 7 || n != 9) | |
19 abort (); | |
20 } | |
21 | |
22 int v1 = 1, v2 = 2, v5 = 5; | |
63
b7f97abdc517
update gcc from gcc-4.5.0 to gcc-4.6
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
23 int e; |
0 | 24 |
25 void | |
26 f2 (void) | |
27 { | |
28 int v3 = 3; | |
29 #pragma omp sections private (v1) firstprivate (v2) | |
30 { | |
31 #pragma omp section | |
32 { | |
33 int v4 = 4; | |
34 v1 = 7; | |
35 #pragma omp task | |
36 { | |
37 if (++v1 != 8 || ++v2 != 3 || ++v3 != 4 || ++v4 != 5 || ++v5 != 6) | |
63
b7f97abdc517
update gcc from gcc-4.5.0 to gcc-4.6
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
38 e = 1; |
0 | 39 } |
40 #pragma omp taskwait | |
41 if (v1 != 7 || v2 != 2 || v3 != 3 || v4 != 4 || v5 != 6) | |
42 abort (); | |
63
b7f97abdc517
update gcc from gcc-4.5.0 to gcc-4.6
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
0
diff
changeset
|
43 if (e) |
0 | 44 abort (); |
45 } | |
46 } | |
47 } | |
48 | |
49 void | |
50 f3 (int i, int j, int k) | |
51 { | |
52 int l = 6, m = 7, n = 8; | |
53 #pragma omp task private(j, m) shared(k, n) untied | |
54 { | |
55 j = 6; | |
56 m = 5; | |
57 if (++a != 19 || ++i != 9 || j != 6 || ++l != 7 || m != 5 || ++n != 9) | |
58 #pragma omp atomic | |
59 k++; | |
60 } | |
61 #pragma omp taskwait | |
62 if (a != 19 || i != 8 || j != 26 || k != 0 || l != 6 || m != 7 || n != 9) | |
63 abort (); | |
64 } | |
65 | |
66 int | |
67 main () | |
68 { | |
69 f1 (8, 26, 0); | |
70 f2 (); | |
71 a = 18; | |
72 f3 (8, 26, 0); | |
73 a = 18; | |
74 #pragma omp parallel num_threads(4) | |
75 { | |
76 #pragma omp master | |
77 { | |
78 f1 (8, 26, 0); | |
79 a = 18; | |
80 f3 (8, 26, 0); | |
81 } | |
82 } | |
83 } |