diff options
Diffstat (limited to 'lib/Core/SpecialFunctionHandler.cpp')
-rw-r--r-- | lib/Core/SpecialFunctionHandler.cpp | 37 |
1 files changed, 1 insertions, 36 deletions
diff --git a/lib/Core/SpecialFunctionHandler.cpp b/lib/Core/SpecialFunctionHandler.cpp index 2b788d60..f4b09f36 100644 --- a/lib/Core/SpecialFunctionHandler.cpp +++ b/lib/Core/SpecialFunctionHandler.cpp @@ -32,7 +32,7 @@ #include "llvm/IR/Instructions.h" #include "llvm/IR/Module.h" -#include <errno.h> +#include <cerrno> #include <sstream> using namespace llvm; @@ -139,13 +139,6 @@ static SpecialFunctionHandler::HandlerInfo handlerInfo[] = { // operator new(unsigned long) add("_Znwm", handleNew, true), - // Run clang with -fsanitize=signed-integer-overflow and/or - // -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 }; @@ -878,31 +871,3 @@ void SpecialFunctionHandler::handleMarkGlobal(ExecutionState &state, mo->isGlobal = true; } } - -void SpecialFunctionHandler::handleAddOverflow( - ExecutionState &state, KInstruction *target, - std::vector<ref<Expr>> &arguments) { - executor.terminateStateOnError(state, "overflow on addition", - StateTerminationType::Overflow); -} - -void SpecialFunctionHandler::handleSubOverflow( - ExecutionState &state, KInstruction *target, - std::vector<ref<Expr>> &arguments) { - executor.terminateStateOnError(state, "overflow on subtraction", - StateTerminationType::Overflow); -} - -void SpecialFunctionHandler::handleMulOverflow( - ExecutionState &state, KInstruction *target, - std::vector<ref<Expr>> &arguments) { - executor.terminateStateOnError(state, "overflow on multiplication", - StateTerminationType::Overflow); -} - -void SpecialFunctionHandler::handleDivRemOverflow( - ExecutionState &state, KInstruction *target, - std::vector<ref<Expr>> &arguments) { - executor.terminateStateOnError(state, "overflow on division or remainder", - StateTerminationType::Overflow); -} |