3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-22 16:45:31 +00:00

Fix reset of params_ref in solver

params_ref is not a ref, and params_ref::reset is not ref::reset.

params_ref::reset resets the params object being pointed to by
params_ref.

A proper way to reset a params_ref as a reference is to assign an
empty params_ref object to it.
This commit is contained in:
Arie Gurfinkel 2018-05-24 11:14:51 -07:00
parent ec8a86b78a
commit d06f4bd337
2 changed files with 5 additions and 6 deletions

View file

@ -122,7 +122,7 @@ namespace smt {
smt_params m_smt_params_save;
void push_params() override {
m_params_save.reset();
m_params_save = params_ref();
m_params_save.copy(solver::get_params());
m_smt_params_save = m_smt_params;
}

View file

@ -206,14 +206,13 @@ void solver::collect_param_descrs(param_descrs & r) {
r.insert("solver.enforce_model_conversion", CPK_BOOL, "(default: false) enforce model conversion when asserting formulas");
}
void solver::reset_params(params_ref const & p) {
m_params.reset();
m_params.copy(p);
void solver::reset_params(params_ref const & p) {
m_params = p;
m_enforce_model_conversion = m_params.get_bool("solver.enforce_model_conversion", false);
}
void solver::updt_params(params_ref const & p) {
m_params.copy(p);
void solver::updt_params(params_ref const & p) {
m_params.copy(p);
m_enforce_model_conversion = m_params.get_bool("solver.enforce_model_conversion", false);
}