From d026e99496355647665af965e27d8baf244e62d3 Mon Sep 17 00:00:00 2001 From: Cristian Cadar Date: Fri, 13 Feb 2015 18:20:30 +0000 Subject: Revert "Merged @luckyluke's change for detecting overflow of unsigned add, sub" Will redo the merge to preserve original commits. This reverts commit a743d7072d9ccf11f96e3df45f25ad07da6ad9d6. --- lib/Core/SpecialFunctionHandler.cpp | 39 ------------------------------------- lib/Core/SpecialFunctionHandler.h | 4 ---- 2 files changed, 43 deletions(-) (limited to 'lib/Core') diff --git a/lib/Core/SpecialFunctionHandler.cpp b/lib/Core/SpecialFunctionHandler.cpp index 43185511..59e269cb 100644 --- a/lib/Core/SpecialFunctionHandler.cpp +++ b/lib/Core/SpecialFunctionHandler.cpp @@ -108,12 +108,6 @@ static SpecialFunctionHandler::HandlerInfo handlerInfo[] = { // operator new(unsigned long) add("_Znwm", handleNew, true), - // clang -fsanitize=unsigned-integer-overflow - add("__ubsan_handle_add_overflow", handleAddOverflow, false), - add("__ubsan_handle_sub_overflow", handleSubOverflow, false), - add("__ubsan_handle_mul_overflow", handleMulOverflow, false), - add("__ubsan_handle_divrem_overflow", handleDivRemOverflow, false), - #undef addDNR #undef add }; @@ -713,36 +707,3 @@ void SpecialFunctionHandler::handleMarkGlobal(ExecutionState &state, mo->isGlobal = true; } } - -void SpecialFunctionHandler::handleAddOverflow(ExecutionState &state, - KInstruction *target, - std::vector > &arguments) { - executor.terminateStateOnError(state, - "overflow on unsigned addition", - "overflow.err"); -} - -void SpecialFunctionHandler::handleSubOverflow(ExecutionState &state, - KInstruction *target, - std::vector > &arguments) { - executor.terminateStateOnError(state, - "overflow on unsigned subtraction", - "overflow.err"); -} - -void SpecialFunctionHandler::handleMulOverflow(ExecutionState &state, - KInstruction *target, - std::vector > &arguments) { - executor.terminateStateOnError(state, - "overflow on unsigned multiplication", - "overflow.err"); -} - -void SpecialFunctionHandler::handleDivRemOverflow(ExecutionState &state, - KInstruction *target, - std::vector > &arguments) { - executor.terminateStateOnError(state, - "overflow on division or remainder", - "overflow.err"); -} - diff --git a/lib/Core/SpecialFunctionHandler.h b/lib/Core/SpecialFunctionHandler.h index d52b8fc5..f68c6edb 100644 --- a/lib/Core/SpecialFunctionHandler.h +++ b/lib/Core/SpecialFunctionHandler.h @@ -132,10 +132,6 @@ namespace klee { HANDLER(handleUnderConstrained); HANDLER(handleWarning); HANDLER(handleWarningOnce); - HANDLER(handleAddOverflow); - HANDLER(handleMulOverflow); - HANDLER(handleSubOverflow); - HANDLER(handleDivRemOverflow); #undef HANDLER }; } // End klee namespace -- cgit 1.4.1