X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=datarace.cc;h=9f75642e27a5a670d30e0c9284e6162cfa8047de;hb=7921811e8bd7bba2cdd892434a58ec7254ae0f99;hp=e6784984c05ba2d8a92f438384d95ece5a8cc666;hpb=5ea8e3d5d861ed363e5ac5f3b20b8181dd197efb;p=model-checker.git diff --git a/datarace.cc b/datarace.cc index e678498..9f75642 100644 --- a/datarace.cc +++ b/datarace.cc @@ -150,16 +150,18 @@ bool checkDataRaces() */ void assert_race(struct DataRace *race) { - char buf[200]; - char *ptr = buf; - ptr += sprintf(ptr, "Data race detected @ address %p:\n", race->address); - ptr += sprintf(ptr, " Access 1: %5s in thread %2d @ clock %3u\n", + model->assert_bug( + "Data race detected @ address %p:\n" + " Access 1: %5s in thread %2d @ clock %3u\n" + " Access 2: %5s in thread %2d @ clock %3u", + race->address, race->isoldwrite ? "write" : "read", - id_to_int(race->oldthread), race->oldclock); - ptr += sprintf(ptr, " Access 2: %5s in thread %2d @ clock %3u", + id_to_int(race->oldthread), + race->oldclock, race->isnewwrite ? "write" : "read", - id_to_int(race->newaction->get_tid()), race->newaction->get_seq_number()); - model->assert_bug(buf); + id_to_int(race->newaction->get_tid()), + race->newaction->get_seq_number() + ); } /** This function does race detection for a write on an expanded record. */