diff options
author | Howard Hinnant <hhinnant@apple.com> | 2012-01-08 23:40:41 +0000 |
---|---|---|
committer | Howard Hinnant <hhinnant@apple.com> | 2012-01-08 23:40:41 +0000 |
commit | 7530f19d037c8f7678067588943b19b97a329b1c (patch) | |
tree | c5b816a2394e6f98aa05e1332b73a197072c3746 /libcxxabi/src/cxa_exception.cpp | |
parent | 5dc3179e5de938f515da20f178ed0e7e451e4ea4 (diff) | |
download | bcm5719-llvm-7530f19d037c8f7678067588943b19b97a329b1c.tar.gz bcm5719-llvm-7530f19d037c8f7678067588943b19b97a329b1c.zip |
Add a few TODO's and FIXME's. Making notes as I go along, but not slowing down to fix these yet. Just don't want anything to fall through the cracks.
llvm-svn: 147760
Diffstat (limited to 'libcxxabi/src/cxa_exception.cpp')
-rw-r--r-- | libcxxabi/src/cxa_exception.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libcxxabi/src/cxa_exception.cpp b/libcxxabi/src/cxa_exception.cpp index 4065aeb8d6b..ff2afc3852e 100644 --- a/libcxxabi/src/cxa_exception.cpp +++ b/libcxxabi/src/cxa_exception.cpp @@ -214,6 +214,7 @@ __cxa_throw(void * thrown_exception, std::type_info * tinfo, void (*dest)(void * // 2.5.3 Exception Handlers extern void * __cxa_get_exception_ptr(void * exceptionObject) throw() { +// TODO: This must return the *adjusted* pointer to the exception object. return exception_from_exception_object(exceptionObject); } @@ -243,7 +244,7 @@ void * __cxa_begin_catch(void * exceptionObject) throw() { } globals->uncaughtExceptions -= 1; // Not atomically, since globals are thread-local - return thrown_object_from_exception(exception); + return __cxa_get_exception_ptr(exceptionObject); } @@ -295,6 +296,8 @@ void __cxa_end_catch() { std::type_info * __cxa_current_exception_type() { +// FIXME: I don't think we need to drill down into __cxa_dependent_exception +// because the exceptionType is replicated in the __cxa_dependent_exception // get the current exception __cxa_eh_globals *globals = __cxa_get_globals_fast(); if (NULL == globals) |