The 'updated' variable should stay 'true' even if modification orders and
promises aren't updated by the "write" checks. This could be a RMW which made
updates via the "read" checks.
if (curr->is_write()) {
bool updated_mod_order = w_modification_order(curr);
bool updated_promises = resolve_promises(curr);
- updated = updated_mod_order || updated_promises;
+ updated = updated || updated_mod_order || updated_promises;
if (promises->size()==0) {
for (unsigned int i = 0; i<futurevalues->size(); i++) {