annotate gcc/testsuite/c-c++-common/gomp/Wparentheses-1.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* PR c/70436 */
kono
parents:
diff changeset
2 /* { dg-additional-options "-Wparentheses" } */
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 int a, b, c;
kono
parents:
diff changeset
5 void bar (void);
kono
parents:
diff changeset
6 void baz (void);
kono
parents:
diff changeset
7
kono
parents:
diff changeset
8 void
kono
parents:
diff changeset
9 f1 (void)
kono
parents:
diff changeset
10 {
kono
parents:
diff changeset
11 int i, j;
kono
parents:
diff changeset
12
kono
parents:
diff changeset
13 if (a) /* { dg-warning "ambiguous" } */
kono
parents:
diff changeset
14 #pragma omp for
kono
parents:
diff changeset
15 for (i = 0; i < 10; i++)
kono
parents:
diff changeset
16 if (b)
kono
parents:
diff changeset
17 bar ();
kono
parents:
diff changeset
18 else
kono
parents:
diff changeset
19 baz ();
kono
parents:
diff changeset
20
kono
parents:
diff changeset
21 if (a) /* { dg-warning "ambiguous" } */
kono
parents:
diff changeset
22 while (1)
kono
parents:
diff changeset
23 #pragma omp for
kono
parents:
diff changeset
24 for (i = 0; i < 10; i++)
kono
parents:
diff changeset
25 if (b)
kono
parents:
diff changeset
26 bar ();
kono
parents:
diff changeset
27 else
kono
parents:
diff changeset
28 baz ();
kono
parents:
diff changeset
29
kono
parents:
diff changeset
30 if (a) /* { dg-warning "ambiguous" } */
kono
parents:
diff changeset
31 for (i = 0; i < 10; i++)
kono
parents:
diff changeset
32 #pragma omp for
kono
parents:
diff changeset
33 for (j = 0; j < 10; j++)
kono
parents:
diff changeset
34 if (b)
kono
parents:
diff changeset
35 bar ();
kono
parents:
diff changeset
36 else
kono
parents:
diff changeset
37 baz ();
kono
parents:
diff changeset
38
kono
parents:
diff changeset
39 if (a)
kono
parents:
diff changeset
40 #pragma omp for
kono
parents:
diff changeset
41 for (i = 0; i < 10; i++)
kono
parents:
diff changeset
42 if (b) /* { dg-warning "ambiguous" } */
kono
parents:
diff changeset
43 #pragma omp parallel for
kono
parents:
diff changeset
44 for (j = 0; j < 10; j++)
kono
parents:
diff changeset
45 if (c)
kono
parents:
diff changeset
46 bar ();
kono
parents:
diff changeset
47 else
kono
parents:
diff changeset
48 baz ();
kono
parents:
diff changeset
49
kono
parents:
diff changeset
50 if (a) /* { dg-warning "ambiguous" } */
kono
parents:
diff changeset
51 #pragma omp taskloop
kono
parents:
diff changeset
52 for (i = 0; i < 10; i++)
kono
parents:
diff changeset
53 if (b)
kono
parents:
diff changeset
54 #pragma omp parallel for
kono
parents:
diff changeset
55 for (j = 0; j < 10; j++)
kono
parents:
diff changeset
56 if (c)
kono
parents:
diff changeset
57 bar ();
kono
parents:
diff changeset
58 else
kono
parents:
diff changeset
59 baz ();
kono
parents:
diff changeset
60 else
kono
parents:
diff changeset
61 bar ();
kono
parents:
diff changeset
62
kono
parents:
diff changeset
63 if (a) /* { dg-warning "ambiguous" } */
kono
parents:
diff changeset
64 #pragma omp taskloop simd
kono
parents:
diff changeset
65 for (i = 0; i < 10; i++)
kono
parents:
diff changeset
66 if (b)
kono
parents:
diff changeset
67 bar ();
kono
parents:
diff changeset
68 else
kono
parents:
diff changeset
69 baz ();
kono
parents:
diff changeset
70
kono
parents:
diff changeset
71 if (a) /* { dg-warning "ambiguous" } */
kono
parents:
diff changeset
72 #pragma omp for collapse(2)
kono
parents:
diff changeset
73 for (i = 0; i < 10; i++)
kono
parents:
diff changeset
74 for (j = 0; j < 10; j++)
kono
parents:
diff changeset
75 if (b)
kono
parents:
diff changeset
76 bar ();
kono
parents:
diff changeset
77 else
kono
parents:
diff changeset
78 baz ();
kono
parents:
diff changeset
79
kono
parents:
diff changeset
80 if (a) /* { dg-warning "ambiguous" } */
kono
parents:
diff changeset
81 #pragma omp critical
kono
parents:
diff changeset
82 if (b)
kono
parents:
diff changeset
83 bar ();
kono
parents:
diff changeset
84 else
kono
parents:
diff changeset
85 baz ();
kono
parents:
diff changeset
86
kono
parents:
diff changeset
87 if (a) /* { dg-warning "ambiguous" } */
kono
parents:
diff changeset
88 for (i = 0; i < 10; i++)
kono
parents:
diff changeset
89 #pragma omp simd
kono
parents:
diff changeset
90 for (j = 0; j < 10; j++)
kono
parents:
diff changeset
91 if (b)
kono
parents:
diff changeset
92 bar ();
kono
parents:
diff changeset
93 else
kono
parents:
diff changeset
94 baz ();
kono
parents:
diff changeset
95
kono
parents:
diff changeset
96 if (a) /* { dg-warning "ambiguous" } */
kono
parents:
diff changeset
97 #pragma omp for simd schedule(runtime)
kono
parents:
diff changeset
98 for (i = 0; i < 10; i++)
kono
parents:
diff changeset
99 if (b)
kono
parents:
diff changeset
100 bar ();
kono
parents:
diff changeset
101 else
kono
parents:
diff changeset
102 baz ();
kono
parents:
diff changeset
103
kono
parents:
diff changeset
104 if (a) /* { dg-warning "ambiguous" } */
kono
parents:
diff changeset
105 #pragma omp master
kono
parents:
diff changeset
106 if (b)
kono
parents:
diff changeset
107 bar ();
kono
parents:
diff changeset
108 else
kono
parents:
diff changeset
109 baz ();
kono
parents:
diff changeset
110
kono
parents:
diff changeset
111 if (a) /* { dg-warning "ambiguous" } */
kono
parents:
diff changeset
112 #pragma omp parallel
kono
parents:
diff changeset
113 if (b)
kono
parents:
diff changeset
114 bar ();
kono
parents:
diff changeset
115 else
kono
parents:
diff changeset
116 baz ();
kono
parents:
diff changeset
117
kono
parents:
diff changeset
118 if (a) /* { dg-warning "ambiguous" } */
kono
parents:
diff changeset
119 for (i = 0; i < 10; i++)
kono
parents:
diff changeset
120 #pragma omp parallel for
kono
parents:
diff changeset
121 for (j = 0; j < 10; j++)
kono
parents:
diff changeset
122 if (b)
kono
parents:
diff changeset
123 bar ();
kono
parents:
diff changeset
124 else
kono
parents:
diff changeset
125 baz ();
kono
parents:
diff changeset
126
kono
parents:
diff changeset
127 if (a) /* { dg-warning "ambiguous" } */
kono
parents:
diff changeset
128 for (i = 0; i < 10; i++)
kono
parents:
diff changeset
129 #pragma omp parallel for simd
kono
parents:
diff changeset
130 for (j = 0; j < 10; j++)
kono
parents:
diff changeset
131 if (b)
kono
parents:
diff changeset
132 bar ();
kono
parents:
diff changeset
133 else
kono
parents:
diff changeset
134 baz ();
kono
parents:
diff changeset
135
kono
parents:
diff changeset
136 if (a) /* { dg-warning "ambiguous" } */
kono
parents:
diff changeset
137 #pragma omp single
kono
parents:
diff changeset
138 if (b)
kono
parents:
diff changeset
139 bar ();
kono
parents:
diff changeset
140 else
kono
parents:
diff changeset
141 baz ();
kono
parents:
diff changeset
142
kono
parents:
diff changeset
143 if (a) /* { dg-warning "ambiguous" } */
kono
parents:
diff changeset
144 #pragma omp task
kono
parents:
diff changeset
145 if (b)
kono
parents:
diff changeset
146 bar ();
kono
parents:
diff changeset
147 else
kono
parents:
diff changeset
148 baz ();
kono
parents:
diff changeset
149
kono
parents:
diff changeset
150 if (a) /* { dg-warning "ambiguous" } */
kono
parents:
diff changeset
151 #pragma omp taskgroup
kono
parents:
diff changeset
152 if (b)
kono
parents:
diff changeset
153 bar ();
kono
parents:
diff changeset
154 else
kono
parents:
diff changeset
155 baz ();
kono
parents:
diff changeset
156
kono
parents:
diff changeset
157 if (a)
kono
parents:
diff changeset
158 #pragma omp for
kono
parents:
diff changeset
159 for (i = 0; i < 10; i++)
kono
parents:
diff changeset
160 {
kono
parents:
diff changeset
161 if (b)
kono
parents:
diff changeset
162 bar ();
kono
parents:
diff changeset
163 else
kono
parents:
diff changeset
164 baz ();
kono
parents:
diff changeset
165 }
kono
parents:
diff changeset
166
kono
parents:
diff changeset
167 if (a)
kono
parents:
diff changeset
168 {
kono
parents:
diff changeset
169 #pragma omp taskloop
kono
parents:
diff changeset
170 for (i = 0; i < 10; ++i)
kono
parents:
diff changeset
171 if (b)
kono
parents:
diff changeset
172 bar ();
kono
parents:
diff changeset
173 }
kono
parents:
diff changeset
174 else baz ();
kono
parents:
diff changeset
175
kono
parents:
diff changeset
176 if (a)
kono
parents:
diff changeset
177 #pragma omp for collapse(2)
kono
parents:
diff changeset
178 for (i = 0; i < 10; i++)
kono
parents:
diff changeset
179 {
kono
parents:
diff changeset
180 for (j = 0; j < 10; j++)
kono
parents:
diff changeset
181 if (b)
kono
parents:
diff changeset
182 bar ();
kono
parents:
diff changeset
183 else
kono
parents:
diff changeset
184 baz ();
kono
parents:
diff changeset
185 }
kono
parents:
diff changeset
186
kono
parents:
diff changeset
187 if (a)
kono
parents:
diff changeset
188 #pragma omp critical
kono
parents:
diff changeset
189 {
kono
parents:
diff changeset
190 if (b)
kono
parents:
diff changeset
191 bar ();
kono
parents:
diff changeset
192 else
kono
parents:
diff changeset
193 baz ();
kono
parents:
diff changeset
194 }
kono
parents:
diff changeset
195
kono
parents:
diff changeset
196 if (a)
kono
parents:
diff changeset
197 for (i = 0; i < 10; i++)
kono
parents:
diff changeset
198 #pragma omp simd
kono
parents:
diff changeset
199 for (j = 0; j < 10; j++)
kono
parents:
diff changeset
200 {
kono
parents:
diff changeset
201 if (b)
kono
parents:
diff changeset
202 bar ();
kono
parents:
diff changeset
203 }
kono
parents:
diff changeset
204 else
kono
parents:
diff changeset
205 baz ();
kono
parents:
diff changeset
206
kono
parents:
diff changeset
207 if (a)
kono
parents:
diff changeset
208 #pragma omp for simd schedule(dynamic, 5)
kono
parents:
diff changeset
209 for (i = 0; i < 10; i++)
kono
parents:
diff changeset
210 {
kono
parents:
diff changeset
211 if (b)
kono
parents:
diff changeset
212 bar ();
kono
parents:
diff changeset
213 else
kono
parents:
diff changeset
214 baz ();
kono
parents:
diff changeset
215 }
kono
parents:
diff changeset
216
kono
parents:
diff changeset
217 if (a)
kono
parents:
diff changeset
218 #pragma omp master
kono
parents:
diff changeset
219 {
kono
parents:
diff changeset
220 if (b)
kono
parents:
diff changeset
221 bar ();
kono
parents:
diff changeset
222 else
kono
parents:
diff changeset
223 baz ();
kono
parents:
diff changeset
224 }
kono
parents:
diff changeset
225
kono
parents:
diff changeset
226 if (a)
kono
parents:
diff changeset
227 #pragma omp parallel
kono
parents:
diff changeset
228 {
kono
parents:
diff changeset
229 if (b)
kono
parents:
diff changeset
230 bar ();
kono
parents:
diff changeset
231 else
kono
parents:
diff changeset
232 baz ();
kono
parents:
diff changeset
233 }
kono
parents:
diff changeset
234
kono
parents:
diff changeset
235 if (a)
kono
parents:
diff changeset
236 {
kono
parents:
diff changeset
237 #pragma omp parallel
kono
parents:
diff changeset
238 if (b)
kono
parents:
diff changeset
239 bar ();
kono
parents:
diff changeset
240 else
kono
parents:
diff changeset
241 baz ();
kono
parents:
diff changeset
242 }
kono
parents:
diff changeset
243
kono
parents:
diff changeset
244 if (a)
kono
parents:
diff changeset
245 for (i = 0; i < 10; i++)
kono
parents:
diff changeset
246 #pragma omp parallel for
kono
parents:
diff changeset
247 for (j = 0; j < 10; j++)
kono
parents:
diff changeset
248 {
kono
parents:
diff changeset
249 if (b)
kono
parents:
diff changeset
250 bar ();
kono
parents:
diff changeset
251 }
kono
parents:
diff changeset
252 else
kono
parents:
diff changeset
253 baz ();
kono
parents:
diff changeset
254
kono
parents:
diff changeset
255 if (a)
kono
parents:
diff changeset
256 for (i = 0; i < 10; i++)
kono
parents:
diff changeset
257 #pragma omp parallel for simd
kono
parents:
diff changeset
258 for (j = 0; j < 10; j++)
kono
parents:
diff changeset
259 {
kono
parents:
diff changeset
260 if (b)
kono
parents:
diff changeset
261 bar ();
kono
parents:
diff changeset
262 }
kono
parents:
diff changeset
263 else
kono
parents:
diff changeset
264 baz ();
kono
parents:
diff changeset
265
kono
parents:
diff changeset
266 if (a)
kono
parents:
diff changeset
267 #pragma omp single
kono
parents:
diff changeset
268 {
kono
parents:
diff changeset
269 if (b)
kono
parents:
diff changeset
270 bar ();
kono
parents:
diff changeset
271 }
kono
parents:
diff changeset
272 else
kono
parents:
diff changeset
273 baz ();
kono
parents:
diff changeset
274
kono
parents:
diff changeset
275 if (a)
kono
parents:
diff changeset
276 #pragma omp task
kono
parents:
diff changeset
277 {
kono
parents:
diff changeset
278 if (b)
kono
parents:
diff changeset
279 bar ();
kono
parents:
diff changeset
280 }
kono
parents:
diff changeset
281 else
kono
parents:
diff changeset
282 baz ();
kono
parents:
diff changeset
283
kono
parents:
diff changeset
284 if (a)
kono
parents:
diff changeset
285 #pragma omp taskgroup
kono
parents:
diff changeset
286 {
kono
parents:
diff changeset
287 if (b)
kono
parents:
diff changeset
288 bar ();
kono
parents:
diff changeset
289 else
kono
parents:
diff changeset
290 baz ();
kono
parents:
diff changeset
291 }
kono
parents:
diff changeset
292
kono
parents:
diff changeset
293 if (a)
kono
parents:
diff changeset
294 #pragma omp taskloop simd
kono
parents:
diff changeset
295 for (i = 0; i < 10; i++)
kono
parents:
diff changeset
296 {
kono
parents:
diff changeset
297 if (b)
kono
parents:
diff changeset
298 bar ();
kono
parents:
diff changeset
299 else
kono
parents:
diff changeset
300 baz ();
kono
parents:
diff changeset
301 }
kono
parents:
diff changeset
302 }
kono
parents:
diff changeset
303
kono
parents:
diff changeset
304 void
kono
parents:
diff changeset
305 f2 (int d, int e, int f)
kono
parents:
diff changeset
306 {
kono
parents:
diff changeset
307 if (a) /* { dg-warning "ambiguous" } */
kono
parents:
diff changeset
308 #pragma omp ordered
kono
parents:
diff changeset
309 if (b)
kono
parents:
diff changeset
310 bar ();
kono
parents:
diff changeset
311 else
kono
parents:
diff changeset
312 baz ();
kono
parents:
diff changeset
313
kono
parents:
diff changeset
314 if (d) /* { dg-warning "ambiguous" } */
kono
parents:
diff changeset
315 #pragma omp ordered threads
kono
parents:
diff changeset
316 if (b)
kono
parents:
diff changeset
317 bar ();
kono
parents:
diff changeset
318 else
kono
parents:
diff changeset
319 baz ();
kono
parents:
diff changeset
320
kono
parents:
diff changeset
321 if (e)
kono
parents:
diff changeset
322 #pragma omp ordered
kono
parents:
diff changeset
323 {
kono
parents:
diff changeset
324 if (b)
kono
parents:
diff changeset
325 bar ();
kono
parents:
diff changeset
326 else
kono
parents:
diff changeset
327 baz ();
kono
parents:
diff changeset
328 }
kono
parents:
diff changeset
329
kono
parents:
diff changeset
330 if (f)
kono
parents:
diff changeset
331 #pragma omp ordered threads
kono
parents:
diff changeset
332 {
kono
parents:
diff changeset
333 if (b)
kono
parents:
diff changeset
334 bar ();
kono
parents:
diff changeset
335 else
kono
parents:
diff changeset
336 baz ();
kono
parents:
diff changeset
337 }
kono
parents:
diff changeset
338 }