X-Git-Url: http://plrg.eecs.uci.edu/git/?p=c11tester.git;a=blobdiff_plain;f=action.cc;h=0a6a1dd26665a6d553b4e0b7c258f519330bba56;hp=2390ecc7bd39f115380172075d14cd9e1c56cbe8;hb=6bbd9b9dd928e62df9dffbf9027124112eec0576;hpb=086fd3b2eae9320656cec2010c69dd70e4a0832a diff --git a/action.cc b/action.cc index 2390ecc7..0a6a1dd2 100644 --- a/action.cc +++ b/action.cc @@ -392,9 +392,10 @@ Node * ModelAction::get_node() const */ void ModelAction::set_read_from(const ModelAction *act) { + ASSERT(act); reads_from = act; reads_from_promise = NULL; - if (act && act->is_uninitialized()) + if (act->is_uninitialized()) model->assert_bug("May read from uninitialized atomic\n"); } @@ -402,7 +403,7 @@ void ModelAction::set_read_from(const ModelAction *act) * Set this action's read-from promise * @param promise The promise to read from */ -void ModelAction::set_read_from_promise(const Promise *promise) +void ModelAction::set_read_from_promise(Promise *promise) { ASSERT(is_read()); reads_from_promise = promise; @@ -543,7 +544,13 @@ void ModelAction::print() const if (is_read()) { if (reads_from) model_print(" Rf: %-3d", reads_from->get_seq_number()); - else + else if (reads_from_promise) { + int idx = model->get_promise_number(reads_from_promise); + if (idx >= 0) + model_print(" Rf: P%-2d", idx); + else + model_print(" RF: P? "); + } else model_print(" Rf: ? "); } if (cv) {