3 extern void abort (void);
16 #pragma omp atomic update
20 #pragma omp atomic update
24 #pragma omp atomic read
28 #pragma omp atomic write
30 #pragma omp atomic capture
37 #pragma omp atomic capture
44 #pragma omp atomic read
48 #pragma omp atomic capture
55 #pragma omp atomic capture
56 { x = x - (6 + 4); v = x; }
59 #pragma omp atomic capture
60 { v = x; x = x - (1 | 2); }
63 #pragma omp atomic read
69 #pragma omp atomic read
74 #pragma omp atomic update
75 p[foo (), 0] = p[foo (), 0] - 16;
76 #pragma omp atomic read
78 if (cnt != 2 || v != 0)
80 #pragma omp atomic capture
85 if (cnt != 4 || v != 6)
87 #pragma omp atomic capture
92 if (cnt != 6 || v != 6)
94 #pragma omp atomic read
98 #pragma omp atomic capture
100 p[foo (), 0] = p[foo (), 0] + 6;
103 if (cnt != 9 || v != 18)
105 #pragma omp atomic capture
108 p[foo (), 0] = p[foo (), 0] + 6;
110 if (cnt != 12 || v != 18)
112 #pragma omp atomic read
116 #pragma omp atomic capture
117 { v = p[foo (), 0]; p[foo (), 0]++; }
118 #pragma omp atomic capture
119 { v = p[foo (), 0]; ++p[foo (), 0]; }
120 #pragma omp atomic capture
121 { p[foo (), 0]++; v = p[foo (), 0]; }
122 #pragma omp atomic capture
123 { ++p[foo (), 0]; v = p[foo (), 0]; }
124 if (cnt != 20 || v != 28)
126 #pragma omp atomic capture
127 { v = p[foo (), 0]; p[foo (), 0]--; }
128 #pragma omp atomic capture
129 { v = p[foo (), 0]; --p[foo (), 0]; }
130 #pragma omp atomic capture
131 { p[foo (), 0]--; v = p[foo (), 0]; }
132 #pragma omp atomic capture
133 { --p[foo (), 0]; v = p[foo (), 0]; }
134 if (cnt != 28 || v != 24)