mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 09:05:31 +00:00
Add and fix a few general compiler warnings. (#5628)
* rewriter: fix unused variable warnings * cmake: make missing non-virtual dtors error * treewide: add missing virtual destructors * cmake: add a few more checks * api: add missing virtual destructor to user_propagator_base * examples: compile cpp example with compiler warnings * model: fix unused variable warnings * rewriter: fix logical-op-parentheses warnings * sat: fix unused variable warnings * smt: fix unused variable warnings
This commit is contained in:
parent
1d45a33163
commit
96671cfc73
39 changed files with 68 additions and 9 deletions
|
@ -1399,6 +1399,7 @@ inline bool has_labels(expr const * n) {
|
|||
class some_value_proc {
|
||||
public:
|
||||
virtual expr * operator()(sort * s) = 0;
|
||||
virtual ~some_value_proc() = default;
|
||||
};
|
||||
|
||||
// -----------------------------------
|
||||
|
|
|
@ -46,6 +46,7 @@ public:
|
|||
public:
|
||||
virtual bool operator()(func_decl* d) const { return false; }
|
||||
virtual bool operator()(sort* s) const { return false; }
|
||||
virtual ~is_declared() = default;
|
||||
};
|
||||
private:
|
||||
ast_manager& m_manager;
|
||||
|
|
|
@ -61,7 +61,7 @@ protected:
|
|||
public:
|
||||
|
||||
fpa2bv_converter(ast_manager & m);
|
||||
~fpa2bv_converter();
|
||||
virtual ~fpa2bv_converter();
|
||||
|
||||
fpa_util & fu() { return m_util; }
|
||||
bv_util & bu() { return m_bv_util; }
|
||||
|
|
|
@ -23,6 +23,7 @@ Revision History:
|
|||
|
||||
class is_variable_proc {
|
||||
public:
|
||||
virtual ~is_variable_proc() = default;
|
||||
virtual bool operator()(const expr* e) const = 0;
|
||||
};
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@ Notes:
|
|||
|
||||
class expr_predicate {
|
||||
public:
|
||||
virtual ~expr_predicate() = default;
|
||||
virtual bool operator()(expr * t) = 0;
|
||||
};
|
||||
|
||||
|
|
|
@ -37,6 +37,8 @@ public:
|
|||
m_ignore_quantifiers(ignore_quantifiers) {
|
||||
}
|
||||
|
||||
virtual ~num_occurs() = default;
|
||||
|
||||
void validate();
|
||||
virtual void reset() { m_num_occurs.reset(); }
|
||||
|
||||
|
|
|
@ -93,6 +93,7 @@ namespace recfun {
|
|||
// closure for computing whether a `rhs` expression is immediate
|
||||
struct is_immediate_pred {
|
||||
virtual bool operator()(expr * rhs) = 0;
|
||||
virtual ~is_immediate_pred() = default;
|
||||
};
|
||||
|
||||
class def {
|
||||
|
|
|
@ -33,6 +33,7 @@ struct push_app_ite_cfg : public default_rewriter_cfg {
|
|||
virtual bool is_target(func_decl * decl, unsigned num_args, expr * const * args);
|
||||
br_status reduce_app(func_decl * f, unsigned num, expr * const * args, expr_ref & result, proof_ref & result_pr);
|
||||
push_app_ite_cfg(ast_manager& m): m(m), m_conservative(true) {}
|
||||
virtual ~push_app_ite_cfg() = default;
|
||||
void set_conservative(bool c) { m_conservative = c; }
|
||||
bool rewrite_patterns() const { return false; }
|
||||
};
|
||||
|
|
|
@ -39,6 +39,7 @@ namespace seq {
|
|||
|
||||
class eq_solver_context {
|
||||
public:
|
||||
virtual ~eq_solver_context() = default;
|
||||
virtual void add_consequence(bool uses_dep, expr_ref_vector const& clause) = 0;
|
||||
virtual void add_solution(expr* var, expr* term) = 0;
|
||||
virtual expr* expr2rep(expr* e) = 0;
|
||||
|
|
|
@ -3046,7 +3046,6 @@ void seq_rewriter::mk_antimirov_deriv_rec(expr* e, expr* r, expr* path, expr_ref
|
|||
auto nothing = [&]() { return expr_ref(re().mk_empty(r->get_sort()), m()); };
|
||||
auto epsilon = [&]() { return expr_ref(re().mk_epsilon(seq_sort), m()); };
|
||||
auto dotstar = [&]() { return expr_ref(re().mk_full_seq(r->get_sort()), m()); };
|
||||
auto dotplus = [&]() { return expr_ref(re().mk_plus(re().mk_full_char(r->get_sort())), m()); };
|
||||
unsigned lo = 0, hi = 0;
|
||||
if (re().is_empty(r) || re().is_epsilon(r))
|
||||
// D(e,[]) = D(e,()) = []
|
||||
|
@ -3182,7 +3181,7 @@ void seq_rewriter::mk_antimirov_deriv_rec(expr* e, expr* r, expr* path, expr_ref
|
|||
else if (re().is_loop(r, r1, lo))
|
||||
result = mk_antimirov_deriv_concat(mk_antimirov_deriv(e, r1, path), re().mk_loop(r1, lo - 1));
|
||||
else if (re().is_loop(r, r1, lo, hi)) {
|
||||
if (lo == 0 && hi == 0 || hi < lo)
|
||||
if ((lo == 0 && hi == 0) || hi < lo)
|
||||
result = nothing();
|
||||
else
|
||||
result = mk_antimirov_deriv_concat(mk_antimirov_deriv(e, r1, path), re().mk_loop(r1, (lo == 0 ? 0 : lo - 1), hi - 1));
|
||||
|
@ -3260,7 +3259,7 @@ expr_ref seq_rewriter::mk_antimirov_deriv_concat(expr* d, expr* r) {
|
|||
}
|
||||
|
||||
expr_ref seq_rewriter::mk_antimirov_deriv_negate(expr* d) {
|
||||
sort* seq_sort = nullptr, * ele_sort = nullptr;
|
||||
sort* seq_sort = nullptr;
|
||||
VERIFY(m_util.is_re(d, seq_sort));
|
||||
auto nothing = [&]() { return expr_ref(re().mk_empty(d->get_sort()), m()); };
|
||||
auto epsilon = [&]() { return expr_ref(re().mk_epsilon(seq_sort), m()); };
|
||||
|
@ -3404,7 +3403,7 @@ expr_ref seq_rewriter::simplify_path(expr* path) {
|
|||
result = simplify_path(t);
|
||||
else if (m().is_true(t))
|
||||
result = simplify_path(h);
|
||||
else if (m().is_eq(h, lhs, rhs) || m().is_not(h, h1) && m().is_eq(h1, lhs, rhs))
|
||||
else if (m().is_eq(h, lhs, rhs) || (m().is_not(h, h1) && m().is_eq(h1, lhs, rhs)))
|
||||
elim_condition(lhs, result);
|
||||
}
|
||||
return result;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue