3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-06 17:44:08 +00:00

some fixes to backtracking restore points in new solver

This commit is contained in:
Nikolaj Bjorner 2022-11-29 16:42:42 +07:00
parent dd1ca8f6bd
commit 73a652cf4b
2 changed files with 4 additions and 4 deletions

View file

@ -55,7 +55,7 @@ public:
void push() { m_trail.push_scope(); }
void pop(unsigned n) { m_trail.pop_scope(n); }
unsigned qhead() const { return m_qhead; }
void advance_qhead() { m_qhead = size(); }
void advance_qhead() { if (m_trail.get_num_scopes() > 0) m_trail.push(value_trail(m_qhead)); m_qhead = size(); }
unsigned num_exprs() {
expr_fast_mark1 visited;
unsigned r = 0;

View file

@ -259,6 +259,9 @@ public:
m_map.push();
m_preprocess_state.push();
m_preprocess.push();
m_trail.push(restore_vector(m_assumptions));
m_trail.push(restore_vector(m_fmls));
m_trail.push(value_trail(m_mc_size));
}
void pop(unsigned n) override {
@ -618,9 +621,6 @@ private:
return l_true;
unsigned qhead = m_preprocess_state.qhead();
m_trail.push(restore_vector(m_assumptions));
m_trail.push(restore_vector(m_fmls));
m_trail.push(value_trail(m_mc_size));
TRACE("sat", tout << "qhead " << qhead << "\n");
m_internalized_converted = false;