Update readme
[c11tester.git] / model.h
diff --git a/model.h b/model.h
index e35457e1eea77c9dd653db444303d6284caa7279..d71ad8f69204f9a1905269595f80cdbff191a0f8 100644 (file)
--- a/model.h
+++ b/model.h
 #include "classlist.h"
 #include "snapshot-interface.h"
 
+#define ENTER_MODEL_FLAG (inside_model = 1)
+#define EXIT_MODEL_FLAG (inside_model = 0)
+#define GET_MODEL_FLAG (inside_model)
+#define RESTORE_MODEL_FLAG(f) (inside_model = f)
+
 /** @brief Model checker execution stats */
 struct execution_stats {
        int num_total;  /**< @brief Total number of executions */
@@ -36,7 +41,6 @@ public:
        void exit_model_checker();
 
        ModelExecution * get_execution() const { return execution; }
-       ModelHistory * get_history() const { return history; }
 
        int get_execution_number() const { return execution_number; }
 
@@ -65,7 +69,6 @@ private:
 
        /** The scheduler to use: tracks the running/ready Threads */
        Scheduler * const scheduler;
-       ModelHistory * history;
        ModelExecution *execution;
        Thread * init_thread;
 
@@ -104,6 +107,7 @@ private:
        void print_stats() const;
 };
 
+extern int inside_model;
 extern ModelChecker *model;
 void parse_options(struct model_params *params);
 void install_trace_analyses(ModelExecution *execution);