summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHoward Hinnant <hhinnant@apple.com>2012-01-08 23:40:41 +0000
committerHoward Hinnant <hhinnant@apple.com>2012-01-08 23:40:41 +0000
commit8ca7603d21b85b03a57d703feb9e8e8bcd6dcfd0 (patch)
tree6dc466ae45b715d72d5f7041ce00701a49a78381 /src
parentacfbf36d9498d945da1491ed571b73bf9f5e050f (diff)
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.
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@147760 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'src')
-rw-r--r--src/cxa_exception.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/cxa_exception.cpp b/src/cxa_exception.cpp
index 4065aeb..ff2afc3 100644
--- a/src/cxa_exception.cpp
+++ b/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)