Mercurial > hg > CbC > CbC_gcc
comparison libgomp/testsuite/libgomp.c/reduction-5.c @ 0:a06113de4d67
first commit
author | kent <kent@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 17 Jul 2009 14:47:48 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:a06113de4d67 |
---|---|
1 /* PR middle-end/36506 */ | |
2 | |
3 extern void abort (void); | |
4 | |
5 int | |
6 main (void) | |
7 { | |
8 int sum = 0, prod = 1; | |
9 #pragma omp parallel | |
10 #pragma omp sections reduction (+:sum) | |
11 { | |
12 #pragma omp section | |
13 sum += 2; | |
14 #pragma omp section | |
15 sum += 2; | |
16 #pragma omp section | |
17 sum += 2; | |
18 } | |
19 if (sum != 6) | |
20 abort (); | |
21 sum = 0; | |
22 #pragma omp parallel sections reduction (+:sum) | |
23 { | |
24 #pragma omp section | |
25 sum += 2; | |
26 #pragma omp section | |
27 sum += 2; | |
28 #pragma omp section | |
29 sum += 2; | |
30 } | |
31 if (sum != 6) | |
32 abort (); | |
33 sum = 0; | |
34 #pragma omp parallel | |
35 #pragma omp sections reduction (+:sum) reduction (*:prod) | |
36 { | |
37 #pragma omp section | |
38 { | |
39 sum += 2; | |
40 prod *= 2; | |
41 } | |
42 #pragma omp section | |
43 { | |
44 sum += 2; | |
45 prod *= 2; | |
46 } | |
47 #pragma omp section | |
48 { | |
49 sum += 2; | |
50 prod *= 2; | |
51 } | |
52 } | |
53 if (sum != 6 || prod != 8) | |
54 abort (); | |
55 sum = 0; | |
56 prod = 1; | |
57 #pragma omp parallel sections reduction (+:sum) reduction (*:prod) | |
58 { | |
59 #pragma omp section | |
60 { | |
61 sum += 2; | |
62 prod *= 2; | |
63 } | |
64 #pragma omp section | |
65 { | |
66 sum += 2; | |
67 prod *= 2; | |
68 } | |
69 #pragma omp section | |
70 { | |
71 sum += 2; | |
72 prod *= 2; | |
73 } | |
74 } | |
75 if (sum != 6 || prod != 8) | |
76 abort (); | |
77 return 0; | |
78 } |