summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/lit/binary/prototype-nominal-format.test27
-rw-r--r--test/lit/binary/prototype-nominal-format.test.wasmbin0 -> 211 bytes
2 files changed, 27 insertions, 0 deletions
diff --git a/test/lit/binary/prototype-nominal-format.test b/test/lit/binary/prototype-nominal-format.test
new file mode 100644
index 000000000..def3e1473
--- /dev/null
+++ b/test/lit/binary/prototype-nominal-format.test
@@ -0,0 +1,27 @@
+;; Test the we can properly parse the prototype nominal binary format that we no
+;; longer emit.
+
+;; RUN: wasm-dis %s.wasm -all | filecheck %s
+
+;; CHECK: (module
+;; CHECK-NEXT: (type $super-struct (struct (field i32)))
+;; CHECK-NEXT: (type $sub-struct (struct (field i32) (field i64)))
+;; CHECK-NEXT: (type $none_=>_ref|$super-struct| (func (result (ref $super-struct))))
+;; CHECK-NEXT: (type $none_=>_ref|$sub-struct| (func (result (ref $sub-struct))))
+;; CHECK-NEXT: (type $none_=>_ref|$super-array| (func (result (ref $super-array))))
+;; CHECK-NEXT: (type $none_=>_ref|$sub-array| (func (result (ref $sub-array))))
+;; CHECK-NEXT: (type $super-array (array (ref $super-struct)))
+;; CHECK-NEXT: (type $sub-array (array (ref $sub-struct)))
+;; CHECK-NEXT: (func $make-super-struct (result (ref $super-struct))
+;; CHECK-NEXT: (call $make-sub-struct)
+;; CHECK-NEXT: )
+;; CHECK-NEXT: (func $make-sub-struct (result (ref $sub-struct))
+;; CHECK-NEXT: (unreachable)
+;; CHECK-NEXT: )
+;; CHECK-NEXT: (func $make-super-array (result (ref $super-array))
+;; CHECK-NEXT: (call $make-sub-array)
+;; CHECK-NEXT: )
+;; CHECK-NEXT: (func $make-sub-array (result (ref $sub-array))
+;; CHECK-NEXT: (unreachable)
+;; CHECK-NEXT: )
+;; CHECK-NEXT: )
diff --git a/test/lit/binary/prototype-nominal-format.test.wasm b/test/lit/binary/prototype-nominal-format.test.wasm
new file mode 100644
index 000000000..97485ae4f
--- /dev/null
+++ b/test/lit/binary/prototype-nominal-format.test.wasm
Binary files differ