// Verify that there are no spurious warnings in nested switch statements due // to the unnecessary break in the inner switch block. // { dg-do compile } // { dg-options "-Wimplicit-fallthrough" } */ int foo (int c1, int c2, int c3) { switch (c2) { case 0: switch (c3) // { dg-bogus "may fall through" } { case 0: if (c1) return 1; else return 2; break; default: return 3; } case 1: return 4; default: return 5; break; } }