summaryrefslogtreecommitdiff
path: root/src/validator.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/validator.cc')
-rw-r--r--src/validator.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/validator.cc b/src/validator.cc
index c5087dff..3c20cbe8 100644
--- a/src/validator.cc
+++ b/src/validator.cc
@@ -94,6 +94,7 @@ class Validator : public ExprVisitor::Delegate {
Result OnAtomicRmwExpr(AtomicRmwExpr*) override;
Result OnAtomicRmwCmpxchgExpr(AtomicRmwCmpxchgExpr*) override;
Result OnTernaryExpr(TernaryExpr*) override;
+ Result OnSimdLaneOpExpr(SimdLaneOpExpr*) override;
private:
struct ActionResult {
@@ -813,6 +814,12 @@ Result Validator::OnTernaryExpr(TernaryExpr* expr) {
return Result::Ok;
}
+Result Validator::OnSimdLaneOpExpr(SimdLaneOpExpr* expr) {
+ expr_loc_ = &expr->loc;
+ typechecker_.OnSimdLaneOp(expr->opcode, expr->val);
+ return Result::Ok;
+}
+
void Validator::CheckFuncSignature(const Location* loc,
const FuncDeclaration& decl) {
if (decl.has_func_type) {