mirror of
https://github.com/Z3Prover/z3
synced 2025-06-04 05:11:21 +00:00
add checks for cancellation inside mam to agilely not ignore Rustan's soft requests for a timeout #326
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
d6d301c5eb
commit
04b0e3c2f7
1 changed files with 9 additions and 0 deletions
|
@ -3646,6 +3646,9 @@ namespace smt {
|
||||||
approx_set::iterator it1 = plbls1.begin();
|
approx_set::iterator it1 = plbls1.begin();
|
||||||
approx_set::iterator end1 = plbls1.end();
|
approx_set::iterator end1 = plbls1.end();
|
||||||
for (; it1 != end1; ++it1) {
|
for (; it1 != end1; ++it1) {
|
||||||
|
if (m_context.get_cancel_flag()) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
unsigned plbl1 = *it1;
|
unsigned plbl1 = *it1;
|
||||||
SASSERT(plbls1.may_contain(plbl1));
|
SASSERT(plbls1.may_contain(plbl1));
|
||||||
approx_set::iterator it2 = plbls2.begin();
|
approx_set::iterator it2 = plbls2.begin();
|
||||||
|
@ -3687,6 +3690,9 @@ namespace smt {
|
||||||
approx_set::iterator it1 = plbls.begin();
|
approx_set::iterator it1 = plbls.begin();
|
||||||
approx_set::iterator end1 = plbls.end();
|
approx_set::iterator end1 = plbls.end();
|
||||||
for (; it1 != end1; ++it1) {
|
for (; it1 != end1; ++it1) {
|
||||||
|
if (m_context.get_cancel_flag()) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
unsigned plbl1 = *it1;
|
unsigned plbl1 = *it1;
|
||||||
SASSERT(plbls.may_contain(plbl1));
|
SASSERT(plbls.may_contain(plbl1));
|
||||||
approx_set::iterator it2 = clbls.begin();
|
approx_set::iterator it2 = clbls.begin();
|
||||||
|
@ -3706,6 +3712,9 @@ namespace smt {
|
||||||
svector<qp_pair>::iterator it1 = m_new_patterns.begin();
|
svector<qp_pair>::iterator it1 = m_new_patterns.begin();
|
||||||
svector<qp_pair>::iterator end1 = m_new_patterns.end();
|
svector<qp_pair>::iterator end1 = m_new_patterns.end();
|
||||||
for (; it1 != end1; ++it1) {
|
for (; it1 != end1; ++it1) {
|
||||||
|
if (m_context.get_cancel_flag()) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
quantifier * qa = it1->first;
|
quantifier * qa = it1->first;
|
||||||
app * mp = it1->second;
|
app * mp = it1->second;
|
||||||
SASSERT(m_ast_manager.is_pattern(mp));
|
SASSERT(m_ast_manager.is_pattern(mp));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue