summaryrefslogtreecommitdiff
path: root/test/lit/tail-call.wast
diff options
context:
space:
mode:
Diffstat (limited to 'test/lit/tail-call.wast')
-rw-r--r--test/lit/tail-call.wast32
1 files changed, 17 insertions, 15 deletions
diff --git a/test/lit/tail-call.wast b/test/lit/tail-call.wast
index 6948bd001..f4143e100 100644
--- a/test/lit/tail-call.wast
+++ b/test/lit/tail-call.wast
@@ -8,7 +8,7 @@
(module
;; CHECK: (type $void (func))
- ;; NOMNL: (type $void (func_subtype func))
+ ;; NOMNL: (type $void (func))
(type $void (func))
;; CHECK: (table $t 1 1 funcref)
@@ -19,7 +19,7 @@
;; NOMNL: (elem $e (i32.const 0) $foo)
(elem $e (i32.const 0) $foo)
- ;; CHECK: (func $foo
+ ;; CHECK: (func $foo (type $void)
;; CHECK-NEXT: (return_call $bar)
;; CHECK-NEXT: )
;; NOMNL: (func $foo (type $void)
@@ -29,7 +29,7 @@
(return_call $bar)
)
- ;; CHECK: (func $bar
+ ;; CHECK: (func $bar (type $void)
;; CHECK-NEXT: (return_call_indirect $t (type $void)
;; CHECK-NEXT: (i32.const 0)
;; CHECK-NEXT: )
@@ -46,22 +46,24 @@
;; Check GC types and subtyping
(module
- ;; CHECK: (type $return-B (func (result (ref $B))))
- ;; NOMNL: (type $return-B (func_subtype (result (ref $B)) func))
- (type $return-B (func (result (ref $B))))
+ ;; CHECK: (type $A (struct (field i32)))
+ ;; NOMNL: (type $return-B (func (result (ref $B))))
- ;; CHECK: (type $return-A (func (result (ref null $A))))
- ;; NOMNL: (type $return-A (func_subtype (result (ref null $A)) func))
- (type $return-A (func (result (ref null $A))))
+ ;; NOMNL: (type $return-A (func (result (ref null $A))))
- ;; CHECK: (type $A (struct (field i32)))
- ;; NOMNL: (type $A (struct_subtype (field i32) data))
+ ;; NOMNL: (type $A (struct (field i32)))
(type $A (struct i32))
- ;; CHECK: (type $B (struct (field i32) (field i32)))
+ ;; CHECK: (type $B (struct_subtype (field i32) (field i32) $A))
;; NOMNL: (type $B (struct_subtype (field i32) (field i32) $A))
(type $B (struct_subtype i32 i32 $A))
+ ;; CHECK: (type $return-B (func (result (ref $B))))
+ (type $return-B (func (result (ref $B))))
+
+ ;; CHECK: (type $return-A (func (result (ref null $A))))
+ (type $return-A (func (result (ref null $A))))
+
;; CHECK: (table $t 1 1 funcref)
;; NOMNL: (table $t 1 1 funcref)
(table $t 1 1 funcref)
@@ -70,7 +72,7 @@
;; NOMNL: (elem $e (i32.const 0) $callee)
(elem $e (i32.const 0) $callee)
- ;; CHECK: (func $caller (result (ref null $A))
+ ;; CHECK: (func $caller (type $return-A) (result (ref null $A))
;; CHECK-NEXT: (return_call $callee)
;; CHECK-NEXT: )
;; NOMNL: (func $caller (type $return-A) (result (ref null $A))
@@ -80,7 +82,7 @@
(return_call $callee)
)
- ;; CHECK: (func $caller-indirect (result (ref $B))
+ ;; CHECK: (func $caller-indirect (type $return-B) (result (ref $B))
;; CHECK-NEXT: (return_call_indirect $t (type $return-B)
;; CHECK-NEXT: (i32.const 0)
;; CHECK-NEXT: )
@@ -94,7 +96,7 @@
(return_call_indirect $t (type $return-B) (i32.const 0))
)
- ;; CHECK: (func $callee (result (ref $B))
+ ;; CHECK: (func $callee (type $return-B) (result (ref $B))
;; CHECK-NEXT: (unreachable)
;; CHECK-NEXT: )
;; NOMNL: (func $callee (type $return-B) (result (ref $B))