about summary refs log tree commit diff homepage
path: root/tools
diff options
context:
space:
mode:
authorCristian Cadar <c.cadar@imperial.ac.uk>2015-02-10 13:29:11 +0000
committerCristian Cadar <c.cadar@imperial.ac.uk>2015-02-10 13:29:11 +0000
commita743d7072d9ccf11f96e3df45f25ad07da6ad9d6 (patch)
tree19e77dd4a3eb6bc4102eb59a136ead47b537c372 /tools
parentad4f23ac1b1faa561d199b27e041e1a1afa3adcb (diff)
downloadklee-a743d7072d9ccf11f96e3df45f25ad07da6ad9d6.tar.gz
Merged @luckyluke's change for detecting overflow of unsigned add, sub
and mul operations.  Refactored tests into two main cases, and
disabled them on LLVM 2.9, which does not support -fsanitized=*signed-integer-overflow.
Diffstat (limited to 'tools')
-rw-r--r--tools/klee/main.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/tools/klee/main.cpp b/tools/klee/main.cpp
index 23c07f03..8a246685 100644
--- a/tools/klee/main.cpp
+++ b/tools/klee/main.cpp
@@ -765,6 +765,10 @@ static const char *modelledExternals[] = {
   "_Znwj", 
   "_Znam", 
   "_Znwm", 
+  "__ubsan_handle_add_overflow",
+  "__ubsan_handle_sub_overflow",
+  "__ubsan_handle_mul_overflow",
+  "__ubsan_handle_divrem_overflow",
 };
 // Symbols we aren't going to warn about
 static const char *dontCareExternals[] = {