3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 09:35:32 +00:00

ensure statistics survive cancelation in tactics, fix propagation for smtfd

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2019-10-18 19:22:36 -07:00
parent 203ba12abc
commit 11736f078e
2 changed files with 15 additions and 4 deletions

View file

@ -111,10 +111,18 @@ public:
ref<solver> local_solver = m_solver->translate(m, m_params);
local_solver->assert_expr(clauses);
TRACE("solver2tactic", tout << "clauses asserted\n";);
lbool r = local_solver->check_sat(assumptions.size(), assumptions.c_ptr());
lbool r;
try {
r = local_solver->check_sat(assumptions.size(), assumptions.c_ptr());
}
catch (...) {
local_solver->collect_statistics(m_st);
throw;
}
TRACE("solver2tactic", tout << "check sat result " << r << "\n";);
proof* pr = local_solver->get_proof();
if (pr) in->set(proof2proof_converter(m, pr));
local_solver->collect_statistics(m_st);
switch (r) {
case l_true:
if (in->models_enabled()) {
@ -160,7 +168,6 @@ public:
result.push_back(in.get());
break;
}
local_solver->collect_statistics(m_st);
}
void collect_statistics(statistics & st) const override {