diff options
| author | Daniel Schemmel <daniel@schemmel.net> | 2023-03-24 15:05:43 +0000 |
|---|---|---|
| committer | Cristian Cadar <c.cadar@imperial.ac.uk> | 2023-04-21 13:07:31 +0100 |
| commit | ac0fa15ab0679fe1b5067b07647b0701ae3bc347 (patch) | |
| tree | f2294eb5f0795ee9ce0f92d527242b7b7a507e79 /lib/Solver/CexCachingSolver.cpp | |
| parent | e9d77be6c688836d68a2be5f3f0a02e63f392bb8 (diff) | |
| download | klee-ac0fa15ab0679fe1b5067b07647b0701ae3bc347.tar.gz | |
use unique_ptr all throughout the solver chain
Diffstat (limited to 'lib/Solver/CexCachingSolver.cpp')
| -rw-r--r-- | lib/Solver/CexCachingSolver.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/Solver/CexCachingSolver.cpp b/lib/Solver/CexCachingSolver.cpp index 28996a6a..dbbd3516 100644 --- a/lib/Solver/CexCachingSolver.cpp +++ b/lib/Solver/CexCachingSolver.cpp @@ -24,6 +24,7 @@ #include "llvm/Support/CommandLine.h" #include <memory> +#include <utility> using namespace klee; using namespace llvm; @@ -87,7 +88,8 @@ class CexCachingSolver : public SolverImpl { bool getAssignment(const Query& query, Assignment *&result); public: - CexCachingSolver(Solver *_solver) : solver(_solver) {} + CexCachingSolver(std::unique_ptr<Solver> solver) + : solver(std::move(solver)) {} ~CexCachingSolver(); bool computeTruth(const Query&, bool &isValid); @@ -384,6 +386,8 @@ void CexCachingSolver::setCoreSolverTimeout(time::Span timeout) { /// -Solver *klee::createCexCachingSolver(Solver *_solver) { - return new Solver(new CexCachingSolver(_solver)); +std::unique_ptr<Solver> +klee::createCexCachingSolver(std::unique_ptr<Solver> solver) { + return std::make_unique<Solver>( + std::make_unique<CexCachingSolver>(std::move(solver))); } |
