void unreachable_in_default(MyEnum e) { switch (e) { default: raze(); calledFun(); // expected-warning {{will never be executed}} break; } }
int test_break_preceded_by_noreturn_SUPPRESSED(int i) { switch (i) { case 1: raze(); break; // no-warning case 2: raze(); break; // no-warning warn_here(); // expected-warning {{will never be executed}} case 3: return 1; break; // no-warning default: break; break; // no-warning } return i; }
int test_break_preceded_by_noreturn(int i) { switch (i) { case 1: raze(); break; // expected-warning {{'break' will never be executed}} case 2: raze(); break; // expected-warning {{'break' will never be executed}} warn_here(); // expected-warning {{will never be executed}} case 3: return 1; break; // expected-warning {{will never be executed}} default: break; break; // expected-warning {{will never be executed}} } return i; }
MyEnum trival_dead_return_enum_SUPPRESSED() { raze(); return Value1; // no-warning }
void trivial_dead_return_void_SUPPRESSED() { raze(); return; // no-warning }
char trivial_dead_return_char() { raze(); return ' '; // expected-warning {{return' will never be executed}} }
const char *trivial_dead_return_cstr() { raze(); return ""; // expected-warning {{return' will never be executed}} }
MyEnum trival_dead_return_enum() { raze(); return Value1; // expected-warning {{'return' will never be executed}} }
void trivial_dead_return_void() { raze(); return; // expected-warning {{'return' will never be executed}} }
// Don't warn about trivial dead returns. int trivial_dead_return() { raze(); return ((0)); // expected-warning {{'return' will never be executed}} }
void test_with_unreachable_tmp_dtors(int x) { raze(x ? A() : A()); // no-warning }
bool testBool() { raze(); return true; // expected-warning {{'return' will never be executed}} }
std::string testStrWarn(const char *s) { raze(); return s; // expected-warning {{will never be executed}} }
std::string testStr() { raze(); return ""; // expected-warning {{'return' will never be executed}} }
void pr13910_noreturn() { raze(); __builtin_unreachable(); // expected no warning }