PR middle-end/85602 - -Wsizeof-pointer-memaccess for strncat with size of source
[official-gcc.git] / gcc / testsuite / c-c++-common / gomp / Wparentheses-3.c
blob1688d1062d4da6e956d836c5672324cb9f354f96
1 /* PR c/70436 */
2 /* { dg-additional-options "-Wparentheses -fno-openmp" } */
4 int a, b, c;
5 void bar (void);
6 void baz (void);
8 void
9 f1 (void)
11 int i, j;
13 if (a) /* { dg-warning "ambiguous" } */
14 #pragma omp for
15 for (i = 0; i < 10; i++)
16 if (b)
17 bar ();
18 else
19 baz ();
21 if (a) /* { dg-warning "ambiguous" } */
22 while (1)
23 #pragma omp for
24 for (i = 0; i < 10; i++)
25 if (b)
26 bar ();
27 else
28 baz ();
30 if (a) /* { dg-warning "ambiguous" } */
31 for (i = 0; i < 10; i++)
32 #pragma omp for
33 for (j = 0; j < 10; j++)
34 if (b)
35 bar ();
36 else
37 baz ();
39 if (a)
40 #pragma omp for
41 for (i = 0; i < 10; i++)
42 if (b) /* { dg-warning "ambiguous" } */
43 #pragma omp parallel for
44 for (j = 0; j < 10; j++)
45 if (c)
46 bar ();
47 else
48 baz ();
50 if (a) /* { dg-warning "ambiguous" } */
51 #pragma omp taskloop
52 for (i = 0; i < 10; i++)
53 if (b)
54 #pragma omp parallel for
55 for (j = 0; j < 10; j++)
56 if (c)
57 bar ();
58 else
59 baz ();
60 else
61 bar ();
63 if (a) /* { dg-warning "ambiguous" } */
64 #pragma omp taskloop simd
65 for (i = 0; i < 10; i++)
66 if (b)
67 bar ();
68 else
69 baz ();
71 if (a) /* { dg-warning "ambiguous" } */
72 #pragma omp for collapse(2)
73 for (i = 0; i < 10; i++)
74 for (j = 0; j < 10; j++)
75 if (b)
76 bar ();
77 else
78 baz ();
80 if (a) /* { dg-warning "ambiguous" } */
81 #pragma omp critical
82 if (b)
83 bar ();
84 else
85 baz ();
87 if (a) /* { dg-warning "ambiguous" } */
88 for (i = 0; i < 10; i++)
89 #pragma omp simd
90 for (j = 0; j < 10; j++)
91 if (b)
92 bar ();
93 else
94 baz ();
96 if (a) /* { dg-warning "ambiguous" } */
97 #pragma omp for simd schedule(runtime)
98 for (i = 0; i < 10; i++)
99 if (b)
100 bar ();
101 else
102 baz ();
104 if (a) /* { dg-warning "ambiguous" } */
105 #pragma omp master
106 if (b)
107 bar ();
108 else
109 baz ();
111 if (a) /* { dg-warning "ambiguous" } */
112 #pragma omp parallel
113 if (b)
114 bar ();
115 else
116 baz ();
118 if (a) /* { dg-warning "ambiguous" } */
119 for (i = 0; i < 10; i++)
120 #pragma omp parallel for
121 for (j = 0; j < 10; j++)
122 if (b)
123 bar ();
124 else
125 baz ();
127 if (a) /* { dg-warning "ambiguous" } */
128 for (i = 0; i < 10; i++)
129 #pragma omp parallel for simd
130 for (j = 0; j < 10; j++)
131 if (b)
132 bar ();
133 else
134 baz ();
136 if (a) /* { dg-warning "ambiguous" } */
137 #pragma omp single
138 if (b)
139 bar ();
140 else
141 baz ();
143 if (a) /* { dg-warning "ambiguous" } */
144 #pragma omp task
145 if (b)
146 bar ();
147 else
148 baz ();
150 if (a) /* { dg-warning "ambiguous" } */
151 #pragma omp taskgroup
152 if (b)
153 bar ();
154 else
155 baz ();
157 if (a)
158 #pragma omp for
159 for (i = 0; i < 10; i++)
161 if (b)
162 bar ();
163 else
164 baz ();
167 if (a)
169 #pragma omp taskloop
170 for (i = 0; i < 10; ++i)
171 if (b)
172 bar ();
174 else baz ();
176 if (a)
177 #pragma omp for collapse(2)
178 for (i = 0; i < 10; i++)
180 for (j = 0; j < 10; j++)
181 if (b)
182 bar ();
183 else
184 baz ();
187 if (a)
188 #pragma omp critical
190 if (b)
191 bar ();
192 else
193 baz ();
196 if (a)
197 for (i = 0; i < 10; i++)
198 #pragma omp simd
199 for (j = 0; j < 10; j++)
201 if (b)
202 bar ();
204 else
205 baz ();
207 if (a)
208 #pragma omp for simd schedule(dynamic, 5)
209 for (i = 0; i < 10; i++)
211 if (b)
212 bar ();
213 else
214 baz ();
217 if (a)
218 #pragma omp master
220 if (b)
221 bar ();
222 else
223 baz ();
226 if (a)
227 #pragma omp parallel
229 if (b)
230 bar ();
231 else
232 baz ();
235 if (a)
237 #pragma omp parallel
238 if (b)
239 bar ();
240 else
241 baz ();
244 if (a)
245 for (i = 0; i < 10; i++)
246 #pragma omp parallel for
247 for (j = 0; j < 10; j++)
249 if (b)
250 bar ();
252 else
253 baz ();
255 if (a)
256 for (i = 0; i < 10; i++)
257 #pragma omp parallel for simd
258 for (j = 0; j < 10; j++)
260 if (b)
261 bar ();
263 else
264 baz ();
266 if (a)
267 #pragma omp single
269 if (b)
270 bar ();
272 else
273 baz ();
275 if (a)
276 #pragma omp task
278 if (b)
279 bar ();
281 else
282 baz ();
284 if (a)
285 #pragma omp taskgroup
287 if (b)
288 bar ();
289 else
290 baz ();
293 if (a)
294 #pragma omp taskloop simd
295 for (i = 0; i < 10; i++)
297 if (b)
298 bar ();
299 else
300 baz ();
304 void
305 f2 (int d, int e, int f)
307 if (a) /* { dg-warning "ambiguous" } */
308 #pragma omp ordered
309 if (b)
310 bar ();
311 else
312 baz ();
314 if (d) /* { dg-warning "ambiguous" } */
315 #pragma omp ordered threads
316 if (b)
317 bar ();
318 else
319 baz ();
321 if (e)
322 #pragma omp ordered
324 if (b)
325 bar ();
326 else
327 baz ();
330 if (f)
331 #pragma omp ordered threads
333 if (b)
334 bar ();
335 else
336 baz ();