Changeset View
Changeset View
Standalone View
Standalone View
contrib/libcxxabi/src/cxa_aux_runtime.cpp
- This file was added.
Property | Old Value | New Value |
---|---|---|
svn:eol-style | null | native \ No newline at end of property |
svn:keywords | null | FreeBSD=%H \ No newline at end of property |
svn:mime-type | null | text/plain \ No newline at end of property |
//===------------------------ cxa_aux_runtime.cpp -------------------------===// | |||||
// | |||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |||||
// See https://llvm.org/LICENSE.txt for license information. | |||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |||||
// | |||||
// | |||||
// This file implements the "Auxiliary Runtime APIs" | |||||
// http://mentorembedded.github.io/cxx-abi/abi-eh.html#cxx-aux | |||||
//===----------------------------------------------------------------------===// | |||||
#include "cxxabi.h" | |||||
#include <new> | |||||
#include <typeinfo> | |||||
namespace __cxxabiv1 { | |||||
extern "C" { | |||||
_LIBCXXABI_FUNC_VIS _LIBCXXABI_NORETURN void __cxa_bad_cast(void) { | |||||
#ifndef _LIBCXXABI_NO_EXCEPTIONS | |||||
throw std::bad_cast(); | |||||
#else | |||||
std::terminate(); | |||||
#endif | |||||
} | |||||
_LIBCXXABI_FUNC_VIS _LIBCXXABI_NORETURN void __cxa_bad_typeid(void) { | |||||
#ifndef _LIBCXXABI_NO_EXCEPTIONS | |||||
throw std::bad_typeid(); | |||||
#else | |||||
std::terminate(); | |||||
#endif | |||||
} | |||||
_LIBCXXABI_FUNC_VIS _LIBCXXABI_NORETURN void | |||||
__cxa_throw_bad_array_new_length(void) { | |||||
#ifndef _LIBCXXABI_NO_EXCEPTIONS | |||||
throw std::bad_array_new_length(); | |||||
#else | |||||
std::terminate(); | |||||
#endif | |||||
} | |||||
} // extern "C" | |||||
} // abi |