1 /* PR c/70436 */
2 /* { dg-options "-Wparentheses" } */
3
4 int a, b, c;
5 void bar (int);
6
7 void
8 foo (void)
9 {
10 if (a) /* { dg-warning "ambiguous" } */
11 if (b)
12 {
13 if (c)
14 bar (0);
15 }
16 else
17 bar (1);
18
19 if (a > 0)
20 if (a > 1)
21 if (a > 2)
22 if (a > 3)
23 if (a > 4)
24 if (a > 5) /* { dg-warning "ambiguous" } */
25 if (a > 6)
26 while (1)
27 bar (0);
28 else
29 bar (1);
30
31 if (a) /* { dg-warning "ambiguous" } */
32 if (b)
33 switch (c);
34 else
35 bar (1);
36
37 switch (a)
38 {
39 default:
40 if (b) /* { dg-warning "ambiguous" } */
41 if (c)
42 for (;;)
43 bar (0);
44 else
45 bar (1);
46 }
47
48 if (a) /* { dg-warning "ambiguous" } */
49 if (a)
50 {
51 bar (2);
52 }
53 else
54 bar (3);
55
56 if (a)
57 do if (b) bar (4); while (1);
58 else bar (5);
59
60 do
61 {
62 if (a)
63 if (b) /* { dg-warning "ambiguous" } */
64 if (c) for (;;) bar (6);
65 else bar (7);
66 } while (0);
67 }