diff options
author | Daniel Schemmel <daniel@schemmel.net> | 2023-03-24 00:59:02 +0000 |
---|---|---|
committer | Cristian Cadar <c.cadar@imperial.ac.uk> | 2023-04-21 13:07:31 +0100 |
commit | 3a8fe1c957b74d087471db3e2fab6cf27acf26d4 (patch) | |
tree | 67ed55641e20041961a2a4e235625892e2afaab0 | |
parent | 9953e9901ff9cf68e26745c2aa6ef10de610c66d (diff) | |
download | klee-3a8fe1c957b74d087471db3e2fab6cf27acf26d4.tar.gz |
use unique_ptr in StagedSolverImpl
-rw-r--r-- | include/klee/Solver/IncompleteSolver.h | 7 | ||||
-rw-r--r-- | lib/Solver/IncompleteSolver.cpp | 5 |
2 files changed, 4 insertions, 8 deletions
diff --git a/include/klee/Solver/IncompleteSolver.h b/include/klee/Solver/IncompleteSolver.h index 3841c38b..b8ef1929 100644 --- a/include/klee/Solver/IncompleteSolver.h +++ b/include/klee/Solver/IncompleteSolver.h @@ -13,6 +13,8 @@ #include "klee/Solver/Solver.h" #include "klee/Solver/SolverImpl.h" +#include <memory> + namespace klee { /// IncompleteSolver - Base class for incomplete solver @@ -87,12 +89,11 @@ public: /// solver. class StagedSolverImpl : public SolverImpl { private: - IncompleteSolver *primary; - Solver *secondary; + std::unique_ptr<IncompleteSolver> primary; + std::unique_ptr<Solver> secondary; public: StagedSolverImpl(IncompleteSolver *_primary, Solver *_secondary); - ~StagedSolverImpl(); bool computeTruth(const Query&, bool &isValid); bool computeValidity(const Query&, Solver::Validity &result); diff --git a/lib/Solver/IncompleteSolver.cpp b/lib/Solver/IncompleteSolver.cpp index 9b57bc6c..a9035eda 100644 --- a/lib/Solver/IncompleteSolver.cpp +++ b/lib/Solver/IncompleteSolver.cpp @@ -64,11 +64,6 @@ StagedSolverImpl::StagedSolverImpl(IncompleteSolver *_primary, secondary(_secondary) { } -StagedSolverImpl::~StagedSolverImpl() { - delete primary; - delete secondary; -} - bool StagedSolverImpl::computeTruth(const Query& query, bool &isValid) { IncompleteSolver::PartialValidity trueResult = primary->computeTruth(query); |