model: add too_many_steps()
[c11tester.git] / model.cc
index 23efa8f77566d10752f5d4f7e8c6c70f73aff55d..eed548cc0c906b0d50b6c78f89e51e15aa4b4e1b 100644 (file)
--- a/model.cc
+++ b/model.cc
@@ -123,7 +123,7 @@ ModelChecker::~ModelChecker()
        delete thrd_last_action;
        delete thrd_last_fence_release;
        delete node_stack;
-       for (unsigned int i = 0; i <trace_analyses->size();i++)
+       for (unsigned int i = 0; i < trace_analyses->size(); i++)
                delete (*trace_analyses)[i];
        delete trace_analyses;
        delete scheduler;
@@ -596,13 +596,10 @@ bool ModelChecker::next_execution()
        return true;
 }
 
-/**
- * @brief Run trace analyses on complete trace. */
-
+/** @brief Run trace analyses on complete trace */
 void ModelChecker::run_trace_analyses() {
-       for(unsigned int i=0; i < trace_analyses->size(); i++) {
+       for (unsigned int i = 0; i < trace_analyses->size(); i++)
                (*trace_analyses)[i]->analyze(action_trace);
-       }
 }
 
 /**
@@ -3116,6 +3113,12 @@ void user_main_wrapper(void *)
        user_main(model->params.argc, model->params.argv);
 }
 
+/** @return True if the execution has taken too many steps */
+bool ModelChecker::too_many_steps() const
+{
+       return params.bound != 0 && priv->used_sequence_numbers > params.bound;
+}
+
 bool ModelChecker::should_terminate_execution()
 {
        /* Infeasible -> don't take any more steps */
@@ -3126,7 +3129,7 @@ bool ModelChecker::should_terminate_execution()
                return true;
        }
 
-       if (params.bound != 0 && priv->used_sequence_numbers > params.bound)
+       if (too_many_steps())
                return true;
        return false;
 }