mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-25 08:46:06 +00:00

2003-11-02-WeakLinkage.cpp 2003-11-18-PtrMemConstantInitializer.cpp 2003-11-25-ReturningOpaqueByValue.cpp 2003-11-27-MultipleInheritanceThunk.cpp 2003-11-29-DuplicatedCleanupTest.cpp 2003-12-08-ArrayOfPtrToMemberFunc.cpp 2004-01-11-DynamicInitializedConstant.cpp from llvm/test/FrontendC++. llvm-svn: 138162
42 lines
542 B
C++
42 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; }
|
|
}
|
|
}
|