39 lines
709 B
Objective-C
39 lines
709 B
Objective-C
/* PR c/7652 */
|
|
/* { dg-do compile } */
|
|
/* { dg-options "-Wimplicit-fallthrough" } */
|
|
/* Test taken from
|
|
<http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0188r0.pdf>. */
|
|
|
|
extern void f (int);
|
|
|
|
void
|
|
foo (int n)
|
|
{
|
|
switch (n)
|
|
{
|
|
case 22:
|
|
case 33:
|
|
f (1); /* { dg-warning "statement may fall through" } */
|
|
case 44:
|
|
f (2);
|
|
__attribute__((fallthrough));
|
|
case 55:
|
|
if (n > 10)
|
|
{
|
|
f (3);
|
|
break;
|
|
}
|
|
else
|
|
{
|
|
f (4);
|
|
__attribute__((fallthrough));
|
|
}
|
|
case 66:
|
|
f (5);
|
|
__attribute__((fallthrough)); /* { dg-warning "not preceding" } */
|
|
f (6); /* { dg-warning "statement may fall through" } */
|
|
case 77:
|
|
f (7);
|
|
}
|
|
}
|