snapshot: define macros with type size_t
[c11tester.git] / libatomic.cc
1 #include "libatomic.h"
2 #include "model.h"
3 #include "common.h"
4
5 void atomic_store_explicit(struct atomic_object *obj, int value, memory_order order)
6 {
7         DBG();
8         obj->value = value;
9         model->switch_to_master(new ModelAction(ATOMIC_WRITE, order, obj, value));
10 }
11
12 int atomic_load_explicit(struct atomic_object *obj, memory_order order)
13 {
14         int value = obj->value;
15         DBG();
16         model->switch_to_master(new ModelAction(ATOMIC_READ, order, obj, value));
17         return value;
18 }
19
20 void atomic_init(struct atomic_object *obj, int value)
21 {
22         obj->value = value;
23 }