using std::memory_order_release;
using std::memory_order_acq_rel;
using std::memory_order_seq_cst;
+using std::volatile_order;
/**
* @brief A recognizable don't-care value for use in the ModelAction::value
ATOMIC_NOTIFY_ALL, // < A notify all action
ATOMIC_WAIT, // < A wait action
ATOMIC_ANNOTATION, // < An annotation action to pass information to a trace analysis
+ VOLATILE_READ,
+ VOLATILE_WRITE,
NOOP // no operation, which returns control to scheduler
} action_type_t;
/** @brief The last fence release from the same thread */
const ModelAction *last_fence_release;
ModelAction * uninitaction;
-
+
/**
* @brief The clock vector for this operation
*
*/
ClockVector *cv;
ClockVector *rf_cv;
-
+
/** @brief The value written (for write or RMW; undefined for read) */
uint64_t value;