diff options
author | 2016-09-03 18:40:20 +0000 | |
---|---|---|
committer | 2016-09-03 18:40:20 +0000 | |
commit | c470baa2808571028ca92f4d4e5d8d6905b74920 (patch) | |
tree | 6234304240a661f6151fc6a7391d73f8ec065805 /lib/libcxxabi/src/cxa_noexception.cpp | |
parent | Import libc++ 3.9.0 (diff) | |
download | wireguard-openbsd-c470baa2808571028ca92f4d4e5d8d6905b74920.tar.xz wireguard-openbsd-c470baa2808571028ca92f4d4e5d8d6905b74920.zip |
Import libc++abi 3.9.0
Diffstat (limited to 'lib/libcxxabi/src/cxa_noexception.cpp')
-rw-r--r-- | lib/libcxxabi/src/cxa_noexception.cpp | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/lib/libcxxabi/src/cxa_noexception.cpp b/lib/libcxxabi/src/cxa_noexception.cpp new file mode 100644 index 00000000000..e45ceff0165 --- /dev/null +++ b/lib/libcxxabi/src/cxa_noexception.cpp @@ -0,0 +1,60 @@ +//===------------------------- cxa_exception.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. +// +// +// This file implements the "Exception Handling APIs" +// http://mentorembedded.github.io/cxx-abi/abi-eh.html +// +//===----------------------------------------------------------------------===// + +// Support functions for the no-exceptions libc++ library + +#include "config.h" +#include "cxxabi.h" + +#include <exception> // for std::terminate +#include "cxa_exception.hpp" +#include "cxa_handlers.hpp" + +namespace __cxxabiv1 { + +#pragma GCC visibility push(default) + +extern "C" { + +void +__cxa_increment_exception_refcount(void *thrown_object) throw() { + if (thrown_object != nullptr) + std::terminate(); +} + +void +__cxa_decrement_exception_refcount(void *thrown_object) throw() { + if (thrown_object != nullptr) + std::terminate(); +} + + +void *__cxa_current_primary_exception() throw() { return nullptr; } + +void +__cxa_rethrow_primary_exception(void* thrown_object) { + if (thrown_object != nullptr) + std::terminate(); +} + +bool +__cxa_uncaught_exception() throw() { return false; } + +unsigned int +__cxa_uncaught_exceptions() throw() { return 0; } + +} // extern "C" + +#pragma GCC visibility pop + +} // abi |