X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Funrelacy.h;fp=include%2Funrelacy.h;h=d65ffc3d1b2f7168313aac05563cf19be8a5aae1;hb=204232f143970fcc7001063af8096da4aec0f3d1;hp=3f2e5ebdf429b918b0624a81be88c4100ac47de7;hpb=ac289415795f6d44f198bf5e11cbfc5e0d0e475d;p=model-checker-benchmarks.git diff --git a/include/unrelacy.h b/include/unrelacy.h index 3f2e5eb..d65ffc3 100644 --- a/include/unrelacy.h +++ b/include/unrelacy.h @@ -2,12 +2,18 @@ #define __UNRELACY_H__ #include +#include +#include #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 @@ -24,12 +30,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 v) const { return value == v.value; } T value; };