// RUN: %clang %s -fsyntax-only -Xclang -verify -fblocks -Wunreachable-code -Wno-unused-value int halt() __attribute__((noreturn)); int live(); int dead(); void test1() { goto c; d: goto e; // expected-warning {{will never be executed}} c: ; int i; return; goto b; // expected-warning {{will never be executed}} goto a; // expected-warning {{will never be executed}} b: i = 1; a: i = 2; goto f; e: goto d; f: ; } void test2() { int i; switch (live()) { case 1: halt(), dead(); // expected-warning {{will never be executed}} case 2: live(), halt(), dead(); // expected-warning {{will never be executed}} case 3: live() // expected-warning {{will never be executed}} + halt(); dead(); case 4: a4: live(), halt(); goto a4; // expected-warning {{will never be executed}} case 5: goto a5; c5: dead(); // expected-warning {{will never be executed}} goto b5; a5: live(), halt(); b5: goto c5; case 6: if (live()) goto e6; live(), halt(); d6: dead(); // expected-warning {{will never be executed}} goto b6; c6: dead(); goto b6; e6: live(), halt(); b6: goto c6; case 7: halt() + // expected-warning {{will never be executed}} dead(); - // expected-warning {{will never be executed}} halt(); case 8: i += // expected-warning {{will never be executed}} halt(); case 9: halt() ? // expected-warning {{will never be executed}} dead() : dead(); case 10: ( // expected-warning {{will never be executed}} float)halt(); case 11: { int a[5]; live(), a[halt() ]; // expected-warning {{will never be executed}} } } }