separate out rmw actions
[model-checker.git] / cyclegraph.h
index 8a9bf7c928186ec3b39c0efd5022ae1ccfd8c1d1..013a11a793bd9f20971a881af2c104a59e3085ec 100644 (file)
@@ -19,6 +19,7 @@ class CycleGraph {
        ~CycleGraph();
        void addEdge(const ModelAction *from, const ModelAction *to);
        bool checkForCycles();
+       bool checkForRMWViolation();
        void addRMWEdge(const ModelAction *from, const ModelAction *rmw);
 
        bool checkReachable(const ModelAction *from, const ModelAction *to);
@@ -36,9 +37,11 @@ class CycleGraph {
 
        /** @brief A flag: true if this graph contains cycles */
        bool hasCycles;
-
        bool oldCycles;
 
+       bool hasRMWViolation;
+       bool oldRMWViolation;
+
        std::vector<CycleNode *> rollbackvector;
        std::vector<CycleNode *> rmwrollbackvector;
 };