diff options
Diffstat (limited to 'libcxx/test/language.support/support.exception/propagation/rethrow_exception.pass.cpp')
-rw-r--r-- | libcxx/test/language.support/support.exception/propagation/rethrow_exception.pass.cpp | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/libcxx/test/language.support/support.exception/propagation/rethrow_exception.pass.cpp b/libcxx/test/language.support/support.exception/propagation/rethrow_exception.pass.cpp deleted file mode 100644 index e47a5989d41..00000000000 --- a/libcxx/test/language.support/support.exception/propagation/rethrow_exception.pass.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// 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. -// -//===----------------------------------------------------------------------===// - -// <exception> - -// void rethrow_exception [[noreturn]] (exception_ptr p); - -#include <exception> -#include <cassert> - -struct A -{ - static int constructed; - int data_; - - A(int data = 0) : data_(data) {++constructed;} - ~A() {--constructed;} - A(const A& a) : data_(a.data_) {++constructed;} -}; - -int A::constructed = 0; - -int main() -{ - { - std::exception_ptr p; - try - { - throw A(3); - } - catch (...) - { - p = std::current_exception(); - } - try - { - std::rethrow_exception(p); - assert(false); - } - catch (const A& a) - { - assert(A::constructed == 1); - assert(p != nullptr); - p = nullptr; - assert(p == nullptr); - assert(a.data_ == 3); - assert(A::constructed == 1); - } - assert(A::constructed == 0); - } -} |