summaryrefslogtreecommitdiffstats
path: root/libcxxabi/src/cxa_exception.cpp
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
commit7530f19d037c8f7678067588943b19b97a329b1c (patch)
treec5b816a2394e6f98aa05e1332b73a197072c3746 /libcxxabi/src/cxa_exception.cpp
parent5dc3179e5de938f515da20f178ed0e7e451e4ea4 (diff)
downloadbcm5719-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.cpp5
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)
OpenPOWER on IntegriCloud