mirror of
https://github.com/Z3Prover/z3
synced 2026-01-18 16:28:56 +00:00
Replace empty destructors with = default for compiler optimization (#8189)
* Initial plan * Replace empty destructors with = default Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
This commit is contained in:
parent
a0bca2b71a
commit
7377d28c30
36 changed files with 34 additions and 55 deletions
|
|
@ -35,7 +35,7 @@ protected:
|
|||
|
||||
public:
|
||||
iexpr_inverter(ast_manager& m): m(m) {}
|
||||
virtual ~iexpr_inverter() {}
|
||||
virtual ~iexpr_inverter() = default;
|
||||
virtual void set_is_var(std::function<bool(expr*)>& is_var) { m_is_var = is_var; }
|
||||
virtual void set_model_converter(generic_model_converter* mc) { m_mc = mc; }
|
||||
virtual void set_produce_proofs(bool p) { m_produce_proofs = true; }
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ namespace euf {
|
|||
g(g)
|
||||
{}
|
||||
|
||||
virtual ~plugin() {}
|
||||
virtual ~plugin() = default;
|
||||
|
||||
virtual theory_id get_id() const = 0;
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ Author:
|
|||
|
||||
class bv2int_translator_trail {
|
||||
public:
|
||||
virtual ~bv2int_translator_trail() {}
|
||||
virtual ~bv2int_translator_trail() = default;
|
||||
virtual void push(push_back_vector<expr_ref_vector> const& c) = 0;
|
||||
virtual void push(push_back_vector<ptr_vector<app>> const& c) = 0;
|
||||
virtual void push_idx(set_vector_idx_trail<expr_ref_vector> const& c) = 0;
|
||||
|
|
|
|||
|
|
@ -25,8 +25,7 @@ public:
|
|||
updt_params(p);
|
||||
}
|
||||
|
||||
~dom_bv_bounds_simplifier() override {
|
||||
}
|
||||
~dom_bv_bounds_simplifier() override = default;
|
||||
|
||||
void updt_params(params_ref const & p) override {
|
||||
m_propagate_eq = p.get_bool("propagate_eq", false);
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ class dependent_expr_state {
|
|||
};
|
||||
public:
|
||||
dependent_expr_state(ast_manager& m) : m_frozen_trail(m) {}
|
||||
virtual ~dependent_expr_state() {}
|
||||
virtual ~dependent_expr_state() = default;
|
||||
unsigned qhead() const { return m_qhead; }
|
||||
virtual unsigned qtail() const = 0;
|
||||
virtual dependent_expr const& operator[](unsigned i) = 0;
|
||||
|
|
@ -227,7 +227,7 @@ protected:
|
|||
proof* tr(proof* a, proof* b) { return m.mk_transitivity(a, b); }
|
||||
public:
|
||||
dependent_expr_simplifier(ast_manager& m, dependent_expr_state& s) : m(m), m_fmls(s), m_trail(s.m_trail) {}
|
||||
virtual ~dependent_expr_simplifier() {}
|
||||
virtual ~dependent_expr_simplifier() = default;
|
||||
virtual char const* name() const = 0;
|
||||
virtual void push() { }
|
||||
virtual void pop(unsigned n) { }
|
||||
|
|
|
|||
|
|
@ -140,9 +140,6 @@ namespace euf {
|
|||
|
||||
}
|
||||
|
||||
completion::~completion() {
|
||||
}
|
||||
|
||||
bool completion::should_stop() {
|
||||
return
|
||||
!m.inc() ||
|
||||
|
|
|
|||
|
|
@ -226,7 +226,7 @@ namespace euf {
|
|||
bool is_gt(expr* a, expr* b) const;
|
||||
public:
|
||||
completion(ast_manager& m, dependent_expr_state& fmls);
|
||||
~completion() override;
|
||||
~completion() override = default;
|
||||
char const* name() const override { return "euf-completion"; }
|
||||
void push() override;
|
||||
void pop(unsigned n) override;
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ namespace euf {
|
|||
|
||||
class extract_eq {
|
||||
public:
|
||||
virtual ~extract_eq() {}
|
||||
virtual ~extract_eq() = default;
|
||||
virtual void get_eqs(dependent_expr const& e, dep_eq_vector& eqs) = 0;
|
||||
virtual void pre_process(dependent_expr_state& fmls) {}
|
||||
virtual void updt_params(params_ref const& p) {}
|
||||
|
|
|
|||
|
|
@ -32,9 +32,6 @@
|
|||
|
||||
namespace sat {
|
||||
|
||||
ddfw::~ddfw() {
|
||||
}
|
||||
|
||||
lbool ddfw::check(unsigned sz, literal const* assumptions) {
|
||||
init(sz, assumptions);
|
||||
if (m_plugin)
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ namespace sat {
|
|||
|
||||
class local_search_plugin {
|
||||
public:
|
||||
virtual ~local_search_plugin() {}
|
||||
virtual ~local_search_plugin() = default;
|
||||
virtual void on_rescale() = 0;
|
||||
virtual lbool on_save_model() = 0;
|
||||
virtual void on_restart() = 0;
|
||||
|
|
@ -225,7 +225,7 @@ namespace sat {
|
|||
|
||||
ddfw() {}
|
||||
|
||||
~ddfw();
|
||||
~ddfw() = default;
|
||||
|
||||
void set_plugin(local_search_plugin* p) { m_plugin = p; }
|
||||
|
||||
|
|
|
|||
|
|
@ -348,7 +348,7 @@ namespace sls {
|
|||
bool update_num(var_t v, num_t const& delta);
|
||||
public:
|
||||
arith_base(context& ctx);
|
||||
~arith_base() override {}
|
||||
~arith_base() override = default;
|
||||
void register_term(expr* e) override;
|
||||
bool set_value(expr* e, expr* v) override;
|
||||
expr_ref get_value(expr* e) override;
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ namespace sls {
|
|||
void init_backup();
|
||||
public:
|
||||
arith_plugin(context& ctx);
|
||||
~arith_plugin() override {}
|
||||
~arith_plugin() override = default;
|
||||
void register_term(expr* e) override;
|
||||
expr_ref get_value(expr* e) override;
|
||||
void start_propagation() override;
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@ namespace sls {
|
|||
|
||||
public:
|
||||
array_plugin(context& ctx);
|
||||
~array_plugin() override {}
|
||||
~array_plugin() override = default;
|
||||
void register_term(expr* e) override { if (a.is_array(e->get_sort())) m_has_arrays = true; }
|
||||
expr_ref get_value(expr* e) override;
|
||||
void initialize() override { m_g = nullptr; }
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ namespace sls {
|
|||
plugin(ctx) {
|
||||
m_fid = basic_family_id;
|
||||
}
|
||||
~basic_plugin() override {}
|
||||
~basic_plugin() override = default;
|
||||
void register_term(expr* e) override;
|
||||
expr_ref get_value(expr* e) override;
|
||||
void initialize() override;
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ namespace sls {
|
|||
|
||||
public:
|
||||
bv_plugin(context& ctx);
|
||||
~bv_plugin() override {}
|
||||
~bv_plugin() override = default;
|
||||
void register_term(expr* e) override;
|
||||
expr_ref get_value(expr* e) override;
|
||||
void start_propagation() override;
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ namespace sls {
|
|||
family_id m_fid;
|
||||
public:
|
||||
plugin(context& c);
|
||||
virtual ~plugin() {}
|
||||
virtual ~plugin() = default;
|
||||
virtual family_id fid() { return m_fid; }
|
||||
virtual void register_term(expr* e) = 0;
|
||||
virtual expr_ref get_value(expr* e) = 0;
|
||||
|
|
@ -65,7 +65,7 @@ namespace sls {
|
|||
|
||||
class sat_solver_context {
|
||||
public:
|
||||
virtual ~sat_solver_context() {}
|
||||
virtual ~sat_solver_context() = default;
|
||||
virtual vector<sat::clause_info> const& clauses() const = 0;
|
||||
virtual sat::clause_info const& get_clause(unsigned idx) const = 0;
|
||||
virtual ptr_iterator<unsigned> get_use_list(sat::literal lit) = 0;
|
||||
|
|
|
|||
|
|
@ -91,8 +91,6 @@ namespace sls {
|
|||
m_eval(m) {
|
||||
m_fid = dt.get_family_id();
|
||||
}
|
||||
|
||||
datatype_plugin::~datatype_plugin() {}
|
||||
|
||||
void datatype_plugin::collect_path_axioms() {
|
||||
expr* t = nullptr, *z = nullptr;
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ namespace sls {
|
|||
|
||||
public:
|
||||
datatype_plugin(context& c);
|
||||
~datatype_plugin() override;
|
||||
~datatype_plugin() override = default;
|
||||
family_id fid() override { return m_fid; }
|
||||
expr_ref get_value(expr* e) override;
|
||||
void initialize() override;
|
||||
|
|
|
|||
|
|
@ -33,8 +33,6 @@ namespace sls {
|
|||
m_values(8U, value_hash(*this), value_eq(*this)) {
|
||||
m_fid = user_sort_family_id;
|
||||
}
|
||||
|
||||
euf_plugin::~euf_plugin() {}
|
||||
|
||||
void euf_plugin::initialize() {
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ namespace sls {
|
|||
|
||||
public:
|
||||
euf_plugin(context& c);
|
||||
~euf_plugin() override;
|
||||
~euf_plugin() override = default;
|
||||
expr_ref get_value(expr* e) override;
|
||||
void initialize() override;
|
||||
void start_propagation() override;
|
||||
|
|
|
|||
|
|
@ -169,7 +169,7 @@ namespace sls {
|
|||
bool is_value(expr* e);
|
||||
public:
|
||||
seq_plugin(context& c);
|
||||
~seq_plugin() override {}
|
||||
~seq_plugin() override = default;
|
||||
expr_ref get_value(expr* e) override;
|
||||
void initialize() override;
|
||||
void start_propagation() override {}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ namespace sls {
|
|||
|
||||
class smt_context {
|
||||
public:
|
||||
virtual ~smt_context() {}
|
||||
virtual ~smt_context() = default;
|
||||
virtual ast_manager& get_manager() = 0;
|
||||
virtual params_ref get_params() = 0;
|
||||
virtual void set_value(expr* t, expr* v) = 0;
|
||||
|
|
|
|||
|
|
@ -140,10 +140,7 @@ namespace sls {
|
|||
|
||||
m_solver_ctx->updt_params(p);
|
||||
}
|
||||
|
||||
smt_solver::~smt_solver() {
|
||||
}
|
||||
|
||||
|
||||
void smt_solver::assert_expr(expr* e) {
|
||||
if (m.is_and(e)) {
|
||||
for (expr* arg : *to_app(e))
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ namespace sls {
|
|||
|
||||
public:
|
||||
smt_solver(ast_manager& m, params_ref const& p);
|
||||
~smt_solver();
|
||||
~smt_solver() = default;
|
||||
void assert_expr(expr* e);
|
||||
lbool check();
|
||||
model_ref get_model();
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ public:
|
|||
|
||||
class proof_cmds {
|
||||
public:
|
||||
virtual ~proof_cmds() {}
|
||||
virtual ~proof_cmds() = default;
|
||||
virtual void add_literal(expr* e) = 0;
|
||||
virtual void end_assumption() = 0;
|
||||
virtual void end_infer() = 0;
|
||||
|
|
|
|||
|
|
@ -136,9 +136,7 @@ public:
|
|||
void allocate_basis_heading();
|
||||
void init();
|
||||
|
||||
virtual ~lp_core_solver_base() {
|
||||
|
||||
}
|
||||
virtual ~lp_core_solver_base() = default;
|
||||
|
||||
vector<unsigned> & non_basis() {
|
||||
return m_nbasis;
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ class spacer_arith_kernel {
|
|||
public:
|
||||
class plugin {
|
||||
public:
|
||||
virtual ~plugin() {}
|
||||
virtual ~plugin() = default;
|
||||
virtual bool compute_kernel(const spacer_matrix &in_matrix,
|
||||
spacer_matrix &out_kernel,
|
||||
vector<unsigned> &basics) = 0;
|
||||
|
|
|
|||
|
|
@ -12,9 +12,6 @@ namespace mbp {
|
|||
euf_project_plugin::euf_project_plugin(ast_manager& m): project_plugin(m) {
|
||||
}
|
||||
|
||||
euf_project_plugin::~euf_project_plugin() {
|
||||
}
|
||||
|
||||
bool euf_project_plugin::project1(model& model, app* var, app_ref_vector& vars, expr_ref_vector& lits) {
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ namespace mbp {
|
|||
bool try_unify(term_graph& g, app* a, expr_ref_vector const& partitions, app_ref_vector& vars, vector<def>& defs);
|
||||
public:
|
||||
euf_project_plugin(ast_manager& m);
|
||||
~euf_project_plugin() override;
|
||||
~euf_project_plugin() override = default;
|
||||
|
||||
bool project1(model& model, app* var, app_ref_vector& vars, expr_ref_vector& lits) override;
|
||||
bool solve(model& model, app_ref_vector& vars, expr_ref_vector& lits) override { return false; }
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ namespace sat {
|
|||
|
||||
ddfw_wrapper() {}
|
||||
|
||||
~ddfw_wrapper() override {}
|
||||
~ddfw_wrapper() override = default;
|
||||
|
||||
void set_plugin(local_search_plugin* p) { m_ddfw.set_plugin(p); }
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ namespace sat {
|
|||
class clause;
|
||||
|
||||
struct clause_eh {
|
||||
virtual ~clause_eh() {}
|
||||
virtual ~clause_eh() = default;
|
||||
virtual void on_clause(unsigned, literal const*, status) = 0;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ namespace sat {
|
|||
|
||||
class proof_hint {
|
||||
public:
|
||||
virtual ~proof_hint() {}
|
||||
virtual ~proof_hint() = default;
|
||||
};
|
||||
|
||||
class status {
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ namespace euf {
|
|||
|
||||
class theory_checker_plugin {
|
||||
public:
|
||||
virtual ~theory_checker_plugin() {}
|
||||
virtual ~theory_checker_plugin() = default;
|
||||
virtual bool check(app* jst) = 0;
|
||||
virtual expr_ref_vector clause(app* jst) = 0;
|
||||
virtual void register_plugins(theory_checker& pc) = 0;
|
||||
|
|
|
|||
|
|
@ -35,9 +35,7 @@ namespace smt {
|
|||
bv(m),
|
||||
a(m)
|
||||
{}
|
||||
|
||||
theory_intblast::~theory_intblast() {}
|
||||
|
||||
|
||||
final_check_status theory_intblast::final_check_eh(unsigned) {
|
||||
for (auto e : m_translator.bv2int()) {
|
||||
auto* n = ctx.get_enode(e);
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ namespace smt {
|
|||
|
||||
public:
|
||||
theory_intblast(context& ctx);
|
||||
~theory_intblast() override;
|
||||
~theory_intblast() override = default;
|
||||
|
||||
char const* get_name() const override { return "bv-intblast"; }
|
||||
smt::theory* mk_fresh(context* new_ctx) override { return alloc(theory_intblast, *new_ctx); }
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ namespace smt {
|
|||
model_ref m_model;
|
||||
public:
|
||||
theory_sls(context& ctx);
|
||||
~theory_sls() override {}
|
||||
~theory_sls() override = default;
|
||||
model_ref get_model() { return m_model; }
|
||||
char const* get_name() const override { return "sls"; }
|
||||
smt::theory* mk_fresh(context* new_ctx) override { return alloc(theory_sls, *new_ctx); }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue