3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-23 19:47:52 +00:00

muZ/datalog/udoc: fix bug in join_project

The bug was that we could project out don't care columns and don't take copied bits into account.
Bug reported by Ari Fogel

Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
This commit is contained in:
Nuno Lopes 2014-12-28 17:05:17 +00:00
parent d827713ce3
commit a211fcfb9e
2 changed files with 52 additions and 2 deletions

View file

@ -216,7 +216,7 @@ bool doc_manager::merge(doc& d, unsigned idx, subset_ints const& equalities,
unsigned root = equalities.find(idx);
idx = root;
unsigned num_x = 0;
unsigned root1;
unsigned root1 = root;
tbit value = BIT_x;
do {
switch (d[idx]) {
@ -229,12 +229,13 @@ bool doc_manager::merge(doc& d, unsigned idx, subset_ints const& equalities,
value = BIT_1;
break;
case BIT_x:
++num_x;
if (!discard_cols.get(idx)) {
++num_x;
root1 = idx;
}
break;
default:
UNREACHABLE();
break;
}
idx = equalities.next(idx);