#include "config.h"
#include "action.h"
#include "execution.h"
+#include "stl-model.h"
static struct ShadowTable *root;
-SnapVector<struct DataRace *> unrealizedraces;
+static SnapVector<DataRace *> unrealizedraces;
static void *memory_base;
static void *memory_top;
*shadow = ENCODEOP(threadid, ourClock, id_to_int(writeThread), writeClock);
}
+
+bool haveUnrealizedRaces()
+{
+ return !unrealizedraces.empty();
+}
#include "config.h"
#include <stdint.h>
#include "modeltypes.h"
-#include "stl-model.h"
/* Forward declaration */
-class ClockVector;
class ModelAction;
struct ShadowTable {
void raceCheckRead(thread_id_t thread, const void *location);
bool checkDataRaces();
void assert_race(struct DataRace *race);
-
-extern SnapVector<struct DataRace *> unrealizedraces;
+bool haveUnrealizedRaces();
/**
* @brief A record of information for detecting data races
{
while (!pending_rel_seqs.empty() &&
is_feasible_prefix_ignore_relseq() &&
- !unrealizedraces.empty()) {
+ haveUnrealizedRaces()) {
model_print("*** WARNING: release sequence fixup action "
"(%zu pending release seuqence(s)) ***\n",
pending_rel_seqs.size());