Update readme
[c11tester.git] / model.h
diff --git a/model.h b/model.h
index 03dafd11b1a0aa5493dcf8f1c62f549e788e7a74..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;
 
@@ -73,7 +76,6 @@ private:
 
        unsigned int curr_thread_num;
        Thread * chosen_thread;
-       bool thread_chosen;
        bool break_execution;
 
        void startRunExecution(Thread *old);
@@ -105,8 +107,10 @@ 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);
+void createModelIfNotExist();
 
 #endif /* __MODEL_H__ */