mirror of
https://github.com/Z3Prover/z3
synced 2025-06-03 04:41:21 +00:00
fixing sources for double frees of clauses. #940
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
05c267b8d8
commit
72651e2e98
2 changed files with 5 additions and 2 deletions
|
@ -188,8 +188,8 @@ namespace sat {
|
||||||
case 1:
|
case 1:
|
||||||
TRACE("asymm_branch", tout << "produced unit clause: " << c[0] << "\n";);
|
TRACE("asymm_branch", tout << "produced unit clause: " << c[0] << "\n";);
|
||||||
s.assign(c[0], justification());
|
s.assign(c[0], justification());
|
||||||
s.del_clause(c);
|
|
||||||
s.propagate_core(false);
|
s.propagate_core(false);
|
||||||
|
s.del_clause(c);
|
||||||
SASSERT(s.inconsistent() || s.m_qhead == s.m_trail.size());
|
SASSERT(s.inconsistent() || s.m_qhead == s.m_trail.size());
|
||||||
return false; // check_missed_propagation() may fail, since m_clauses is not in a consistent state.
|
return false; // check_missed_propagation() may fail, since m_clauses is not in a consistent state.
|
||||||
case 2:
|
case 2:
|
||||||
|
|
|
@ -279,7 +279,10 @@ namespace sat {
|
||||||
unsigned sz = c.size();
|
unsigned sz = c.size();
|
||||||
if (sz == 0) {
|
if (sz == 0) {
|
||||||
s.set_conflict(justification());
|
s.set_conflict(justification());
|
||||||
return;
|
for (; it != end; ++it, ++it2) {
|
||||||
|
*it2 = *it;
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if (sz == 1) {
|
if (sz == 1) {
|
||||||
s.assign(c[0], justification());
|
s.assign(c[0], justification());
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue