From da420bf5c1f2a270f072786145b717c38c720ed1 Mon Sep 17 00:00:00 2001 From: Tim King Date: Sun, 28 Feb 2010 00:43:32 +0000 Subject: [PATCH] TheoryUFWhite is passing. I fixed 2 errors. Unfortunately, I also changed a TNode to a Node at one point in the code. TNode failed for a completely unknown reason. I'm try to isolate the problem is a bit, but I am commiting this for now so other things can move forward. --- src/theory/theory.h | 4 ++-- src/theory/uf/theory_uf.cpp | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/theory/theory.h b/src/theory/theory.h index efa67d6c4..86badb9bd 100644 --- a/src/theory/theory.h +++ b/src/theory/theory.h @@ -324,8 +324,8 @@ Node TheoryImpl::get() { * and the above registration of leaves, this should ensure that * all subterms in the entire tree were registered in * reverse-topological order. */ - for(std::list::reverse_iterator i = toReg.rend(); - i != toReg.rbegin(); + for(std::list::reverse_iterator i = toReg.rbegin(); + i != toReg.rend(); ++i) { TNode n = *i; diff --git a/src/theory/uf/theory_uf.cpp b/src/theory/uf/theory_uf.cpp index 0c0559bb0..485f5f6d3 100644 --- a/src/theory/uf/theory_uf.cpp +++ b/src/theory/uf/theory_uf.cpp @@ -124,7 +124,8 @@ void TheoryUF::registerTerm(TNode n){ */ for(Link* Px = ecChild->getFirst(); Px != NULL; Px = Px->next ){ if(equiv(n, Px->data)){ - d_pending.push_back(n.eqNode(Px->data)); + Node pend = n.eqNode(Px->data); + d_pending.push_back(pend); } } @@ -223,7 +224,7 @@ void TheoryUF::ccUnion(ECData* ecX, ECData* ecY){ void TheoryUF::merge(){ while(d_currentPendingIdx < d_pending.size() ) { - TNode assertion = d_pending[d_currentPendingIdx]; + Node assertion = d_pending[d_currentPendingIdx]; d_currentPendingIdx = d_currentPendingIdx + 1; TNode x = assertion[0]; -- 2.30.2