Skip to content

Commit 3485803

Browse files
fixup! Stop propt inheriting from messaget
1 parent f0d4e31 commit 3485803

File tree

7 files changed

+30
-21
lines changed

7 files changed

+30
-21
lines changed

src/cbmc/cbmc_solvers.cpp

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -67,15 +67,14 @@ std::unique_ptr<cbmc_solverst::solvert> cbmc_solverst::get_default()
6767
!options.get_bool_option("sat-preprocessor")) // no simplifier
6868
{
6969
// simplifier won't work with beautification
70-
solver->set_prop(util_make_unique<satcheck_no_simplifiert>());
70+
solver->set_prop(
71+
util_make_unique<satcheck_no_simplifiert>(message_handler));
7172
}
7273
else // with simplifier
7374
{
74-
solver->set_prop(util_make_unique<satcheckt>());
75+
solver->set_prop(util_make_unique<satcheckt>(message_handler));
7576
}
7677

77-
solver->prop().set_message_handler(message_handler);
78-
7978
auto bv_pointers = util_make_unique<bv_pointerst>(ns, solver->prop());
8079

8180
if(options.get_option("arrays-uf")=="never")
@@ -93,11 +92,8 @@ std::unique_ptr<cbmc_solverst::solvert> cbmc_solverst::get_dimacs()
9392
no_beautification();
9493
no_incremental_check();
9594

96-
auto prop=util_make_unique<dimacs_cnft>();
97-
prop->set_message_handler(message_handler);
98-
95+
auto prop = util_make_unique<dimacs_cnft>(message_handler);
9996
std::string filename=options.get_option("outfile");
100-
10197
auto bv_dimacs = util_make_unique<bv_dimacst>(ns, *prop, filename);
10298
return util_make_unique<solvert>(std::move(bv_dimacs), std::move(prop));
10399
}
@@ -110,13 +106,11 @@ std::unique_ptr<cbmc_solverst::solvert> cbmc_solverst::get_bv_refinement()
110106
if(options.get_bool_option("sat-preprocessor"))
111107
{
112108
no_beautification();
113-
return util_make_unique<satcheckt>();
109+
return util_make_unique<satcheckt>(message_handler);
114110
}
115-
return util_make_unique<satcheck_no_simplifiert>();
111+
return util_make_unique<satcheck_no_simplifiert>(message_handler);
116112
}();
117113

118-
prop->set_message_handler(message_handler);
119-
120114
bv_refinementt::infot info;
121115
info.ns=&ns;
122116
info.prop=prop.get();
@@ -142,8 +136,7 @@ std::unique_ptr<cbmc_solverst::solvert> cbmc_solverst::get_string_refinement()
142136
{
143137
string_refinementt::infot info;
144138
info.ns=&ns;
145-
auto prop=util_make_unique<satcheck_no_simplifiert>();
146-
prop->set_message_handler(message_handler);
139+
auto prop = util_make_unique<satcheck_no_simplifiert>(message_handler);
147140
info.prop=prop.get();
148141
info.refinement_bound=DEFAULT_MAX_NB_REFINEMENT;
149142
info.output_xml = output_xml_in_refinement;

src/solvers/prop/prop.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -117,11 +117,6 @@ class propt
117117
message.warning() << "CPU limit ignored (not implemented)" << messaget::eom;
118118
}
119119

120-
void set_message_handler(message_handlert &message_handler)
121-
{
122-
message.set_message_handler(message_handler);
123-
}
124-
125120
protected:
126121
// to avoid a temporary for lcnf(...)
127122
bvt lcnf_bv;

src/solvers/sat/dimacs_cnf.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ dimacs_cnft::dimacs_cnft():break_lines(false)
1919
{
2020
}
2121

22+
dimacs_cnft::dimacs_cnft(message_handlert &message_handler) : dimacs_cnft()
23+
{
24+
message.set_message_handler(message_handler);
25+
}
26+
2227
void dimacs_cnft::set_assignment(literalt, bool)
2328
{
2429
UNIMPLEMENTED;

src/solvers/sat/dimacs_cnf.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ class dimacs_cnft:public cnf_clause_listt
1818
{
1919
public:
2020
dimacs_cnft();
21+
explicit dimacs_cnft(message_handlert &);
2122
virtual ~dimacs_cnft() { }
2223

2324
virtual void write_dimacs_cnf(std::ostream &out);

src/solvers/sat/satcheck_minisat2.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,11 +343,25 @@ satcheck_minisat_no_simplifiert::satcheck_minisat_no_simplifiert():
343343
{
344344
}
345345

346+
satcheck_minisat_no_simplifiert::satcheck_minisat_no_simplifiert(
347+
message_handlert &message_handler)
348+
: satcheck_minisat_no_simplifiert()
349+
{
350+
message.set_message_handler(message_handler);
351+
}
352+
346353
satcheck_minisat_simplifiert::satcheck_minisat_simplifiert():
347354
satcheck_minisat2_baset<Minisat::SimpSolver>(new Minisat::SimpSolver)
348355
{
349356
}
350357

358+
satcheck_minisat_simplifiert::satcheck_minisat_simplifiert(
359+
message_handlert &message_handler)
360+
: satcheck_minisat_simplifiert()
361+
{
362+
message.set_message_handler(message_handler);
363+
}
364+
351365
void satcheck_minisat_simplifiert::set_frozen(literalt a)
352366
{
353367
try

src/solvers/sat/satcheck_minisat2.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ class satcheck_minisat_no_simplifiert:
7070
{
7171
public:
7272
satcheck_minisat_no_simplifiert();
73+
explicit satcheck_minisat_no_simplifiert(message_handlert &message_handler);
7374
virtual const std::string solver_text();
7475
};
7576

@@ -78,6 +79,7 @@ class satcheck_minisat_simplifiert:
7879
{
7980
public:
8081
satcheck_minisat_simplifiert();
82+
explicit satcheck_minisat_simplifiert(message_handlert &message_handler);
8183
virtual const std::string solver_text() final;
8284
virtual void set_frozen(literalt a) final;
8385
bool is_eliminated(literalt a) const;

src/solvers/smt2/smt2_solver.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -227,9 +227,8 @@ int solver(std::istream &in)
227227
// this is our default verbosity
228228
message_handler.set_verbosity(messaget::M_STATISTICS);
229229

230-
satcheckt satcheck;
230+
satcheckt satcheck(message_handler);
231231
boolbvt boolbv(ns, satcheck);
232-
satcheck.set_message_handler(message_handler);
233232
boolbv.set_message_handler(message_handler);
234233

235234
smt2_solvert smt2_solver(in, boolbv);

0 commit comments

Comments
 (0)