42 lines · cpp
1// RUN: %clang_cc1 -emit-llvm %s -o -2 3 4void doesntThrow() throw();5struct F {6 ~F() { doesntThrow(); }7};8 9void atest() {10 F A;11lab:12 F B;13 goto lab;14}15 16void test(int val) {17label: {18 F A;19 F B;20 if (val == 0) goto label;21 if (val == 1) goto label;22}23}24 25void test3(int val) {26label: {27 F A;28 F B;29 if (val == 0) { doesntThrow(); goto label; }30 if (val == 1) { doesntThrow(); goto label; }31}32}33 34void test4(int val) {35label: {36 F A;37 F B;38 if (val == 0) { F C; goto label; }39 if (val == 1) { F D; goto label; }40}41}42