minix/external/bsd/llvm/dist/clang/test/CodeGenCXX/2003-11-29-DuplicatedCleanupTest.cpp
Lionel Sambuc f4a2713ac8 Importing netbsd clang -- pristine
Change-Id: Ia40e9ffdf29b5dab2f122f673ff6802a58bc690f
2014-07-28 17:05:57 +02:00

41 lines
542 B
C++

// RUN: %clang_cc1 -emit-llvm %s -o -
void doesntThrow() throw();
struct F {
~F() { doesntThrow(); }
};
void atest() {
F A;
lab:
F B;
goto lab;
}
void test(int val) {
label: {
F A;
F B;
if (val == 0) goto label;
if (val == 1) goto label;
}
}
void test3(int val) {
label: {
F A;
F B;
if (val == 0) { doesntThrow(); goto label; }
if (val == 1) { doesntThrow(); goto label; }
}
}
void test4(int val) {
label: {
F A;
F B;
if (val == 0) { F C; goto label; }
if (val == 1) { F D; goto label; }
}
}