diff options
Diffstat (limited to 'src/validator.cc')
-rw-r--r-- | src/validator.cc | 6 |
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)); |