From 79237753a1e9cbe653e5763ffd61f3cb5b8759c1 Mon Sep 17 00:00:00 2001 From: Cristian Cadar Date: Wed, 2 Jan 2013 15:49:34 +0000 Subject: Patch by Tomasz Kuchta adding more detailed information on query failures. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@171391 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/klee/IncompleteSolver.h | 2 +- include/klee/Solver.h | 6 ------ include/klee/SolverImpl.h | 17 +++++++++++++++-- 3 files changed, 16 insertions(+), 9 deletions(-) (limited to 'include') diff --git a/include/klee/IncompleteSolver.h b/include/klee/IncompleteSolver.h index 38ee4e28..9a122c74 100644 --- a/include/klee/IncompleteSolver.h +++ b/include/klee/IncompleteSolver.h @@ -101,7 +101,7 @@ public: const std::vector &objects, std::vector< std::vector > &values, bool &hasSolution); - bool hasTimeoutOccurred(); + SolverRunStatus getOperationStatusCode(); }; } diff --git a/include/klee/Solver.h b/include/klee/Solver.h index 94e7d477..9e05967d 100644 --- a/include/klee/Solver.h +++ b/include/klee/Solver.h @@ -226,12 +226,6 @@ namespace klee { /// fails. Solver *createDummySolver(); - enum SolverRunStatus { SOLVER_RUN_STATUS_SUCCESS, - SOLVER_RUN_STATUS_TIMEOUT, - SOLVER_RUN_STATUS_FORK_FAILED, - SOLVER_RUN_STATUS_INTERRUPTED, - SOLVER_RUN_STATUS_UNEXPECTED_EXIT_CODE, - SOLVER_RUN_STATUS_WAITPID_FAILED }; } #endif diff --git a/include/klee/SolverImpl.h b/include/klee/SolverImpl.h index 080dfc54..09be849b 100644 --- a/include/klee/SolverImpl.h +++ b/include/klee/SolverImpl.h @@ -28,6 +28,15 @@ namespace klee { SolverImpl() {} virtual ~SolverImpl(); + enum SolverRunStatus { SOLVER_RUN_STATUS_SUCCESS_SOLVABLE, + SOLVER_RUN_STATUS_SUCCESS_UNSOLVABLE, + SOLVER_RUN_STATUS_FAILURE, + SOLVER_RUN_STATUS_TIMEOUT, + SOLVER_RUN_STATUS_FORK_FAILED, + SOLVER_RUN_STATUS_INTERRUPTED, + SOLVER_RUN_STATUS_UNEXPECTED_EXIT_CODE, + SOLVER_RUN_STATUS_WAITPID_FAILED }; + /// computeValidity - Compute a full validity result for the /// query. /// @@ -57,8 +66,12 @@ namespace klee { &values, bool &hasSolution) = 0; - /// haveTimeOutOccurred - retrieve timeout status for the last query. - virtual bool hasTimeoutOccurred() = 0; + /// getOperationStatusCode - get the status of the last solver operation + virtual SolverRunStatus getOperationStatusCode() = 0; + + /// getOperationStatusString - get string representation of the operation + /// status code + static const char* getOperationStatusString(SolverRunStatus statusCode); }; } -- cgit 1.4.1