diff options
author | Dejan Jovanović <dejan.jovanovic@gmail.com> | 2011-03-26 22:26:06 +0000 |
---|---|---|
committer | Dejan Jovanović <dejan.jovanovic@gmail.com> | 2011-03-26 22:26:06 +0000 |
commit | 390477967f6179b03754c27be027b22ea77052bc (patch) | |
tree | 25392eab19db820315473251172e81159f04d576 /src | |
parent | 070dfb543ea5f29681259a9317fa2e7599bdb26a (diff) |
fix for bug 253, was propagating an asserted literal
also fixing some compile warnings in attributes
Diffstat (limited to 'src')
-rw-r--r-- | src/expr/attribute_internals.h | 8 | ||||
-rw-r--r-- | src/theory/bv/theory_bv.cpp | 11 |
2 files changed, 13 insertions, 6 deletions
diff --git a/src/expr/attribute_internals.h b/src/expr/attribute_internals.h index 3bbab17a4..cdb5735c3 100644 --- a/src/expr/attribute_internals.h +++ b/src/expr/attribute_internals.h @@ -411,7 +411,7 @@ class CDAttrHash<bool> : d_key(key), d_word(word), d_bit(bit) { - Debug.printf("cdboolattr", "CDAttrHash<bool>::BitAccessor(%p, %p, %lx, %u)\n", &map, key, word, bit); + Debug.printf("cdboolattr", "CDAttrHash<bool>::BitAccessor(%p, %p, %llx, %u)\n", &map, key, word, bit); } BitAccessor& operator=(bool b) { @@ -419,19 +419,19 @@ class CDAttrHash<bool> : // set the bit d_word |= (1 << d_bit); d_map.insert(d_key, d_word); - Debug.printf("cdboolattr", "CDAttrHash<bool>::BitAccessor::set(%p, %p, %lx, %u)\n", &d_map, d_key, d_word, d_bit); + Debug.printf("cdboolattr", "CDAttrHash<bool>::BitAccessor::set(%p, %p, %llx, %u)\n", &d_map, d_key, d_word, d_bit); } else { // clear the bit d_word &= ~(1 << d_bit); d_map.insert(d_key, d_word); - Debug.printf("cdboolattr", "CDAttrHash<bool>::BitAccessor::clr(%p, %p, %lx, %u)\n", &d_map, d_key, d_word, d_bit); + Debug.printf("cdboolattr", "CDAttrHash<bool>::BitAccessor::clr(%p, %p, %llx, %u)\n", &d_map, d_key, d_word, d_bit); } return *this; } operator bool() const { - Debug.printf("cdboolattr", "CDAttrHash<bool>::BitAccessor::toBool(%p, %p, %lx, %u)\n", &d_map, d_key, d_word, d_bit); + Debug.printf("cdboolattr", "CDAttrHash<bool>::BitAccessor::toBool(%p, %p, %llx, %u)\n", &d_map, d_key, d_word, d_bit); return (d_word & (1 << d_bit)) ? true : false; } };/* class CDAttrHash<bool>::BitAccessor */ diff --git a/src/theory/bv/theory_bv.cpp b/src/theory/bv/theory_bv.cpp index e106f3b84..bcf6339ac 100644 --- a/src/theory/bv/theory_bv.cpp +++ b/src/theory/bv/theory_bv.cpp @@ -56,11 +56,18 @@ void TheoryBV::check(Effort e) { BVDebug("bitvector") << "TheoryBV::check(" << e << ")" << std::endl; - while(!done()) { - + // Get all the assertions + std::vector<TNode> assertionsList; + while (!done()) { // Get the assertion TNode assertion = get(); d_assertions.insert(assertion); + assertionsList.push_back(assertion); + } + + for (unsigned i = 0; i < assertionsList.size(); ++ i) { + + TNode assertion = assertionsList[i]; BVDebug("bitvector") << "TheoryBV::check(" << e << "): asserting: " << assertion << std::endl; |