| /* PR c/70436 */ |
| /* { dg-options "-Wparentheses" } */ |
| |
| int a, b, c; |
| void bar (int); |
| |
| void |
| foo (void) |
| { |
| if (a) /* { dg-warning "ambiguous" } */ |
| if (b) |
| { |
| if (c) |
| bar (0); |
| } |
| else |
| bar (1); |
| |
| if (a > 0) |
| if (a > 1) |
| if (a > 2) |
| if (a > 3) |
| if (a > 4) |
| if (a > 5) /* { dg-warning "ambiguous" } */ |
| if (a > 6) |
| while (1) |
| bar (0); |
| else |
| bar (1); |
| |
| if (a) /* { dg-warning "ambiguous" } */ |
| if (b) |
| switch (c); |
| else |
| bar (1); |
| |
| switch (a) |
| { |
| default: |
| if (b) /* { dg-warning "ambiguous" } */ |
| if (c) |
| for (;;) |
| bar (0); |
| else |
| bar (1); |
| } |
| |
| if (a) /* { dg-warning "ambiguous" } */ |
| if (a) |
| { |
| bar (2); |
| } |
| else |
| bar (3); |
| |
| if (a) |
| do if (b) bar (4); while (1); |
| else bar (5); |
| |
| do |
| { |
| if (a) |
| if (b) /* { dg-warning "ambiguous" } */ |
| if (c) for (;;) bar (6); |
| else bar (7); |
| } while (0); |
| } |