summaryrefslogtreecommitdiff
path: root/test/lit/gc-eh.wast
diff options
context:
space:
mode:
Diffstat (limited to 'test/lit/gc-eh.wast')
-rw-r--r--test/lit/gc-eh.wast17
1 files changed, 16 insertions, 1 deletions
diff --git a/test/lit/gc-eh.wast b/test/lit/gc-eh.wast
index 07e2f18b7..7a69f01ab 100644
--- a/test/lit/gc-eh.wast
+++ b/test/lit/gc-eh.wast
@@ -3,15 +3,17 @@
;; Check that pops of GC types work correctly.
;; RUN: wasm-opt -all %s -S -o - | filecheck %s
-;; RUN: wasm-opt -all --nominal %s -S -o - | filecheck %s
+;; RUN: wasm-opt -all --nominal %s -S -o - | filecheck %s --check-prefix=NOMNL
(module
;; CHECK: (type $A (struct (field (mut i32))))
+ ;; NOMNL: (type $A (struct_subtype (field (mut i32)) data))
(type $A (struct
(field (mut i32))
))
;; CHECK: (tag $tagA (param (ref $A)))
+ ;; NOMNL: (tag $tagA (param (ref $A)))
(tag $tagA (param (ref $A)))
;; CHECK: (func $foo (result (ref null $A))
@@ -27,6 +29,19 @@
;; CHECK-NEXT: )
;; CHECK-NEXT: (ref.null $A)
;; CHECK-NEXT: )
+ ;; NOMNL: (func $foo (result (ref null $A))
+ ;; NOMNL-NEXT: (try $try
+ ;; NOMNL-NEXT: (do
+ ;; NOMNL-NEXT: (nop)
+ ;; NOMNL-NEXT: )
+ ;; NOMNL-NEXT: (catch $tagA
+ ;; NOMNL-NEXT: (return
+ ;; NOMNL-NEXT: (pop (ref $A))
+ ;; NOMNL-NEXT: )
+ ;; NOMNL-NEXT: )
+ ;; NOMNL-NEXT: )
+ ;; NOMNL-NEXT: (ref.null $A)
+ ;; NOMNL-NEXT: )
(func $foo (result (ref null $A))
(try
(do