Usermode/libc++ - Exception handling implemented (partially)
[tpg/acess2.git] / Usermode / Libraries / libc++.so_src / cxxabi.cc
1 /*
2  * Acess2 C++ Library
3  * - By John Hodge (thePowersGang)
4  *
5  * cxxabi.cc
6  * - C++ ABI Namespace
7  * 
8  * NOTE: GCC follows the Itaniumâ„¢ C++ ABI on all platforms
9  * http://mentorembedded.github.io/cxx-abi/abi.html
10  * http://libcxxabi.llvm.org/spec.html
11  */
12 #include <cxxabi.h>
13 #include <acess/sys.h>
14
15 namespace __cxxabiv1 {
16
17 // --- RTTI --
18 // - No inheritance class
19 __class_type_info::~__class_type_info()
20 {
21         // nop
22 }
23
24 // - Single inheritance class
25 __si_class_type_info::~__si_class_type_info()
26 {
27         
28 }
29
30 // - Multiple inheritance class
31 __vmi_class_type_info::~__vmi_class_type_info()
32 {
33         
34 }
35
36 };      // namespace __cxxabiv1
37
38 extern "C" void __cxa_bad_cast ()
39 {
40         _SysDebug("__cxa_bad_cast");
41         for(;;);
42         //throw ::std::bad_cast;
43 }
44
45 extern "C" void __cxa_bad_typeid ()
46 {
47         _SysDebug("__cxa_bad_typeid");
48         for(;;);
49         //throw ::std::bad_typeid;
50 }
51
52 extern "C" void* __dynamic_cast(
53         const void *sub,
54         const __cxxabiv1::__class_type_info *src,
55         const __cxxabiv1::__class_type_info *dst,
56         ptrdiff_t src2dst_offset
57         )
58 {
59         _SysDebug("TODO: __dynamic_cast %p %s to %s, hint=%p", sub, dst->name(), src->name(), src2dst_offset);
60         return NULL;
61 }
62

UCC git Repository :: git.ucc.asn.au