blob: 7832415f1ed706a8ea1631eeba6270bb83ace7ce [file] [log] [blame]
/* PR c/70436 */
/* { dg-options "-Wparentheses" } */
int a, b, c;
void bar (void);
void baz (void);
void
foo (void)
{
int i, j;
if (a) /* { dg-warning "ambiguous" } */
for (;;)
if (b)
bar ();
else
baz ();
if (a) /* { dg-warning "ambiguous" } */
while (1)
if (b)
bar ();
else
baz ();
if (a) /* { dg-warning "ambiguous" } */
while (1)
for (;;)
if (b)
bar ();
else
baz ();
if (a) /* { dg-warning "ambiguous" } */
while (1)
while (1)
if (b)
bar ();
else
baz ();
if (a) /* { dg-warning "ambiguous" } */
for (i = 0; i < 10; i++)
for (j = 0; j < 10; j++)
if (b)
bar ();
else
baz ();
if (a)
for (i = 0; i < 10; i++)
if (b) /* { dg-warning "ambiguous" } */
for (j = 0; j < 10; j++)
if (c)
bar ();
else
baz ();
if (a) /* { dg-warning "ambiguous" } */
for (i = 0; i < 10; i++)
if (b)
for (j = 0; j < 10; j++)
if (c)
bar ();
else
baz ();
else
bar ();
if (a) /* { dg-warning "ambiguous" } */
for (;;)
if (b)
while (1)
if (a)
bar ();
else
baz ();
else
bar ();
if (a) /* { dg-warning "ambiguous" } */
for (;;)
if (b)
while (1)
{
if (a) { bar (); } else { baz (); }
}
else
bar ();
if (a)
for (;;)
if (b)
bar ();
else
baz ();
else bar ();
if (a)
while (1)
if (b)
bar ();
else
baz ();
else bar ();
if (a)
for (;;)
{
if (b)
bar ();
else
baz ();
}
if (a)
{
for (;;)
if (b)
bar ();
}
else baz ();
if (a)
do
if (b) bar (); else baz ();
while (b);
if (a)
do
if (b) bar ();
while (b);
else baz ();
}