about summary refs log tree commit diff homepage
path: root/lib/Basic/ConstructSolverChain.cpp
diff options
context:
space:
mode:
authorDan Liew <daniel.liew@imperial.ac.uk>2016-09-15 12:09:23 +0100
committerDan Liew <delcypher@gmail.com>2017-03-23 21:46:41 +0000
commit4530447c21353b5596b66a9fbb642409cda56f73 (patch)
tree094a516168e39166898887984cdb2cbed6762965 /lib/Basic/ConstructSolverChain.cpp
parenta40818cab8e1b2315ac40d2c2cb125fc422e8ed7 (diff)
downloadklee-4530447c21353b5596b66a9fbb642409cda56f73.tar.gz
Add `AssignmentValidatingSolver`. It's purpose is to check any computed
assignments against the corresponding `Query` object and check the
assignment evaluates correctly.

This can be switched on using `-debug-assignment-validating-solver`
on the command line.
Diffstat (limited to 'lib/Basic/ConstructSolverChain.cpp')
-rw-r--r--lib/Basic/ConstructSolverChain.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Basic/ConstructSolverChain.cpp b/lib/Basic/ConstructSolverChain.cpp
index 68e1b08b..d00fcec1 100644
--- a/lib/Basic/ConstructSolverChain.cpp
+++ b/lib/Basic/ConstructSolverChain.cpp
@@ -37,6 +37,9 @@ Solver *constructSolverChain(Solver *coreSolver,
                  baseSolverQuerySMT2LogPath.c_str());
   }
 
+  if (UseAssignmentValidatingSolver)
+    solver = createAssignmentValidatingSolver(solver);
+
   if (UseFastCexSolver)
     solver = createFastCexSolver(solver);