Skip to content

Commit 2a5fa5f

Browse files
committed
Add back C11.intToMo and fix missing source code for atomic reductions
1 parent 4488f3b commit 2a5fa5f

2 files changed

Lines changed: 13 additions & 1 deletion

File tree

dartagnan/src/main/java/com/dat3m/dartagnan/parsers/program/visitors/VisitorLitmusC.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -541,7 +541,7 @@ public Object visitNreAtomicOp(LitmusCParser.NreAtomicOpContext ctx){
541541
public Object visitNreC11AtomicOp(LitmusCParser.NreC11AtomicOpContext ctx){
542542
Expression value = returnExpressionOrOne(ctx.value);
543543
Event event = EventFactory.Atomic.newRMWOp(getAddress(ctx.address), value, ctx.op, ctx.c11Mo().mo);
544-
return programBuilder.addChild(currentThread, event);
544+
return programBuilder.addChild(currentThread, event, ctx.getStart().getLine());
545545
}
546546

547547
@Override

dartagnan/src/main/java/com/dat3m/dartagnan/program/event/Tag.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,18 @@ public static String storeMO(String mo) {
150150
default -> MO_RELAXED;
151151
};
152152
}
153+
154+
public static String intToMo(int i) {
155+
return switch (i) {
156+
case 0 -> MO_RELAXED;
157+
case 1 -> MO_CONSUME;
158+
case 2 -> MO_ACQUIRE;
159+
case 3 -> MO_RELEASE;
160+
case 4 -> MO_ACQUIRE_RELEASE;
161+
case 5 -> MO_SC;
162+
default -> throw new IllegalArgumentException("Invalid memory order value " + i);
163+
};
164+
}
153165
}
154166

155167
// =============================================================================================

0 commit comments

Comments
 (0)