Skip to content

Commit 2721f1d

Browse files
committed
Avoid Doxygen warnings for MiniSat and Glucose
Move the destructor to the non-template class.
1 parent 43b43ee commit 2721f1d

File tree

5 files changed

+32
-42
lines changed

5 files changed

+32
-42
lines changed

scripts/expected_doxygen_warnings.txt

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,3 @@
1-
/home/runner/work/cbmc/cbmc/src/solvers/sat/satcheck_glucose.cpp:246: warning: no matching class member found for
2-
template
3-
satcheck_glucose_baset< Glucose::Solver >::~satcheck_glucose_baset()
4-
5-
/home/runner/work/cbmc/cbmc/src/solvers/sat/satcheck_glucose.cpp:252: warning: no matching class member found for
6-
template
7-
satcheck_glucose_baset< Glucose::SimpSolver >::~satcheck_glucose_baset()
8-
9-
/home/runner/work/cbmc/cbmc/src/solvers/sat/satcheck_minisat2.cpp:313: warning: no matching class member found for
10-
template
11-
satcheck_minisat2_baset< Minisat::Solver >::~satcheck_minisat2_baset()
12-
13-
/home/runner/work/cbmc/cbmc/src/solvers/sat/satcheck_minisat2.cpp:319: warning: no matching class member found for
14-
template
15-
satcheck_minisat2_baset< Minisat::SimpSolver >::~satcheck_minisat2_baset()
16-
171
warning: Include graph for 'goto_instrument_parse_options.cpp' not generated, too many nodes (97), threshold is 60. Consider increasing DOT_GRAPH_MAX_NODES.
182
warning: Included by graph for 'goto_functions.h' not generated, too many nodes (66), threshold is 60. Consider increasing DOT_GRAPH_MAX_NODES.
193
warning: Included by graph for 'goto_model.h' not generated, too many nodes (111), threshold is 60. Consider increasing DOT_GRAPH_MAX_NODES.

src/solvers/sat/satcheck_glucose.cpp

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -249,18 +249,6 @@ satcheck_glucose_baset<T>::satcheck_glucose_baset(
249249
{
250250
}
251251

252-
template<>
253-
satcheck_glucose_baset<Glucose::Solver>::~satcheck_glucose_baset()
254-
{
255-
delete solver;
256-
}
257-
258-
template<>
259-
satcheck_glucose_baset<Glucose::SimpSolver>::~satcheck_glucose_baset()
260-
{
261-
delete solver;
262-
}
263-
264252
template<typename T>
265253
bool satcheck_glucose_baset<T>::is_in_conflict(literalt a) const
266254
{
@@ -293,6 +281,11 @@ satcheck_glucose_no_simplifiert::satcheck_glucose_no_simplifiert(
293281
{
294282
}
295283

284+
satcheck_glucose_no_simplifiert::~satcheck_glucose_no_simplifiert()
285+
{
286+
delete solver;
287+
}
288+
296289
satcheck_glucose_simplifiert::satcheck_glucose_simplifiert(
297290
message_handlert &message_handler)
298291
: satcheck_glucose_baset<Glucose::SimpSolver>(
@@ -301,6 +294,11 @@ satcheck_glucose_simplifiert::satcheck_glucose_simplifiert(
301294
{
302295
}
303296

297+
satcheck_glucose_simplifiert::~satcheck_glucose_simplifiert()
298+
{
299+
delete solver;
300+
}
301+
304302
void satcheck_glucose_simplifiert::set_frozen(literalt a)
305303
{
306304
try

src/solvers/sat/satcheck_glucose.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ class satcheck_glucose_baset : public cnf_solvert, public hardness_collectort
3030
{
3131
public:
3232
satcheck_glucose_baset(T *, message_handlert &message_handler);
33-
virtual ~satcheck_glucose_baset();
3433

3534
tvt l_get(literalt a) const override;
3635

@@ -68,6 +67,10 @@ class satcheck_glucose_baset : public cnf_solvert, public hardness_collectort
6867
}
6968

7069
protected:
70+
// This class needs to be inherited from, and inheriting classes need to
71+
// delete `solver` in their destructor.
72+
virtual ~satcheck_glucose_baset() = default;
73+
7174
resultt do_prop_solve() override;
7275

7376
T *solver;
@@ -83,6 +86,7 @@ class satcheck_glucose_no_simplifiert:
8386
{
8487
public:
8588
explicit satcheck_glucose_no_simplifiert(message_handlert &message_handler);
89+
~satcheck_glucose_no_simplifiert() override;
8690
const std::string solver_text() override;
8791
};
8892

@@ -91,6 +95,7 @@ class satcheck_glucose_simplifiert:
9195
{
9296
public:
9397
explicit satcheck_glucose_simplifiert(message_handlert &message_handler);
98+
~satcheck_glucose_simplifiert() override;
9499
const std::string solver_text() override;
95100
void set_frozen(literalt a) override;
96101
bool is_eliminated(literalt a) const;

src/solvers/sat/satcheck_minisat2.cpp

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -312,18 +312,6 @@ satcheck_minisat2_baset<T>::satcheck_minisat2_baset(
312312
{
313313
}
314314

315-
template<>
316-
satcheck_minisat2_baset<Minisat::Solver>::~satcheck_minisat2_baset()
317-
{
318-
delete solver;
319-
}
320-
321-
template<>
322-
satcheck_minisat2_baset<Minisat::SimpSolver>::~satcheck_minisat2_baset()
323-
{
324-
delete solver;
325-
}
326-
327315
template<typename T>
328316
bool satcheck_minisat2_baset<T>::is_in_conflict(literalt a) const
329317
{
@@ -359,6 +347,11 @@ satcheck_minisat_no_simplifiert::satcheck_minisat_no_simplifiert(
359347
{
360348
}
361349

350+
satcheck_minisat_no_simplifiert::~satcheck_minisat_no_simplifiert()
351+
{
352+
delete solver;
353+
}
354+
362355
satcheck_minisat_simplifiert::satcheck_minisat_simplifiert(
363356
message_handlert &message_handler)
364357
: satcheck_minisat2_baset<Minisat::SimpSolver>(
@@ -367,6 +360,11 @@ satcheck_minisat_simplifiert::satcheck_minisat_simplifiert(
367360
{
368361
}
369362

363+
satcheck_minisat_simplifiert::~satcheck_minisat_simplifiert()
364+
{
365+
delete solver;
366+
}
367+
370368
void satcheck_minisat_simplifiert::set_frozen(literalt a)
371369
{
372370
try

src/solvers/sat/satcheck_minisat2.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ class satcheck_minisat2_baset : public cnf_solvert, public hardness_collectort
3030
{
3131
public:
3232
satcheck_minisat2_baset(T *, message_handlert &message_handler);
33-
virtual ~satcheck_minisat2_baset();
3433

3534
tvt l_get(literalt a) const override final;
3635

@@ -79,6 +78,10 @@ class satcheck_minisat2_baset : public cnf_solvert, public hardness_collectort
7978
}
8079

8180
protected:
81+
// This class needs to be inherited from, and inheriting classes need to
82+
// delete `solver` in their destructor.
83+
virtual ~satcheck_minisat2_baset() = default;
84+
8285
resultt do_prop_solve() override;
8386

8487
T *solver;
@@ -95,6 +98,7 @@ class satcheck_minisat_no_simplifiert:
9598
{
9699
public:
97100
explicit satcheck_minisat_no_simplifiert(message_handlert &message_handler);
101+
~satcheck_minisat_no_simplifiert() override;
98102
const std::string solver_text() override;
99103
};
100104

@@ -103,6 +107,7 @@ class satcheck_minisat_simplifiert:
103107
{
104108
public:
105109
explicit satcheck_minisat_simplifiert(message_handlert &message_handler);
110+
~satcheck_minisat_simplifiert() override;
106111
const std::string solver_text() override final;
107112
void set_frozen(literalt a) override final;
108113
bool is_eliminated(literalt a) const;

0 commit comments

Comments
 (0)