mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
Testcase for duplicated cleanup work (PR11). Note that this testcase is not actually
tested automatically, so it is practically useless. However, it seemed silly to throw away my testcase, so here it is. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10253 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
3607f4d217
commit
b895fb06ec
39
test/C++Frontend/2003-11-29-DuplicatedCleanupTest.cpp
Normal file
39
test/C++Frontend/2003-11-29-DuplicatedCleanupTest.cpp
Normal file
@ -0,0 +1,39 @@
|
||||
|
||||
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; }
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user