Relacy still uses a few things that I can't easily add, like a ()
operator for std::atomic<T>. We'll still have to replace some things by
hand in test cases written for Relacy.
LIB_SO = lib$(LIB_NAME).so
BASE = ../..
-INCLUDE = -I$(BASE)/include -I$(BASE)
+INCLUDE = -I$(BASE)/include -I$(BASE) -I../include
CPPFLAGS += $(INCLUDE)
CFLAGS += $(INCLUDE)
LDFLAGS += -L$(BASE) -l$(LIB_NAME)
--- /dev/null
+#include <stdatomic.h>
+
+#define $
+
+/* Should re-define to something meaningful */
+#define ASSERT(expr)
+
+#define mo_seqcst memory_order_relaxed
+#define mo_release memory_order_release
+#define mo_acquire memory_order_acquire
+#define mo_acq_rel memory_order_acq_rel
+#define mo_relaxed memory_order_relaxed
+
+namespace rl {
+
+ class backoff_t
+ {
+ public:
+ typedef int debug_info_param;
+ void yield(debug_info_param info) { }
+ void yield() { }
+ };
+
+
+ typedef backoff_t backoff;
+ typedef backoff_t linear_backoff;
+ typedef backoff_t exp_backoff;
+
+}