86 lines
1.0 KiB
C
86 lines
1.0 KiB
C
/* PR c/7652 */
|
|
/* { dg-do compile } */
|
|
/* { dg-options "-Wimplicit-fallthrough" } */
|
|
|
|
/* Testing non-case labels. */
|
|
|
|
int foo (int);
|
|
|
|
void
|
|
f1 (int i)
|
|
{
|
|
switch (i)
|
|
{
|
|
case 0:
|
|
foo (1);
|
|
L1:
|
|
foo (2);
|
|
}
|
|
|
|
switch (i)
|
|
{
|
|
case 0:
|
|
foo (1); /* { dg-warning "statement may fall through" } */
|
|
L2:
|
|
case 2:
|
|
foo (2);
|
|
}
|
|
|
|
switch (i)
|
|
{
|
|
case 0:
|
|
foo (1); /* { dg-warning "statement may fall through" } */
|
|
case 2:
|
|
L3:
|
|
foo (2);
|
|
}
|
|
|
|
switch (i)
|
|
{
|
|
case 0:
|
|
foo (1); /* { dg-warning "statement may fall through" } */
|
|
L4:
|
|
case 2:
|
|
L5:
|
|
foo (2);
|
|
}
|
|
|
|
switch (i)
|
|
{
|
|
case 0:
|
|
switch (i)
|
|
{
|
|
case 1:
|
|
foo (2);
|
|
L6:
|
|
foo (3);
|
|
}
|
|
}
|
|
|
|
switch (i)
|
|
{
|
|
case 0:
|
|
switch (i)
|
|
{
|
|
case 1:
|
|
foo (2); /* { dg-warning "statement may fall through" } */
|
|
L7:
|
|
case 2:
|
|
foo (3);
|
|
}
|
|
}
|
|
|
|
switch (i)
|
|
{
|
|
case 0:
|
|
switch (i)
|
|
{
|
|
case 1:
|
|
foo (2); /* { dg-warning "statement may fall through" } */
|
|
case 2:
|
|
L8:
|
|
foo (3);
|
|
}
|
|
}
|
|
}
|