Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wine-mirror
GitHub Repository: wine-mirror/wine
Path: blob/master/libs/c++abi/src/cxa_aux_runtime.cpp
12346 views
1
//===------------------------ cxa_aux_runtime.cpp -------------------------===//
2
//
3
// The LLVM Compiler Infrastructure
4
//
5
// This file is dual licensed under the MIT and the University of Illinois Open
6
// Source Licenses. See LICENSE.TXT for details.
7
//
8
//
9
// This file implements the "Auxiliary Runtime APIs"
10
// http://mentorembedded.github.io/cxx-abi/abi-eh.html#cxx-aux
11
//===----------------------------------------------------------------------===//
12
13
#include "cxxabi.h"
14
#include <new>
15
#include <typeinfo>
16
17
namespace __cxxabiv1 {
18
extern "C" {
19
_LIBCXXABI_FUNC_VIS _LIBCXXABI_NORETURN void __cxa_bad_cast(void) {
20
#ifndef _LIBCXXABI_NO_EXCEPTIONS
21
throw std::bad_cast();
22
#else
23
std::terminate();
24
#endif
25
}
26
27
_LIBCXXABI_FUNC_VIS _LIBCXXABI_NORETURN void __cxa_bad_typeid(void) {
28
#ifndef _LIBCXXABI_NO_EXCEPTIONS
29
throw std::bad_typeid();
30
#else
31
std::terminate();
32
#endif
33
}
34
35
_LIBCXXABI_FUNC_VIS _LIBCXXABI_NORETURN void
36
__cxa_throw_bad_array_new_length(void) {
37
#ifndef _LIBCXXABI_NO_EXCEPTIONS
38
throw std::bad_array_new_length();
39
#else
40
std::terminate();
41
#endif
42
}
43
} // extern "C"
44
} // abi
45
46