diff options
-rw-r--r-- | src/wasm/wasm-validator.cpp | 2 | ||||
-rw-r--r-- | test/exception-handling.wast | 6 | ||||
-rw-r--r-- | test/exception-handling.wast.from-wast | 8 | ||||
-rw-r--r-- | test/exception-handling.wast.fromBinary | 6 | ||||
-rw-r--r-- | test/exception-handling.wast.fromBinary.noDebugInfo | 6 |
5 files changed, 14 insertions, 14 deletions
diff --git a/src/wasm/wasm-validator.cpp b/src/wasm/wasm-validator.cpp index bc51d8b63..10310f8c0 100644 --- a/src/wasm/wasm-validator.cpp +++ b/src/wasm/wasm-validator.cpp @@ -2175,7 +2175,7 @@ void FunctionValidator::visitTry(Try* curr) { } else { if (shouldBeTrue(pops.size() == 1, curr, "")) { auto* pop = *pops.begin(); - if (!shouldBeSubType(pop->type, tag->sig.params, curr, "")) { + if (!shouldBeSubType(tag->sig.params, pop->type, curr, "")) { getStream() << "catch's tag (" << tagName << ")'s pop doesn't have the same type as the tag's params"; diff --git a/test/exception-handling.wast b/test/exception-handling.wast index 642856f03..93dbe41ba 100644 --- a/test/exception-handling.wast +++ b/test/exception-handling.wast @@ -2,7 +2,7 @@ (tag $e-i32 (param i32)) (tag $e-i64 (param i64)) (tag $e-i32-i64 (param i32 i64)) - (tag $e-anyref (param anyref)) + (tag $e-funcref (param funcref)) (tag $e-empty) (func $foo) @@ -330,9 +330,9 @@ (try (do) - (catch $e-anyref + (catch $e-funcref (drop - (pop funcref) ;; pop can be subtype + (pop anyref) ;; pop can be supertype ) ) ) diff --git a/test/exception-handling.wast.from-wast b/test/exception-handling.wast.from-wast index 2427a1ee1..be14cda0f 100644 --- a/test/exception-handling.wast.from-wast +++ b/test/exception-handling.wast.from-wast @@ -3,11 +3,11 @@ (type $i32_=>_none (func (param i32))) (type $i64_=>_none (func (param i64))) (type $i32_i64_=>_none (func (param i32 i64))) - (type $anyref_=>_none (func (param anyref))) + (type $funcref_=>_none (func (param funcref))) (tag $e-i32 (param i32)) (tag $e-i64 (param i64)) (tag $e-i32-i64 (param i32 i64)) - (tag $e-anyref (param anyref)) + (tag $e-funcref (param funcref)) (tag $e-empty (param)) (func $foo (nop) @@ -372,9 +372,9 @@ (do (nop) ) - (catch $e-anyref + (catch $e-funcref (drop - (pop funcref) + (pop anyref) ) ) ) diff --git a/test/exception-handling.wast.fromBinary b/test/exception-handling.wast.fromBinary index f88e54507..5642a4f2d 100644 --- a/test/exception-handling.wast.fromBinary +++ b/test/exception-handling.wast.fromBinary @@ -3,11 +3,11 @@ (type $i32_=>_none (func (param i32))) (type $i64_=>_none (func (param i64))) (type $i32_i64_=>_none (func (param i32 i64))) - (type $anyref_=>_none (func (param anyref))) + (type $funcref_=>_none (func (param funcref))) (tag $tag$0 (param i32)) (tag $tag$1 (param i64)) (tag $tag$2 (param i32 i64)) - (tag $tag$3 (param anyref)) + (tag $tag$3 (param funcref)) (tag $tag$4 (param)) (func $foo (nop) @@ -403,7 +403,7 @@ ) (catch $tag$3 (drop - (pop anyref) + (pop funcref) ) ) ) diff --git a/test/exception-handling.wast.fromBinary.noDebugInfo b/test/exception-handling.wast.fromBinary.noDebugInfo index c65a216c3..08d31f361 100644 --- a/test/exception-handling.wast.fromBinary.noDebugInfo +++ b/test/exception-handling.wast.fromBinary.noDebugInfo @@ -3,11 +3,11 @@ (type $i32_=>_none (func (param i32))) (type $i64_=>_none (func (param i64))) (type $i32_i64_=>_none (func (param i32 i64))) - (type $anyref_=>_none (func (param anyref))) + (type $funcref_=>_none (func (param funcref))) (tag $tag$0 (param i32)) (tag $tag$1 (param i64)) (tag $tag$2 (param i32 i64)) - (tag $tag$3 (param anyref)) + (tag $tag$3 (param funcref)) (tag $tag$4 (param)) (func $0 (nop) @@ -403,7 +403,7 @@ ) (catch $tag$3 (drop - (pop anyref) + (pop funcref) ) ) ) |