projects
/
model-checker-benchmarks.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
unrelacy: define the relacy ASSERT macros, fixup rl::var
[model-checker-benchmarks.git]
/
include
/
unrelacy.h
diff --git
a/include/unrelacy.h
b/include/unrelacy.h
index 3f2e5ebdf429b918b0624a81be88c4100ac47de7..d65ffc3d1b2f7168313aac05563cf19be8a5aae1 100644
(file)
--- a/
include/unrelacy.h
+++ b/
include/unrelacy.h
@@
-2,12
+2,18
@@
#define __UNRELACY_H__
#include <stdatomic.h>
#define __UNRELACY_H__
#include <stdatomic.h>
+#include <stdlib.h>
+#include <stdio.h>
#define $
#define $
-/* Should re-define to something meaningful */
-#define ASSERT(expr)
-#define RL_ASSERT(expr)
+#define _TEST_ASSERT(expr) \
+ if (!(expr)) { \
+ printf("Error: assertion failed at %s:%d\n", __FILE__, __LINE__); \
+ exit(EXIT_FAILURE); \
+ }
+#define ASSERT(expr) _TEST_ASSERT(expr)
+#define RL_ASSERT(expr) _TEST_ASSERT(expr)
#define RL_NEW new
#define RL_DELETE(expr) delete expr
#define RL_NEW new
#define RL_DELETE(expr) delete expr
@@
-24,12
+30,13
@@
namespace rl {
struct var {
var() { value = 0; }
var(T v) { value = v; }
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; }
~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;
};
T value;
};