3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-11-05 13:56:03 +00:00

check and fix pdd manager confusion

This commit is contained in:
Jakob Rath 2023-02-24 13:29:59 +01:00
parent 706d542eeb
commit ae8075e22d
3 changed files with 37 additions and 15 deletions

View file

@ -1777,6 +1777,13 @@ namespace dd {
}
pdd& pdd::operator=(pdd const& other) {
if (&m != &other.m) {
verbose_stream() << "pdd manager confusion: " << *this << " (mod 2^" << m.power_of_2() << ") := " << other << " (mod 2^" << other.power_of_2() << ")\n";
// TODO: in the end, this operator should probably be changed to also update the manager. But for now I want to detect such confusions.
}
SASSERT_EQ(m.power_of_2(), other.power_of_2());
VERIFY_EQ(m.power_of_2(), other.power_of_2());
VERIFY_EQ(&m, &other.m);
unsigned r1 = root;
root = other.root;
m.inc_ref(root);