about summary refs log tree commit diff homepage
path: root/lib/Solver
diff options
context:
space:
mode:
authorDan Liew <daniel.liew@imperial.ac.uk>2016-04-11 08:19:02 -0500
committerDan Liew <daniel.liew@imperial.ac.uk>2016-09-15 13:09:43 +0100
commitd34a946acb7f5155ee62f1bdc95ae7ef7b848e49 (patch)
tree39e700b83f73e05223adf1727339f39119b4869a /lib/Solver
parent746c25599f75088c3b4d02fe51e4240b0079781c (diff)
downloadklee-d34a946acb7f5155ee62f1bdc95ae7ef7b848e49.tar.gz
Add ``-debug-cross-check-core-solver`` option to allow cross-checking
with another solver. For example the core solver can be STP and the
cross checking solver can be Z3.

Unfortunately a few fragile tests don't pass when actually using this
option.
Diffstat (limited to 'lib/Solver')
-rw-r--r--lib/Solver/CoreSolver.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Solver/CoreSolver.cpp b/lib/Solver/CoreSolver.cpp
index 66328f30..783047f8 100644
--- a/lib/Solver/CoreSolver.cpp
+++ b/lib/Solver/CoreSolver.cpp
@@ -83,11 +83,15 @@ Solver *createCoreSolver(CoreSolverType cst) {
     return createDummySolver();
   case Z3_SOLVER:
 #ifdef ENABLE_Z3
+    llvm::errs() << "Using Z3 solver backend\n";
     return new Z3Solver();
 #else
     llvm::errs() << "Not compiled with Z3 support\n";
     return NULL;
 #endif
+  case NO_SOLVER:
+    llvm::errs() << "Invalid solver\n";
+    return NULL;
   default:
     llvm_unreachable("Unsupported CoreSolverType");
   }