summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/wasm/wasm-validator.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/wasm/wasm-validator.cpp b/src/wasm/wasm-validator.cpp
index b92727e0e..239c79e3f 100644
--- a/src/wasm/wasm-validator.cpp
+++ b/src/wasm/wasm-validator.cpp
@@ -3683,11 +3683,16 @@ static void validateTags(Module& module, ValidationInfo& info) {
curr->name,
"Multivalue tag type requires multivalue [--enable-multivalue]");
}
+ FeatureSet features;
for (const auto& param : curr->sig.params) {
+ features |= param.getFeatures();
info.shouldBeTrue(param.isConcrete(),
curr->name,
"Values in a tag should have concrete types");
}
+ info.shouldBeTrue(features <= module.features,
+ curr->name,
+ "all param types in tags should be allowed");
}
}