brintos

brintos / llvm-project-archived public Read only

0
0
Text · 542 B · 45325bc Raw
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