diff options
author | Tim King <taking@google.com> | 2016-11-10 15:22:49 -0800 |
---|---|---|
committer | Tim King <taking@google.com> | 2016-11-10 15:22:49 -0800 |
commit | 16e809f698060645812667925b3e0c4d403ee71a (patch) | |
tree | 6952e767825c1d99166e1308c39aece2cc9c33c9 /test/unit/expr/node_manager_black.h | |
parent | 13be3be39454a3cf7b05c4399a53bd2dd27996f6 (diff) |
Adding garbage collection of nodes with maxed out reference counts.
Diffstat (limited to 'test/unit/expr/node_manager_black.h')
-rw-r--r-- | test/unit/expr/node_manager_black.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/test/unit/expr/node_manager_black.h b/test/unit/expr/node_manager_black.h index 3958e0f2c..13d8084fa 100644 --- a/test/unit/expr/node_manager_black.h +++ b/test/unit/expr/node_manager_black.h @@ -19,6 +19,7 @@ #include <string> #include <vector> +#include "base/output.h" #include "expr/node_manager.h" #include "expr/node_manager_attributes.h" #include "util/integer.h" @@ -308,12 +309,16 @@ public: std::vector<Node> vars; const unsigned int max = metakind::getUpperBoundForKind(AND); TypeNode boolType = d_nodeManager->booleanType(); - Node skolem = d_nodeManager->mkSkolem("i", boolType); - for( unsigned int i = 0; i <= max; ++i ) { - vars.push_back( skolem ); + Node skolem_i = d_nodeManager->mkSkolem("i", boolType); + Node skolem_j = d_nodeManager->mkSkolem("j", boolType); + Node andNode = skolem_i.andNode(skolem_j); + Node orNode = skolem_i.orNode(skolem_j); + while (vars.size() <= max) { + vars.push_back(andNode); + vars.push_back(skolem_j); + vars.push_back(orNode); } - TS_ASSERT_THROWS( d_nodeManager->mkNode(AND, vars), AssertionException ); + TS_ASSERT_THROWS(d_nodeManager->mkNode(AND, vars), AssertionException); #endif } - }; |