summaryrefslogtreecommitdiff
path: root/src/cxa_personality.cpp
diff options
context:
space:
mode:
authorHoward Hinnant <hhinnant@apple.com>2012-01-31 01:51:15 +0000
committerHoward Hinnant <hhinnant@apple.com>2012-01-31 01:51:15 +0000
commit1a58491066c80bd4b599e49fe0930b9390807e0b (patch)
tree3fade49d0178abc8120b0def33f01d8c5ce9db39 /src/cxa_personality.cpp
parent4c8d5613f35b03a3b6dc050a822e9a63e038e837 (diff)
downloadlibcxxabi-1a58491066c80bd4b599e49fe0930b9390807e0b.tar.gz
Minor bug fix in __cxa_call_unexpected. Changed std::terminate to detect a caught-but-unhandled exception, and choose the handler out of that if found.
git-svn-id: https://llvm.org/svn/llvm-project/libcxxabi/trunk@149329 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'src/cxa_personality.cpp')
-rw-r--r--src/cxa_personality.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/cxa_personality.cpp b/src/cxa_personality.cpp
index fdf8679..1b6f1c4 100644
--- a/src/cxa_personality.cpp
+++ b/src/cxa_personality.cpp
@@ -840,7 +840,7 @@ __cxa_call_unexpected(void* arg)
{
_Unwind_Exception* unwind_exception = static_cast<_Unwind_Exception*>(arg);
if (unwind_exception == 0)
- call_terminate(true, unwind_exception);
+ call_terminate(false, unwind_exception);
__cxa_begin_catch(unwind_exception);
bool native_old_exception = (unwind_exception->exception_class & get_language) ==
(kOurExceptionClass & get_language);