main: clear out redundant comments
[c11tester.git] / tree.cc
diff --git a/tree.cc b/tree.cc
index 57e0c13f69902f071cb336d3a155a15db38f4c08..263655c75330387b7fd006750de149f77c7df113 100644 (file)
--- a/tree.cc
+++ b/tree.cc
@@ -7,10 +7,17 @@ TreeNode::TreeNode(TreeNode *par, ModelAction *act)
 {
        TreeNode::totalNodes++;
        this->parent = par;
+       if (!parent) {
+               num_threads = 1;
+       } else {
+               num_threads = parent->num_threads;
+               if (act && act->get_type() == THREAD_CREATE)
+                       num_threads++;
+       }
 }
 
 TreeNode::~TreeNode() {
-       std::map<int, class TreeNode *>::iterator it;
+       std::map<int, class TreeNode *, std::less< int >, MyAlloc< std::pair< const int, class TreeNode * > > >::iterator it;
 
        for (it = children.begin(); it != children.end(); it++)
                delete it->second;
@@ -19,7 +26,7 @@ TreeNode::~TreeNode() {
 TreeNode * TreeNode::explore_child(ModelAction *act)
 {
        TreeNode *n;
-       std::set<int>::iterator it;
+       std::set<int, std::less< int >, MyAlloc< int > >::iterator it;
        thread_id_t id = act->get_tid();
        int i = id_to_int(id);
 
@@ -57,3 +64,8 @@ TreeNode * TreeNode::getRoot()
                return parent->getRoot();
        return this;
 }
+
+bool TreeNode::is_enabled(Thread *t)
+{
+       return id_to_int(t->get_id()) < num_threads;
+}