unrelacy: include <mutex> and <condition_variable>
[model-checker-benchmarks.git] / include / unrelacy.h
index 3f2e5eb..c16a373 100644 (file)
@@ -2,12 +2,17 @@
 #define __UNRELACY_H__
 
 #include <stdatomic.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <mutex>
+#include <condition_variable>
+
+#include <model-assert.h>
 
 #define $
 
-/* Should re-define to something meaningful */
-#define ASSERT(expr)
-#define RL_ASSERT(expr)
+#define ASSERT(expr) MODEL_ASSERT(expr)
+#define RL_ASSERT(expr) MODEL_ASSERT(expr)
 
 #define RL_NEW new
 #define RL_DELETE(expr) delete expr
@@ -24,12 +29,13 @@ namespace rl {
        struct var {
                var() { value = 0; }
                var(T v) { value = v; }
-               var(var const& r) { value = r; }
+               var(var const& r) { value = r.value; }
                ~var() { }
 
                void operator = (T v) { value = v; }
                T operator () () { return value; }
                void operator += (T v) { value += v; }
+               bool operator == (const struct var<T> v) const { return value == v.value; }
 
                T value;
        };