summaryrefslogtreecommitdiff
path: root/src/validator.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/validator.cc')
-rw-r--r--src/validator.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/validator.cc b/src/validator.cc
index b879d2ea..8884059e 100644
--- a/src/validator.cc
+++ b/src/validator.cc
@@ -433,12 +433,12 @@ Result Validator::OnRefFuncExpr(RefFuncExpr* expr) {
}
Result Validator::OnRefNullExpr(RefNullExpr* expr) {
- result_ |= validator_.OnRefNull(expr->loc);
+ result_ |= validator_.OnRefNull(expr->loc, expr->type);
return Result::Ok;
}
Result Validator::OnRefIsNullExpr(RefIsNullExpr* expr) {
- result_ |= validator_.OnRefIsNull(expr->loc);
+ result_ |= validator_.OnRefIsNull(expr->loc, expr->type);
return Result::Ok;
}
@@ -715,7 +715,8 @@ Result Validator::CheckModule() {
break;
case ExprType::RefNull:
- result_ |= validator_.OnGlobalInitExpr_RefNull(expr->loc);
+ result_ |= validator_.OnGlobalInitExpr_RefNull(
+ expr->loc, cast<RefNullExpr>(expr)->type);
break;
default:
@@ -789,7 +790,8 @@ Result Validator::CheckModule() {
switch (elem_expr.kind) {
case ElemExprKind::RefNull:
// TODO: better location?
- result_ |= validator_.OnElemSegmentElemExpr_RefNull(field.loc);
+ result_ |= validator_.OnElemSegmentElemExpr_RefNull(field.loc,
+ elem_expr.type);
break;
case ElemExprKind::RefFunc: