/* { dg-do compile } */
/* { dg-options "-Wimplicit-fallthrough=4" } */

void bar (int);

void
foo (int i)
{
  switch (i)
    {
    case 1:			/* { dg-warning "this statement may \[fla\]* through" "" { target *-*-* } .+1 } */
      bar (1);
    case 2:			/* { dg-warning "this statement may \[fla\]* through" "" { target *-*-* } .+1 } */
      bar (2);
      /* Some comment.  */
    case 3:			/* { dg-warning "this statement may \[fla\]* through" "" { target *-*-* } .+1 } */
      bar (3);
      /* Here we really do want to fALl   tHRoUgh and we mean it!  */
    case 4:			/* { dg-warning "this statement may \[fla\]* through" "" { target *-*-* } .+1 } */
      bar (4);
      /* Intentionally fall through.  */
    case 5:			/* { dg-bogus "this statement may \[fla\]* through" "" { target *-*-* } .+1 } */
      bar (5);
      /* FALLTHROUGH */
    case 6:			/* { dg-bogus "this statement may \[fla\]* through" "" { target *-*-* } .+1 } */
      bar (6);
      __attribute__((fallthrough));
    case 7:			/* { dg-bogus "this statement may \[fla\]* through" "" { target *-*-* } .+1 } */
      bar (7);
    default:
      break;
    }
}
