diff options
Diffstat (limited to 'libcxxabi/test/unwind_02.pass.cpp')
-rw-r--r-- | libcxxabi/test/unwind_02.pass.cpp | 96 |
1 files changed, 0 insertions, 96 deletions
diff --git a/libcxxabi/test/unwind_02.pass.cpp b/libcxxabi/test/unwind_02.pass.cpp deleted file mode 100644 index 94d53adc416..00000000000 --- a/libcxxabi/test/unwind_02.pass.cpp +++ /dev/null @@ -1,96 +0,0 @@ -//===------------------------- unwind_02.cpp ------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include <assert.h> - -struct A -{ - static int count; - int id_; - A() : id_(++count) {} - ~A() {assert(id_ == count--);} - -private: - A(const A&); - A& operator=(const A&); -}; - -int A::count = 0; - -struct B -{ - static int count; - int id_; - B() : id_(++count) {} - ~B() {assert(id_ == count--);} - -private: - B(const B&); - B& operator=(const B&); -}; - -int B::count = 0; - -struct C -{ - static int count; - int id_; - C() : id_(++count) {} - ~C() {assert(id_ == count--);} - -private: - C(const C&); - C& operator=(const C&); -}; - -int C::count = 0; - -void f2() -{ - C c; - A a; - throw 55; - B b; -} - -void f1() throw (long, char, int, double) -{ - A a; - B b; - f2(); - C c; -} - -int main() -{ - try - { - f1(); - assert(false); - } - catch (int* i) - { - assert(false); - } - catch (long i) - { - assert(false); - } - catch (int i) - { - assert(i == 55); - } - catch (...) - { - assert(false); - } - assert(A::count == 0); - assert(B::count == 0); - assert(C::count == 0); -} |