brintos

brintos / llvm-project-archived public Read only

0
0
Text · 935 B · f1e08a6 Raw
56 lines · c
1// RUN: %clang_cc1 %s -triple=i686-pc-win32 -fsyntax-only -verify -fms-extensions -Wunreachable-code2 3void f(void);4 5void g1(void) {6  __try {7    f();8    __leave;9    f();  // expected-warning{{will never be executed}}10  } __except(1) {11    f();12  }13 14  // Completely empty.15  __try {16  } __except(1) {17  }18 19  __try {20    f();21    return;22  } __except(1) {  // Filter expression should not be marked as unreachable.23    // Empty __except body.24  }25}26 27void g2(void) {28  __try {29    // Nested __try.30    __try {31      f();32      __leave;33      f(); // expected-warning{{will never be executed}}34    } __except(2) {35    }36    f();37    __leave;38    f(); // expected-warning{{will never be executed}}39  } __except(1) {40    f();41  }42}43 44void g3(void) {45  __try {46    __try {47      f();48    } __except (1) {49      __leave; // should exit outer try50    }51    __leave;52    f(); // expected-warning{{never be executed}}53  } __except (1) {54  }55}56