3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-06-06 06:03:23 +00:00
This commit is contained in:
Nikolaj Bjorner 2016-03-03 07:59:13 -08:00
commit 50b2389e7f
2 changed files with 56 additions and 55 deletions

View file

@ -167,6 +167,7 @@ struct blaster_rewriter_cfg : public default_rewriter_cfg {
void pop(unsigned num_scopes) { void pop(unsigned num_scopes) {
if (num_scopes > 0) { if (num_scopes > 0) {
SASSERT(num_scopes <= m_keyval_lim.size());
unsigned new_sz = m_keyval_lim.size() - num_scopes; unsigned new_sz = m_keyval_lim.size() - num_scopes;
unsigned lim = m_keyval_lim[new_sz]; unsigned lim = m_keyval_lim[new_sz];
for (unsigned i = m_keys.size(); i > lim; ) { for (unsigned i = m_keys.size(); i > lim; ) {

View file

@ -182,12 +182,12 @@ public:
m_map.push(); m_map.push();
} }
virtual void pop(unsigned n) { virtual void pop(unsigned n) {
if (n < m_num_scopes) { // allow inc_sat_solver to if (n > m_num_scopes) { // allow inc_sat_solver to
n = m_num_scopes; // take over for another solver. n = m_num_scopes; // take over for another solver.
} }
m_bb_rewriter.pop(n); m_bb_rewriter.pop(n);
m_map.pop(n); m_map.pop(n);
SASSERT(n >= m_num_scopes); SASSERT(n <= m_num_scopes);
m_solver.user_pop(n); m_solver.user_pop(n);
m_num_scopes -= n; m_num_scopes -= n;
while (n > 0) { while (n > 0) {