// PR c++/88983 // { dg-do compile { target c++14 } } constexpr int fn1 (int ay) { switch (ay) { if (1) { case 1: return 1; } else { default:; } } return 0; } constexpr int fn2 (int ay) { switch (ay) { if (1) { case 1: break; } else { default:; } } return 0; } constexpr int fn3 (int ay) { int i = 0; while (i++ < 100) { if (i == 1) return 1; switch (ay) { if (1) { case 1: continue; } else { default:; return -1; } } return -1; } return -1; } static_assert (fn1 (1) == 1, ""); static_assert (fn2 (1) == 0, ""); static_assert (fn3 (1) == 1, "");