From e6a523d6eb2ee53a399da43b55f5b4e1bd7810ec Mon Sep 17 00:00:00 2001 From: anonymous Date: Mon, 4 Oct 2010 11:35:39 +0700 Subject: __cxa_get_exception_ptr implementation --- src/exception.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src') diff --git a/src/exception.cc b/src/exception.cc index 272bf30..e0d32da 100644 --- a/src/exception.cc +++ b/src/exception.cc @@ -901,6 +901,16 @@ extern "C" void __cxa_call_unexpected(void*exception) abort(); } +/** + * ABI function, returns the adjusted pointer to the exception object. + */ +extern "C" void *__cxa_get_exception_ptr(void *exceptionObject) { + // exceptionObject is the pointer to the _Unwind_Exception within the + // __cxa_exception. The throw object is after this + return ((char*)exceptionObject + sizeof(_Unwind_Exception)); +} + + namespace std { unexpected_handler set_unexpected(unexpected_handler f) throw() -- cgit v1.2.3