diff options
-rw-r--r-- | src/wasm/wasm-validator.cpp | 5 |
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"); } } |