From 5f8d562181bce7c0d11eae0a597e3f534966e42c Mon Sep 17 00:00:00 2001 From: Julian Büning Date: Wed, 23 Dec 2020 18:23:06 +0100 Subject: Executor: remove obsolete special case for __cxa_{re,}throw __cxa_throw and __cxa_rethrow were not handled by special function handlers in the final version of #966 (which introduced support for C++ exception handling) --- lib/Core/Executor.cpp | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) (limited to 'lib') diff --git a/lib/Core/Executor.cpp b/lib/Core/Executor.cpp index 325e28ab..bf359c2d 100644 --- a/lib/Core/Executor.cpp +++ b/lib/Core/Executor.cpp @@ -1772,14 +1772,8 @@ void Executor::executeCall(ExecutionState &state, KInstruction *ki, Function *f, return; } - // __cxa_throw & _rethrow are already handled in their - // SpecialFunctionHandlers and have already been redirected to their unwind - // destinations, so we must not transfer them to their regular targets. if (InvokeInst *ii = dyn_cast(i)) { - if (f->getName() != std::string("__cxa_throw") && - f->getName() != std::string("__cxa_rethrow")) { - transferToBasicBlock(ii->getNormalDest(), i->getParent(), state); - } + transferToBasicBlock(ii->getNormalDest(), i->getParent(), state); } } else { // Check if maximum stack size was reached. -- cgit 1.4.1