summaryrefslogtreecommitdiff
path: root/src/smt
diff options
context:
space:
mode:
authorClark Barrett <barrett@cs.nyu.edu>2012-05-31 17:15:02 +0000
committerClark Barrett <barrett@cs.nyu.edu>2012-05-31 17:15:02 +0000
commite0ea9a22721a332be2a2354846ffdf5f72c6a6de (patch)
tree97f277ac1e6a203a3da3cfb5c41924bad86cc942 /src/smt
parent48de3ac52d0fb8656b6e4e768c74be4be3b2a883 (diff)
Fixed bug in bv: one more case where non-shared equality was getting propagated
Added a global push and pop around solving - fixes an assertion failure when TNodes are still around in a CDHashMap at destruction time.
Diffstat (limited to 'src/smt')
-rw-r--r--src/smt/smt_engine.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/smt/smt_engine.cpp b/src/smt/smt_engine.cpp
index 0d3a220c9..64e3e4ae4 100644
--- a/src/smt/smt_engine.cpp
+++ b/src/smt/smt_engine.cpp
@@ -293,6 +293,8 @@ SmtEngine::SmtEngine(ExprManager* em) throw(AssertionException) :
d_theoryEngine->setDecisionEngine(d_decisionEngine);
// d_decisionEngine->setPropEngine(d_propEngine);
+ d_context->push();
+
d_definedFunctions = new(true) DefinedFunctionMap(d_userContext);
// [MGD 10/20/2011] keep around in incremental mode, due to a
@@ -349,6 +351,8 @@ SmtEngine::~SmtEngine() throw() {
shutdown();
+ d_context->pop();
+
if(d_assignments != NULL) {
d_assignments->deleteSelf();
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback