summaryrefslogtreecommitdiff
path: root/src/validator.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/validator.cc')
-rw-r--r--src/validator.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/validator.cc b/src/validator.cc
index 96abe48a..b879d2ea 100644
--- a/src/validator.cc
+++ b/src/validator.cc
@@ -140,6 +140,7 @@ class Validator : public ExprVisitor::Delegate {
Result OnThrowExpr(ThrowExpr*) override;
Result OnRethrowExpr(RethrowExpr*) override;
Result OnAtomicWaitExpr(AtomicWaitExpr*) override;
+ Result OnAtomicFenceExpr(AtomicFenceExpr*) override;
Result OnAtomicNotifyExpr(AtomicNotifyExpr*) override;
Result OnAtomicLoadExpr(AtomicLoadExpr*) override;
Result OnAtomicStoreExpr(AtomicStoreExpr*) override;
@@ -520,6 +521,11 @@ Result Validator::OnAtomicWaitExpr(AtomicWaitExpr* expr) {
return Result::Ok;
}
+Result Validator::OnAtomicFenceExpr(AtomicFenceExpr* expr) {
+ result_ |= validator_.OnAtomicFence(expr->loc, expr->consistency_model);
+ return Result::Ok;
+}
+
Result Validator::OnAtomicNotifyExpr(AtomicNotifyExpr* expr) {
result_ |= validator_.OnAtomicNotify(expr->loc, expr->opcode,
expr->opcode.GetAlignment(expr->align));