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
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: 7530f19d037c8f7678067588943b19b97a329b1c
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 @@
// 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 @@
}
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 @@
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)