diff options
author | Morgan Deters <mdeters@cs.nyu.edu> | 2014-11-09 19:02:42 -0500 |
---|---|---|
committer | Morgan Deters <mdeters@cs.nyu.edu> | 2014-11-09 19:02:42 -0500 |
commit | 8a43f6c6aa01f9b27434caf1c5dd9ef6b2dcd963 (patch) | |
tree | 08e6c95a6d7bd25188d8b6a0d79193cd4e1a318b | |
parent | 4475cfe82e97f549b41b465e71670794cbcd77e4 (diff) | |
parent | 5c99a9b0fb5f8c0f0aabc8ddcee1cbb93d493eca (diff) |
Merge branch '1.4.x'
-rw-r--r-- | src/expr/node_manager.cpp | 11 | ||||
-rw-r--r-- | src/smt/smt_engine.cpp | 4 | ||||
-rwxr-xr-x | test/regress/run_regression | 2 |
3 files changed, 14 insertions, 3 deletions
diff --git a/src/expr/node_manager.cpp b/src/expr/node_manager.cpp index 31b17ccda..5c2b81645 100644 --- a/src/expr/node_manager.cpp +++ b/src/expr/node_manager.cpp @@ -202,10 +202,21 @@ void NodeManager::reclaimZombies() { NodeValueReferenceCountNonZero()); d_zombies.clear(); +#ifdef _LIBCPP_VERSION + NodeValue* last = NULL; +#endif for(vector<NodeValue*>::iterator i = zombies.begin(); i != zombies.end(); ++i) { NodeValue* nv = *i; +#ifdef _LIBCPP_VERSION + // Work around an apparent bug in libc++'s hash_set<> which can + // (very occasionally) have an element repeated. + if(nv == last) { + continue; + } + last = nv; +#endif // collect ONLY IF still zero if(nv->d_rc == 0) { diff --git a/src/smt/smt_engine.cpp b/src/smt/smt_engine.cpp index c59d87d40..dc80d65e3 100644 --- a/src/smt/smt_engine.cpp +++ b/src/smt/smt_engine.cpp @@ -3760,8 +3760,8 @@ CVC4::SExpr SmtEngine::getAssignment() throw(ModalException) { vector<SExpr> sexprs; TypeNode boolType = d_nodeManager->booleanType(); TheoryModel* m = d_theoryEngine->getModel(); - for(AssignmentSet::const_iterator i = d_assignments->begin(), - iend = d_assignments->end(); + for(AssignmentSet::key_iterator i = d_assignments->key_begin(), + iend = d_assignments->key_end(); i != iend; ++i) { Assert((*i).getType() == boolType); diff --git a/test/regress/run_regression b/test/regress/run_regression index d234153a3..062458055 100755 --- a/test/regress/run_regression +++ b/test/regress/run_regression @@ -11,7 +11,7 @@ # # ulimit -t 1 # For detecting long running regressions -ulimit -s 10240 # Needed for some (esp. portfolio) +ulimit -s 65000 # Needed for some (esp. portfolio and model-building) prog=`basename "$0"` |