};
struct PendingFutureValue {
- PendingFutureValue(ModelAction *writer, ModelAction *act) : writer(writer), act(act) { }
+ PendingFutureValue(ModelAction *writer, ModelAction *reader) :
+ writer(writer), reader(reader)
+ { }
const ModelAction *writer;
- ModelAction *act;
+ ModelAction *reader;
};
/** @brief Records information regarding a single pending release sequence */
void add_thread(Thread *t);
bool sleep_can_read_from(ModelAction *curr, const ModelAction *write);
- bool thin_air_constraint_may_allow(const ModelAction *writer, const ModelAction *reader);
+ bool thin_air_constraint_may_allow(const ModelAction *writer, const ModelAction *reader) const;
bool mo_may_allow(const ModelAction *writer, const ModelAction *reader);
+ bool promises_may_allow(const ModelAction *writer, const ModelAction *reader) const;
bool has_asserted() const;
void set_assert();
void set_bad_synchronization();