X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=cmodelint.cc;h=6b20c2cc9c800378de4b2255fc94e7a7646516d7;hb=7f6f38735411f44357208a952278a419454b52b2;hp=8919041be4589670d228ad3e3e7b00b7132a5f2b;hpb=20926923f6de1790fdd368d5e7fa1738abe7b9a6;p=c11tester.git diff --git a/cmodelint.cc b/cmodelint.cc index 8919041b..6b20c2cc 100644 --- a/cmodelint.cc +++ b/cmodelint.cc @@ -1,5 +1,6 @@ #include "model.h" #include "cmodelint.h" +#include "threads.h" /** Performs a read action.*/ uint64_t model_read_action(void * obj, memory_order ord) { @@ -36,3 +37,8 @@ void model_rmw_action(void *obj, memory_order ord, uint64_t val) { void model_rmwc_action(void *obj, memory_order ord) { model->switch_to_master(new ModelAction(ATOMIC_RMWC, ord, obj)); } + +/** Issues a fence operation. */ +void model_fence_action(memory_order ord) { + model->switch_to_master(new ModelAction(ATOMIC_FENCE, ord, NULL)); +}