3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-12 04:03:39 +00:00

remove default destructors & some default constructors

Another ~700 KB reduction in binary size
This commit is contained in:
Nuno Lopes 2024-09-04 22:30:23 +01:00
parent 0837e3b8e8
commit 8061765574
66 changed files with 22 additions and 131 deletions

View file

@ -41,8 +41,6 @@ public:
, m_ackr_helper(m) , m_ackr_helper(m)
{} {}
~imp() { }
// //
// Returns true iff model was successfully constructed. // Returns true iff model was successfully constructed.
// Conflicts are saved as a side effect. // Conflicts are saved as a side effect.

View file

@ -45,8 +45,6 @@ struct ast_pp_dot_st {
m_printed(), m_printed(),
m_to_print(), m_to_print(),
m_first(true) {} m_first(true) {}
~ast_pp_dot_st() {};
void push_term(const expr * a) { m_to_print.push_back(a); } void push_term(const expr * a) { m_to_print.push_back(a); }

View file

@ -47,7 +47,6 @@ namespace euf {
unsigned_vector eqs; // equality occurrences unsigned_vector eqs; // equality occurrences
unsigned root_id() const { return root->n->get_id(); } unsigned root_id() const { return root->n->get_id(); }
~node() {}
static node* mk(region& r, enode* n); static node* mk(region& r, enode* n);
}; };
@ -270,8 +269,6 @@ namespace euf {
ac_plugin(egraph& g, unsigned fid, unsigned op); ac_plugin(egraph& g, unsigned fid, unsigned op);
ac_plugin(egraph& g, func_decl* f); ac_plugin(egraph& g, func_decl* f);
~ac_plugin() override {}
theory_id get_id() const override { return m_fid; } theory_id get_id() const override { return m_fid; }

View file

@ -33,8 +33,6 @@ namespace euf {
public: public:
arith_plugin(egraph& g); arith_plugin(egraph& g);
~arith_plugin() override {}
theory_id get_id() const override { return a.get_family_id(); } theory_id get_id() const override { return a.get_family_id(); }
void register_node(enode* n) override; void register_node(enode* n) override;

View file

@ -95,8 +95,6 @@ namespace euf {
public: public:
bv_plugin(egraph& g); bv_plugin(egraph& g);
~bv_plugin() override {}
theory_id get_id() const override { return bv.get_family_id(); } theory_id get_id() const override { return bv.get_family_id(); }
void register_node(enode* n) override; void register_node(enode* n) override;

View file

@ -34,8 +34,6 @@ namespace euf {
public: public:
specrel_plugin(egraph& g); specrel_plugin(egraph& g);
~specrel_plugin() override {}
theory_id get_id() const override { return sp.get_family_id(); } theory_id get_id() const override { return sp.get_family_id(); }

View file

@ -26,8 +26,6 @@ label_rewriter::label_rewriter(ast_manager & m) :
m_label_fid(m.get_label_family_id()), m_label_fid(m.get_label_family_id()),
m_rwr(m, false, *this) {} m_rwr(m, false, *this) {}
label_rewriter::~label_rewriter() {}
br_status label_rewriter::reduce_app( br_status label_rewriter::reduce_app(
func_decl * f, unsigned num, expr * const * args, expr_ref & result, func_decl * f, unsigned num, expr * const * args, expr_ref & result,
proof_ref & result_pr) { proof_ref & result_pr) {

View file

@ -27,7 +27,6 @@ class label_rewriter : public default_rewriter_cfg {
rewriter_tpl<label_rewriter> m_rwr; rewriter_tpl<label_rewriter> m_rwr;
public: public:
label_rewriter(ast_manager & m); label_rewriter(ast_manager & m);
~label_rewriter();
br_status reduce_app(func_decl * f, unsigned num, expr * const * args, expr_ref & result, br_status reduce_app(func_decl * f, unsigned num, expr * const * args, expr_ref & result,
proof_ref & result_pr); proof_ref & result_pr);

View file

@ -346,8 +346,6 @@ public:
ast_manager & m() const { return this->m_manager; } ast_manager & m() const { return this->m_manager; }
Config & cfg() { return m_cfg; } Config & cfg() { return m_cfg; }
Config const & cfg() const { return m_cfg; } Config const & cfg() const { return m_cfg; }
~rewriter_tpl() override {};
void reset(); void reset();
void cleanup(); void cleanup();

View file

@ -375,8 +375,6 @@ public:
m_bv(m) m_bv(m)
{} {}
~reduce_args_simplifier() override {}
char const* name() const override { return "reduce-args"; } char const* name() const override { return "reduce-args"; }
void collect_statistics(statistics& st) const override { void collect_statistics(statistics& st) const override {

View file

@ -31,8 +31,6 @@ rule_properties::rule_properties(ast_manager & m, rule_manager& rm, context& ctx
m_dt(m), m_dl(m), m_a(m), m_bv(m), m_ar(m), m_rec(m), m_dt(m), m_dl(m), m_a(m), m_bv(m), m_ar(m), m_rec(m),
m_generate_proof(false), m_collected(false), m_is_monotone(true) {} m_generate_proof(false), m_collected(false), m_is_monotone(true) {}
rule_properties::~rule_properties() {}
void rule_properties::collect(rule_set const& rules) { void rule_properties::collect(rule_set const& rules) {
reset(); reset();
m_collected = true; m_collected = true;

View file

@ -58,7 +58,6 @@ namespace datalog {
bool check_accessor(app* n); bool check_accessor(app* n);
public: public:
rule_properties(ast_manager & m, rule_manager& rm, context& ctx, i_expr_pred& is_predicate); rule_properties(ast_manager & m, rule_manager& rm, context& ctx, i_expr_pred& is_predicate);
~rule_properties();
void set_generate_proof(bool generate_proof) { m_generate_proof = generate_proof; } void set_generate_proof(bool generate_proof) { m_generate_proof = generate_proof; }
void collect(rule_set const& r); void collect(rule_set const& r);
void check_quantifier_free(); void check_quantifier_free();

View file

@ -1443,8 +1443,6 @@ namespace datalog {
m_rule_trace(ctx.get_rule_manager()) { m_rule_trace(ctx.get_rule_manager()) {
} }
bmc::~bmc() {}
lbool bmc::query(expr* query) { lbool bmc::query(expr* query) {
m_solver = nullptr; m_solver = nullptr;
m_answer = nullptr; m_answer = nullptr;

View file

@ -51,8 +51,6 @@ namespace datalog {
public: public:
bmc(context& ctx); bmc(context& ctx);
~bmc() override;
lbool query(expr* query) override; lbool query(expr* query) override;
void display_certificate(std::ostream& out) const override; void display_certificate(std::ostream& out) const override;

View file

@ -59,8 +59,6 @@ namespace datalog {
m_fparams.m_mbqi = false; m_fparams.m_mbqi = false;
} }
~imp() {}
lbool query(expr* query) { lbool query(expr* query) {
m_ctx.ensure_opened(); m_ctx.ensure_opened();
m_solver.reset(); m_solver.reset();

View file

@ -78,8 +78,6 @@ namespace datalog {
m_descendants(DEFAULT_HASHTABLE_INITIAL_CAPACITY, m_hash, m_eq) { m_descendants(DEFAULT_HASHTABLE_INITIAL_CAPACITY, m_hash, m_eq) {
} }
~ddnf_node() {}
unsigned inc_ref() { unsigned inc_ref() {
return ++m_refs; return ++m_refs;
} }
@ -429,8 +427,6 @@ namespace datalog {
class ddnfs { class ddnfs {
u_map<ddnf_mgr*> m_mgrs; u_map<ddnf_mgr*> m_mgrs;
public: public:
ddnfs() {}
~ddnfs() { ~ddnfs() {
u_map<ddnf_mgr*>::iterator it = m_mgrs.begin(), end = m_mgrs.end(); u_map<ddnf_mgr*>::iterator it = m_mgrs.begin(), end = m_mgrs.end();
for (; it != end; ++it) { for (; it != end; ++it) {
@ -503,8 +499,6 @@ namespace datalog {
m_inner_ctx.updt_params(params); m_inner_ctx.updt_params(params);
} }
~imp() {}
lbool query(expr* query) { lbool query(expr* query) {
m_ctx.ensure_opened(); m_ctx.ensure_opened();
rule_set& old_rules = m_ctx.get_rules(); rule_set& old_rules = m_ctx.get_rules();

View file

@ -43,7 +43,6 @@ class lemma_expand_bnd_generalizer : public lemma_generalizer {
public: public:
lemma_expand_bnd_generalizer(context &ctx); lemma_expand_bnd_generalizer(context &ctx);
~lemma_expand_bnd_generalizer() override {}
void operator()(lemma_ref &lemma) override; void operator()(lemma_ref &lemma) override;

View file

@ -161,7 +161,6 @@ class lemma_global_generalizer : public lemma_generalizer {
public: public:
lemma_global_generalizer(context &ctx); lemma_global_generalizer(context &ctx);
~lemma_global_generalizer() override {}
void operator()(lemma_ref &lemma) override; void operator()(lemma_ref &lemma) override;

View file

@ -1354,8 +1354,6 @@ namespace datalog {
m_fparams.m_mbqi = false; m_fparams.m_mbqi = false;
} }
~imp() {}
lbool query(expr* query) { lbool query(expr* query) {
m_ctx.ensure_opened(); m_ctx.ensure_opened();
m_index.reset(); m_index.reset();

View file

@ -40,7 +40,6 @@ namespace datalog {
public: public:
mk_array_eq_rewrite(context & ctx, unsigned priority); mk_array_eq_rewrite(context & ctx, unsigned priority);
rule_set * operator()(rule_set const & source) override; rule_set * operator()(rule_set const & source) override;
~mk_array_eq_rewrite() override{}
}; };

View file

@ -112,7 +112,6 @@ namespace datalog {
public: public:
mk_array_instantiation(context & ctx, unsigned priority); mk_array_instantiation(context & ctx, unsigned priority);
rule_set * operator()(rule_set const & source) override; rule_set * operator()(rule_set const & source) override;
~mk_array_instantiation() override{}
}; };

View file

@ -27,8 +27,6 @@ namespace datalog {
m(ctx.get_manager()), m(ctx.get_manager()),
m_ctx(ctx) { m_ctx(ctx) {
} }
mk_backwards::~mk_backwards() { }
rule_set * mk_backwards::operator()(rule_set const & source) { rule_set * mk_backwards::operator()(rule_set const & source) {
context& ctx = source.get_context(); context& ctx = source.get_context();

View file

@ -27,7 +27,6 @@ namespace datalog {
context& m_ctx; context& m_ctx;
public: public:
mk_backwards(context & ctx, unsigned priority = 33000); mk_backwards(context & ctx, unsigned priority = 33000);
~mk_backwards() override;
rule_set * operator()(rule_set const & source) override; rule_set * operator()(rule_set const & source) override;
}; };

View file

@ -146,8 +146,6 @@ namespace datalog {
m_dst(nullptr) m_dst(nullptr)
{} {}
~expand_mkbv_cfg() {}
void set_src(rule_set const* src) { m_src = src; } void set_src(rule_set const* src) { m_src = src; }
void set_dst(rule_set* dst) { m_dst = dst; } void set_dst(rule_set* dst) { m_dst = dst; }
func_decl_ref_vector const& old_funcs() const { return m_old_funcs; } func_decl_ref_vector const& old_funcs() const { return m_old_funcs; }

View file

@ -80,8 +80,6 @@ namespace datalog {
rm(ctx.get_rule_manager()), rm(ctx.get_rule_manager()),
m_ground(m) {} m_ground(m) {}
mk_elim_term_ite::~mk_elim_term_ite() {}
/** /**
\brief map free variables in e to ground, fresh, constants \brief map free variables in e to ground, fresh, constants
m_ground is reset on every new rule so it is safe to assume m_ground is reset on every new rule so it is safe to assume

View file

@ -35,7 +35,6 @@ namespace datalog {
expr_ref ground(expr* e); expr_ref ground(expr* e);
public: public:
mk_elim_term_ite(context &ctx, unsigned priority); mk_elim_term_ite(context &ctx, unsigned priority);
~mk_elim_term_ite() override;
rule_set * operator()(const rule_set &source) override; rule_set * operator()(const rule_set &source) override;
}; };
} }

View file

@ -58,8 +58,6 @@ namespace datalog {
m_inner_ctx.updt_params(params); m_inner_ctx.updt_params(params);
} }
mk_karr_invariants::~mk_karr_invariants() { }
void matrix::display_row( void matrix::display_row(
std::ostream& out, vector<rational> const& row, rational const& b, bool is_eq) { std::ostream& out, vector<rational> const& row, rational const& b, bool is_eq) {
for (unsigned j = 0; j < row.size(); ++j) { for (unsigned j = 0; j < row.size(); ++j) {

View file

@ -62,8 +62,6 @@ namespace datalog {
rule_set* update_rules(rule_set const& src); rule_set* update_rules(rule_set const& src);
public: public:
mk_karr_invariants(context & ctx, unsigned priority); mk_karr_invariants(context & ctx, unsigned priority);
~mk_karr_invariants() override;
rule_set * operator()(rule_set const & source) override; rule_set * operator()(rule_set const & source) override;

View file

@ -30,8 +30,6 @@ namespace datalog {
m_refs(m) { m_refs(m) {
} }
mk_loop_counter::~mk_loop_counter() { }
app_ref mk_loop_counter::add_arg(rule_set const& src, rule_set& dst, app* fn, unsigned idx) { app_ref mk_loop_counter::add_arg(rule_set const& src, rule_set& dst, app* fn, unsigned idx) {
expr_ref_vector args(m); expr_ref_vector args(m);
func_decl* new_fn, *old_fn = fn->get_decl(); func_decl* new_fn, *old_fn = fn->get_decl();

View file

@ -35,7 +35,6 @@ namespace datalog {
app_ref del_arg(app* fn); app_ref del_arg(app* fn);
public: public:
mk_loop_counter(context & ctx, unsigned priority = 33000); mk_loop_counter(context & ctx, unsigned priority = 33000);
~mk_loop_counter() override;
rule_set * operator()(rule_set const & source) override; rule_set * operator()(rule_set const & source) override;

View file

@ -63,8 +63,6 @@ namespace datalog {
m(ctx.get_manager()), m(ctx.get_manager()),
m_ctx(ctx) { m_ctx(ctx) {
} }
mk_magic_symbolic::~mk_magic_symbolic() { }
rule_set * mk_magic_symbolic::operator()(rule_set const & source) { rule_set * mk_magic_symbolic::operator()(rule_set const & source) {
if (!m_ctx.magic()) { if (!m_ctx.magic()) {

View file

@ -29,7 +29,6 @@ namespace datalog {
app_ref mk_query(app* q); app_ref mk_query(app* q);
public: public:
mk_magic_symbolic(context & ctx, unsigned priority = 33037); mk_magic_symbolic(context & ctx, unsigned priority = 33037);
~mk_magic_symbolic() override;
rule_set * operator()(rule_set const & source) override; rule_set * operator()(rule_set const & source) override;
}; };

View file

@ -43,8 +43,6 @@ namespace mbp {
imp(ast_manager& m) : imp(ast_manager& m) :
m(m), a(m) {} m(m), a(m) {}
~imp() {}
void insert_mul(expr* x, rational const& v, obj_map<expr, rational>& ts) { void insert_mul(expr* x, rational const& v, obj_map<expr, rational>& ts) {
rational w; rational w;
if (ts.find(x, w)) if (ts.find(x, w))

View file

@ -1058,7 +1058,6 @@ namespace mbp {
scoped_ptr<contains_app> m_var; scoped_ptr<contains_app> m_var;
imp(ast_manager& m): m(m), a(m), m_stores(m) {} imp(ast_manager& m): m(m), a(m), m_stores(m) {}
~imp() {}
bool solve(model& model, app_ref_vector& vars, expr_ref_vector& lits) { bool solve(model& model, app_ref_vector& vars, expr_ref_vector& lits) {
return false; return false;

View file

@ -187,8 +187,6 @@ class term {
m_is_peq = is_partial_eq(to_app(m_expr)); m_is_peq = is_partial_eq(to_app(m_expr));
} }
~term() {}
class parents { class parents {
term const &t; term const &t;

View file

@ -558,7 +558,6 @@ namespace qe {
vector<div> m_divs; vector<div> m_divs;
public: public:
div_rewriter_cfg(nlqsat& s): m(s.m), a(s.m), m_zero(a.mk_real(0), m) {} div_rewriter_cfg(nlqsat& s): m(s.m), a(s.m), m_zero(a.mk_real(0), m) {}
~div_rewriter_cfg() {}
br_status reduce_app(func_decl* f, unsigned sz, expr* const* args, expr_ref& result, proof_ref& pr) { br_status reduce_app(func_decl* f, unsigned sz, expr* const* args, expr_ref& result, proof_ref& pr) {
rational r1, r(1); rational r1, r(1);
if (a.is_div(f) && sz == 2 && a.is_numeral(args[0], r1) && a.is_numeral(args[1], r) && !r.is_zero()) { if (a.is_div(f) && sz == 2 && a.is_numeral(args[0], r1) && a.is_numeral(args[1], r) && !r.is_zero()) {

View file

@ -58,7 +58,6 @@ namespace sat {
m_stack(std::move(stack)) { m_stack(std::move(stack)) {
m_counter = ++counter; m_counter = ++counter;
} }
~elim_stack() { }
void inc_ref() { ++m_refcount; } void inc_ref() { ++m_refcount; }
void dec_ref() { if (0 == --m_refcount) { dealloc(this); } } void dec_ref() { if (0 == --m_refcount) { dealloc(this); } }
elim_stackv const& stack() const { return m_stack; } elim_stackv const& stack() const { return m_stack; }

View file

@ -24,8 +24,6 @@ Notes:
namespace sat { namespace sat {
mus::mus(solver& s):s(s), m_is_active(false), m_max_num_restarts(UINT_MAX) {} mus::mus(solver& s):s(s), m_is_active(false), m_max_num_restarts(UINT_MAX) {}
mus::~mus() {}
void mus::reset() { void mus::reset() {
m_core.reset(); m_core.reset();

View file

@ -30,7 +30,6 @@ namespace sat {
public: public:
mus(solver& s); mus(solver& s);
~mus();
lbool operator()(); lbool operator()();
bool is_active() const { return m_is_active; } bool is_active() const { return m_is_active; }
model const& get_model() const { return m_model; } model const& get_model() const { return m_model; }

View file

@ -153,7 +153,6 @@ namespace arith {
public: public:
sls(solver& s); sls(solver& s);
~sls() override {}
void set(sat::ddfw* d); void set(sat::ddfw* d);
void init_search() override; void init_search() override;
void finish_search() override; void finish_search() override;

View file

@ -88,8 +88,6 @@ namespace array {
m_constraint->initialize(m_constraint.get(), this); m_constraint->initialize(m_constraint.get(), this);
} }
solver::~solver() {}
sat::check_result solver::check() { sat::check_result solver::check() {
force_push(); force_push();
// flet<bool> _is_redundant(m_is_redundant, true); // flet<bool> _is_redundant(m_is_redundant, true);

View file

@ -268,7 +268,6 @@ namespace array {
void validate_extensionality(euf::enode* s, euf::enode* t) const; void validate_extensionality(euf::enode* s, euf::enode* t) const;
public: public:
solver(euf::solver& ctx, theory_id id); solver(euf::solver& ctx, theory_id id);
~solver() override;
bool is_external(bool_var v) override { return false; } bool is_external(bool_var v) override { return false; }
void get_antecedents(literal l, sat::ext_justification_idx idx, literal_vector& r, bool probing) override {} void get_antecedents(literal l, sat::ext_justification_idx idx, literal_vector& r, bool probing) override {}
void asserted(literal l) override {} void asserted(literal l) override {}

View file

@ -103,8 +103,6 @@ namespace intblast {
public: public:
solver(euf::solver& ctx); solver(euf::solver& ctx);
~solver() override {}
lbool check_axiom(sat::literal_vector const& lits); lbool check_axiom(sat::literal_vector const& lits);
lbool check_core(sat::literal_vector const& lits, euf::enode_pair_vector const& eqs); lbool check_core(sat::literal_vector const& lits, euf::enode_pair_vector const& eqs);

View file

@ -67,8 +67,6 @@ namespace smt {
m_ge(ge) { m_ge(ge) {
} }
~arith_eq_relevancy_eh() override {}
void operator()(relevancy_propagator & rp) override { void operator()(relevancy_propagator & rp) override {
if (!rp.is_relevant(m_n1)) if (!rp.is_relevant(m_n1))
return; return;

View file

@ -223,8 +223,6 @@ namespace smt {
m_sort(s) { m_sort(s) {
} }
~node() {}
unsigned get_id() const { return m_id; } unsigned get_id() const { return m_id; }
sort* get_sort() const { return m_sort; } sort* get_sort() const { return m_sort; }

View file

@ -48,7 +48,6 @@ namespace smt {
expr * m_target; expr * m_target;
public: public:
simple_relevancy_eh(expr * t):m_target(t) {} simple_relevancy_eh(expr * t):m_target(t) {}
~simple_relevancy_eh() override {}
void operator()(relevancy_propagator & rp) override; void operator()(relevancy_propagator & rp) override;
}; };
@ -61,7 +60,6 @@ namespace smt {
expr * m_target; expr * m_target;
public: public:
pair_relevancy_eh(expr * s1, expr * s2, expr * t):m_source1(s1), m_source2(s2), m_target(t) {} pair_relevancy_eh(expr * s1, expr * s2, expr * t):m_source1(s1), m_source2(s2), m_target(t) {}
~pair_relevancy_eh() override {}
void operator()(relevancy_propagator & rp) override; void operator()(relevancy_propagator & rp) override;
}; };

View file

@ -134,7 +134,6 @@ namespace smt {
unsigned_vector m_limit; unsigned_vector m_limit;
public: public:
exclusion_table(ast_manager& m): m(m), m_lhs(m), m_rhs(m) {} exclusion_table(ast_manager& m): m(m), m_lhs(m), m_rhs(m) {}
~exclusion_table() { }
bool empty() const { return m_table.empty(); } bool empty() const { return m_table.empty(); }
void update(expr* e, expr* r); void update(expr* e, expr* r);
bool contains(expr* e, expr* r) const; bool contains(expr* e, expr* r) const;

View file

@ -38,7 +38,6 @@ class simplifier_solver : public solver {
model_reconstruction_trail m_reconstruction_trail; model_reconstruction_trail m_reconstruction_trail;
bool m_updated = false; bool m_updated = false;
dep_expr_state(simplifier_solver& s) :dependent_expr_state(s.m), s(s), m_reconstruction_trail(s.m, m_trail) {} dep_expr_state(simplifier_solver& s) :dependent_expr_state(s.m), s(s), m_reconstruction_trail(s.m, m_trail) {}
~dep_expr_state() override {}
unsigned qtail() const override { return s.m_fmls.size(); } unsigned qtail() const override { return s.m_fmls.size(); }
dependent_expr const& operator[](unsigned i) override { return s.m_fmls[i]; } dependent_expr const& operator[](unsigned i) override { return s.m_fmls[i]; }
void update(unsigned i, dependent_expr const& j) override { void update(unsigned i, dependent_expr const& j) override {

View file

@ -28,8 +28,6 @@ solver_na2as::solver_na2as(ast_manager & m):
m_assumptions(m) { m_assumptions(m) {
} }
solver_na2as::~solver_na2as() {}
void solver_na2as::assert_expr_core2(expr * t, expr * a) { void solver_na2as::assert_expr_core2(expr * t, expr * a) {
if (a == nullptr) { if (a == nullptr) {
assert_expr_core(t); assert_expr_core(t);

View file

@ -30,7 +30,6 @@ class solver_na2as : public solver {
void restore_assumptions(unsigned old_sz); void restore_assumptions(unsigned old_sz);
public: public:
solver_na2as(ast_manager & m); solver_na2as(ast_manager & m);
~solver_na2as() override;
void assert_expr_core2(expr * t, expr * a) override; void assert_expr_core2(expr * t, expr * a) override;

View file

@ -79,8 +79,6 @@ class nla2bv_tactic : public tactic {
m_default_bv_size = m_num_bits = p.get_uint("nla2bv_bv_size", 4); m_default_bv_size = m_num_bits = p.get_uint("nla2bv_bv_size", 4);
} }
~imp() {}
void updt_params(params_ref const& p) {} void updt_params(params_ref const& p) {}
void operator()(goal & g, model_converter_ref & mc) { void operator()(goal & g, model_converter_ref & mc) {

View file

@ -41,8 +41,6 @@ struct bv_bound_chk_rewriter_cfg : public default_rewriter_cfg {
bv_bound_chk_rewriter_cfg(ast_manager & m, bv_bound_chk_stats& stats) bv_bound_chk_rewriter_cfg(ast_manager & m, bv_bound_chk_stats& stats)
: m_m(m), m_b_rw(m), m_stats(stats) {} : m_m(m), m_b_rw(m), m_stats(stats) {}
~bv_bound_chk_rewriter_cfg() {}
void updt_params(params_ref const & _p) { void updt_params(params_ref const & _p) {
rewriter_params p(_p); rewriter_params p(_p);
m_bv_ineq_consistency_test_max = p.bv_ineq_consistency_test_max(); m_bv_ineq_consistency_test_max = p.bv_ineq_consistency_test_max();
@ -146,8 +144,6 @@ public:
imp(ast_manager & m, params_ref const & p, bv_bound_chk_stats& stats) imp(ast_manager & m, params_ref const & p, bv_bound_chk_stats& stats)
: m_rw(m, p, stats) { } : m_rw(m, p, stats) { }
virtual ~imp() = default;
ast_manager& m() { return m_rw.m(); } ast_manager& m() { return m_rw.m(); }
void operator()(goal_ref const & g) { void operator()(goal_ref const & g) {
@ -164,7 +160,7 @@ public:
m_rw.m_cfg.cleanup(); m_rw.m_cfg.cleanup();
} }
virtual void updt_params(params_ref const & p) { void updt_params(params_ref const & p) {
m_rw.updt_params(p); m_rw.updt_params(p);
} }

View file

@ -48,8 +48,6 @@ namespace {
r.insert("propagate-eq", CPK_BOOL, "propagate equalities from inequalities", "false"); r.insert("propagate-eq", CPK_BOOL, "propagate equalities from inequalities", "false");
} }
~bv_bounds_simplifier() override {}
bool assert_expr(expr * t, bool sign) override { bool assert_expr(expr * t, bool sign) override {
return assert_expr_core(t, sign); return assert_expr_core(t, sign);
} }

View file

@ -144,9 +144,8 @@ struct ctx_simplify_tactic::imp {
}; };
struct cache_cell { struct cache_cell {
expr * m_from; expr * m_from = nullptr;
cached_result * m_result; cached_result * m_result = nullptr;
cache_cell():m_from(nullptr), m_result(nullptr) {}
}; };
ast_manager & m; ast_manager & m;

View file

@ -117,8 +117,6 @@ public:
m_replace = mk_default_expr_replacer(m, false); m_replace = mk_default_expr_replacer(m, false);
} }
~imp() {}
void operator()(goal & g) { void operator()(goal & g) {
if (g.inconsistent()) if (g.inconsistent())
return; return;
@ -202,10 +200,10 @@ private:
// a |-> c1, b |-> c2 <c1,c2> |-> c // a |-> c1, b |-> c2 <c1,c2> |-> c
// //
struct u_pair { struct u_pair {
unsigned m_first; unsigned m_first = 0;
unsigned m_second; unsigned m_second = 0;
u_pair(unsigned f, unsigned s) : m_first(f), m_second(s) {} u_pair(unsigned f, unsigned s) : m_first(f), m_second(s) {}
u_pair(): m_first(0), m_second(0) {} u_pair() = default;
struct hash { struct hash {
unsigned operator()(u_pair const& p) const { unsigned operator()(u_pair const& p) const {
@ -324,8 +322,6 @@ private:
class parents { class parents {
app_parents m_use_funs; app_parents m_use_funs;
public: public:
parents() {}
app_parents const& get_parents() { return m_use_funs; } app_parents const& get_parents() { return m_use_funs; }
void operator()(app* n) { void operator()(app* n) {

View file

@ -40,10 +40,9 @@ public:
}; };
private: private:
unsigned m_ref_count; unsigned m_ref_count = 0;
public: public:
probe():m_ref_count(0) {}
virtual ~probe() = default; virtual ~probe() = default;
void inc_ref() { ++m_ref_count; } void inc_ref() { ++m_ref_count; }

View file

@ -146,8 +146,6 @@ tactic * mk_trace_tactic(char const * tag) {
class fail_if_undecided_tactic : public skip_tactic { class fail_if_undecided_tactic : public skip_tactic {
public: public:
fail_if_undecided_tactic() {}
void operator()(goal_ref const & in, goal_ref_buffer& result) override { void operator()(goal_ref const & in, goal_ref_buffer& result) override {
if (!in->is_decided()) if (!in->is_decided())
throw tactic_exception("undecided"); throw tactic_exception("undecided");

View file

@ -32,10 +32,8 @@ class progress_callback;
typedef ptr_buffer<goal> goal_buffer; typedef ptr_buffer<goal> goal_buffer;
class tactic : public user_propagator::core { class tactic : public user_propagator::core {
unsigned m_ref_count; unsigned m_ref_count = 0;
public: public:
tactic():m_ref_count(0) {}
void inc_ref() { m_ref_count++; } void inc_ref() { m_ref_count++; }
void dec_ref() { SASSERT(m_ref_count > 0); m_ref_count--; if (m_ref_count == 0) dealloc(this); } void dec_ref() { SASSERT(m_ref_count > 0); m_ref_count--; if (m_ref_count == 0) dealloc(this); }

View file

@ -609,7 +609,7 @@ public:
struct key_value { struct key_value {
Key m_key; Key m_key;
Value m_value; Value m_value;
key_value() {} key_value() = default;
key_value(Key const & k):m_key(k) {} key_value(Key const & k):m_key(k) {}
key_value(Key const & k, Value const & v):m_key(k), m_value(v) {} key_value(Key const & k, Value const & v):m_key(k), m_value(v) {}
}; };

View file

@ -30,7 +30,7 @@ class optional {
} }
public: public:
optional() {} optional() = default;
explicit optional(const T & val) { explicit optional(const T & val) {
m_obj = alloc(T, val); m_obj = alloc(T, val);
@ -116,13 +116,13 @@ public:
*/ */
template<typename T> template<typename T>
class optional<T*> { class optional<T*> {
T * m_ptr; T * m_ptr = nullptr;
static optional m_undef; static optional m_undef;
public: public:
optional():m_ptr(nullptr) {} optional() = default;
explicit optional(T * val):m_ptr(val) {} explicit optional(T * val):m_ptr(val) {}

View file

@ -366,12 +366,11 @@ class params {
}; };
typedef std::pair<symbol, value> entry; typedef std::pair<symbol, value> entry;
svector<entry> m_entries; svector<entry> m_entries;
std::atomic<unsigned> m_ref_count; std::atomic<unsigned> m_ref_count = 0;
void del_value(entry & e); void del_value(entry & e);
void del_values(); void del_values();
public: public:
params():m_ref_count(0) {}
~params() { ~params() {
reset(); reset();
} }

View file

@ -23,13 +23,10 @@ Notes:
template<class T> template<class T>
class queue { class queue {
vector<T> m_elems; vector<T> m_elems;
unsigned m_head; unsigned m_head = 0;
unsigned m_capacity; unsigned m_capacity = 0;
public: public:
queue(): m_head(0), m_capacity(0) {}
void push(T const& t) { m_elems.push_back(t); } void push(T const& t) { m_elems.push_back(t); }
bool empty() const { bool empty() const {

View file

@ -41,8 +41,8 @@ public:
ADD_INITIALIZER('rational::initialize();') ADD_INITIALIZER('rational::initialize();')
ADD_FINALIZER('rational::finalize();') ADD_FINALIZER('rational::finalize();')
*/ */
rational() {} rational() = default;
rational(rational const & r) { m().set(m_val, r.m_val); } rational(rational const & r) { m().set(m_val, r.m_val); }
rational(rational&&) = default; rational(rational&&) = default;

View file

@ -21,7 +21,7 @@ Revision History:
#include "util/rational.h" #include "util/rational.h"
class s_integer { class s_integer {
int m_val; int m_val = 0;
static s_integer m_zero; static s_integer m_zero;
static s_integer m_one; static s_integer m_one;
static s_integer m_minus_one; static s_integer m_minus_one;
@ -41,7 +41,7 @@ public:
std::string to_string() const; std::string to_string() const;
public: public:
s_integer(): m_val(0) {} s_integer() = default;
explicit s_integer(int n):m_val(n) {} explicit s_integer(int n):m_val(n) {}
struct i64 {}; struct i64 {};
explicit s_integer(int64_t i, i64):m_val(static_cast<int>(i)) {} explicit s_integer(int64_t i, i64):m_val(static_cast<int>(i)) {}

View file

@ -29,9 +29,8 @@ class small_object_allocator {
static const unsigned NUM_SLOTS = (SMALL_OBJ_SIZE >> PTR_ALIGNMENT); static const unsigned NUM_SLOTS = (SMALL_OBJ_SIZE >> PTR_ALIGNMENT);
struct chunk { struct chunk {
chunk* m_next{ nullptr }; chunk* m_next{ nullptr };
char* m_curr{ nullptr }; char* m_curr = m_data;
char m_data[CHUNK_SIZE]; char m_data[CHUNK_SIZE];
chunk():m_curr(m_data) {}
}; };
chunk * m_chunks[NUM_SLOTS]; chunk * m_chunks[NUM_SLOTS];
void * m_free_list[NUM_SLOTS]; void * m_free_list[NUM_SLOTS];

View file

@ -1170,7 +1170,7 @@ public:
template<typename T> template<typename T>
class ptr_vector : public vector<T *, false> { class ptr_vector : public vector<T *, false> {
public: public:
ptr_vector():vector<T *, false>() {} ptr_vector() = default;
ptr_vector(unsigned s):vector<T *, false>(s) {} ptr_vector(unsigned s):vector<T *, false>(s) {}
ptr_vector(unsigned s, T * elem):vector<T *, false>(s, elem) {} ptr_vector(unsigned s, T * elem):vector<T *, false>(s, elem) {}
ptr_vector(unsigned s, T * const * data):vector<T *, false>(s, const_cast<T**>(data)) {} ptr_vector(unsigned s, T * const * data):vector<T *, false>(s, const_cast<T**>(data)) {}
@ -1190,7 +1190,7 @@ public:
template<typename T, typename SZ = unsigned> template<typename T, typename SZ = unsigned>
class svector : public vector<T, false, SZ> { class svector : public vector<T, false, SZ> {
public: public:
svector():vector<T, false, SZ>() {} svector() = default;
svector(SZ s):vector<T, false, SZ>(s) {} svector(SZ s):vector<T, false, SZ>(s) {}
svector(SZ s, T const & elem):vector<T, false, SZ>(s, elem) {} svector(SZ s, T const & elem):vector<T, false, SZ>(s, elem) {}
svector(SZ s, T const * data):vector<T, false, SZ>(s, data) {} svector(SZ s, T const * data):vector<T, false, SZ>(s, data) {}