diff options
Diffstat (limited to 'include/cxxabi.h')
-rw-r--r-- | include/cxxabi.h | 100 |
1 files changed, 46 insertions, 54 deletions
diff --git a/include/cxxabi.h b/include/cxxabi.h index e5c9b66..2614327 100644 --- a/include/cxxabi.h +++ b/include/cxxabi.h @@ -8,7 +8,7 @@ //===----------------------------------------------------------------------===// #ifndef __CXXABI_H -#define __CXXABI_H +#define __CXXABI_H /* * This header provides the interface to the C++ ABI as defined at: @@ -32,20 +32,20 @@ #ifdef __cplusplus namespace std { - class type_info; // forward declaration +class type_info; // forward declaration } // runtime routines use C calling conventions, but are in __cxxabiv1 namespace -namespace __cxxabiv1 { - extern "C" { +namespace __cxxabiv1 { +extern "C" { // 2.4.2 Allocating the Exception Object extern void * __cxa_allocate_exception(size_t thrown_size) throw(); extern void __cxa_free_exception(void * thrown_exception) throw(); // 2.4.3 Throwing the Exception Object -extern LIBCXXABI_NORETURN void __cxa_throw(void * thrown_exception, +extern LIBCXXABI_NORETURN void __cxa_throw(void * thrown_exception, std::type_info * tinfo, void (*dest)(void *)); // 2.5.3 Exception Handlers @@ -88,84 +88,76 @@ extern void __cxa_guard_abort(uint64_t*); #endif // 3.3.3 Array Construction and Destruction API -extern void* __cxa_vec_new(size_t element_count, - size_t element_size, - size_t padding_size, +extern void* __cxa_vec_new(size_t element_count, + size_t element_size, + size_t padding_size, void (*constructor)(void*), - void (*destructor)(void*) ); + void (*destructor)(void*)); extern void* __cxa_vec_new2(size_t element_count, - size_t element_size, + size_t element_size, size_t padding_size, void (*constructor)(void*), void (*destructor)(void*), - void* (*alloc)(size_t), - void (*dealloc)(void*) ); + void* (*alloc)(size_t), + void (*dealloc)(void*)); extern void* __cxa_vec_new3(size_t element_count, - size_t element_size, + size_t element_size, size_t padding_size, void (*constructor)(void*), void (*destructor)(void*), - void* (*alloc)(size_t), - void (*dealloc)(void*, size_t) ); - -extern void __cxa_vec_ctor(void* array_address, + void* (*alloc)(size_t), + void (*dealloc)(void*, size_t)); + +extern void __cxa_vec_ctor(void* array_address, size_t element_count, - size_t element_size, + size_t element_size, void (*constructor)(void*), - void (*destructor)(void*) ); - + void (*destructor)(void*)); -extern void __cxa_vec_dtor(void* array_address, +extern void __cxa_vec_dtor(void* array_address, size_t element_count, - size_t element_size, - void (*destructor)(void*) ); + size_t element_size, + void (*destructor)(void*)); - -extern void __cxa_vec_cleanup(void* array_address, +extern void __cxa_vec_cleanup(void* array_address, size_t element_count, - size_t element_size, - void (*destructor)(void*) ); - + size_t element_size, + void (*destructor)(void*)); -extern void __cxa_vec_delete(void* array_address, - size_t element_size, - size_t padding_size, - void (*destructor)(void*) ); +extern void __cxa_vec_delete(void* array_address, + size_t element_size, + size_t padding_size, + void (*destructor)(void*)); - -extern void __cxa_vec_delete2(void* array_address, - size_t element_size, - size_t padding_size, +extern void __cxa_vec_delete2(void* array_address, + size_t element_size, + size_t padding_size, void (*destructor)(void*), - void (*dealloc)(void*) ); - + void (*dealloc)(void*)); -extern void __cxa_vec_delete3(void* __array_address, - size_t element_size, - size_t padding_size, +extern void __cxa_vec_delete3(void* __array_address, + size_t element_size, + size_t padding_size, void (*destructor)(void*), - void (*dealloc) (void*, size_t)); - - -extern void __cxa_vec_cctor(void* dest_array, - void* src_array, - size_t element_count, - size_t element_size, - void (*constructor) (void*, void*), - void (*destructor)(void*) ); + void (*dealloc)(void*, size_t)); +extern void __cxa_vec_cctor(void* dest_array, + void* src_array, + size_t element_count, + size_t element_size, + void (*constructor)(void*, void*), + void (*destructor)(void*)); // 3.3.5.3 Runtime API extern int __cxa_atexit(void (*f)(void*), void* p, void* d); extern int __cxa_finalize(void*); - // 3.4 Demangler API -extern char* __cxa_demangle(const char* mangled_name, +extern char* __cxa_demangle(const char* mangled_name, char* output_buffer, - size_t* length, + size_t* length, int* status); // Apple additions to support C++ 0x exception_ptr class @@ -191,4 +183,4 @@ namespace abi = __cxxabiv1; #endif // __cplusplus -#endif // __CXXABI_H +#endif // __CXXABI_H |