summaryrefslogtreecommitdiff
path: root/src/wasm/wasm-validator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/wasm/wasm-validator.cpp')
-rw-r--r--src/wasm/wasm-validator.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/wasm/wasm-validator.cpp b/src/wasm/wasm-validator.cpp
index cb54e1597..c1b4a86e7 100644
--- a/src/wasm/wasm-validator.cpp
+++ b/src/wasm/wasm-validator.cpp
@@ -354,7 +354,8 @@ public:
case Expression::ReturnId:
case Expression::UnreachableId:
case Expression::ThrowId:
- case Expression::RethrowId: {
+ case Expression::RethrowId:
+ case Expression::ThrowRefId: {
// These can all be unreachable without an unreachable child.
return;
}
@@ -445,8 +446,10 @@ public:
void noteDelegate(Name name, Expression* curr);
void noteRethrow(Name name, Expression* curr);
void visitTry(Try* curr);
+ void visitTryTable(TryTable* curr);
void visitThrow(Throw* curr);
void visitRethrow(Rethrow* curr);
+ void visitThrowRef(ThrowRef* curr);
void visitTupleMake(TupleMake* curr);
void visitTupleExtract(TupleExtract* curr);
void visitCallRef(CallRef* curr);
@@ -2442,6 +2445,10 @@ void FunctionValidator::visitTry(Try* curr) {
rethrowTargetNames.erase(curr->name);
}
+void FunctionValidator::visitTryTable(TryTable* curr) {
+ // TODO
+}
+
void FunctionValidator::visitThrow(Throw* curr) {
shouldBeTrue(
getModule()->features.hasExceptionHandling(),
@@ -2516,6 +2523,10 @@ void FunctionValidator::visitTupleMake(TupleMake* curr) {
"Type of tuple.make does not match types of its operands");
}
+void FunctionValidator::visitThrowRef(ThrowRef* curr) {
+ // TODO
+}
+
void FunctionValidator::visitTupleExtract(TupleExtract* curr) {
shouldBeTrue(getModule()->features.hasMultivalue(),
curr,