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-10-07 12:42:16 +0200
committerDan Liew <delcypher@gmail.com>2017-06-01 11:36:09 +0100
commit4498d8c08511afa201cdedc9bb9b2fdfadab8384 (patch)
tree57c47c179d7d8f5b2c90539a332d9ef19971e4ce /lib/Solver
parentcf61b3fbc0ded07270ed5a58c637527812fe8dec (diff)
downloadklee-4498d8c08511afa201cdedc9bb9b2fdfadab8384.tar.gz
[Z3] Support another solver failure reason that Z3 might give. I'm going
to guess it means timeout but I'm not 100% sure about this.
Diffstat (limited to 'lib/Solver')
-rw-r--r--lib/Solver/Z3Solver.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Solver/Z3Solver.cpp b/lib/Solver/Z3Solver.cpp
index 1cbca566..06179f9c 100644
--- a/lib/Solver/Z3Solver.cpp
+++ b/lib/Solver/Z3Solver.cpp
@@ -280,7 +280,8 @@ SolverImpl::SolverRunStatus Z3SolverImpl::handleSolverResponse(
   case Z3_L_UNDEF: {
     ::Z3_string reason =
         ::Z3_solver_get_reason_unknown(builder->ctx, theSolver);
-    if (strcmp(reason, "timeout") == 0 || strcmp(reason, "canceled") == 0) {
+    if (strcmp(reason, "timeout") == 0 || strcmp(reason, "canceled") == 0 ||
+        strcmp(reason, "(resource limits reached)") == 0) {
       return SolverImpl::SOLVER_RUN_STATUS_TIMEOUT;
     }
     if (strcmp(reason, "unknown") == 0) {