diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/lit/table-first-special.wast | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/test/lit/table-first-special.wast b/test/lit/table-first-special.wast new file mode 100644 index 000000000..0ddc730b9 --- /dev/null +++ b/test/lit/table-first-special.wast @@ -0,0 +1,42 @@ +;; NOTE: Assertions have been generated by update_lit_checks.py --all-items and should not be edited. + +;; RUN: wasm-as %s -all -g -o %t.wasm +;; RUN: wasm-dis %t.wasm -all -o %t.wast +;; RUN: wasm-as %s -all -o %t.nodebug.wasm +;; RUN: wasm-dis %t.nodebug.wasm -all -o %t.nodebug.wast +;; RUN: wasm-opt %t.wast -all -o %t.text.wast -g -S +;; RUN: cat %t.wast | filecheck %s --check-prefix=CHECK-BINARY +;; RUN: cat %t.nodebug.wast | filecheck %s --check-prefix=CHECK-NODEBUG +;; RUN: cat %t.text.wast | filecheck %s --check-prefix=CHECK-TEXT + +;; The very first table has a specialized type, as does its element segment. +;; Verify that we can roundtrip that. +(module + ;; CHECK-BINARY: (type $vii (func (param i32 i32))) + ;; CHECK-TEXT: (type $vii (func (param i32 i32))) + (type $vii (func (param i32 i32))) + ;; CHECK-BINARY: (table $table-1 10 10 (ref null $vii)) + ;; CHECK-TEXT: (table $table-1 10 10 (ref null $vii)) + (table $table-1 10 10 (ref null $vii)) + ;; CHECK-BINARY: (elem $elem-1 (table $table-1) (i32.const 0) (ref null $vii)) + ;; CHECK-TEXT: (elem $elem-1 (table $table-1) (i32.const 0) (ref null $vii)) + (elem $elem-1 (table $table-1) (i32.const 0) (ref null $vii)) + ;; CHECK-BINARY: (func $foo (param $0 i32) (param $1 i32) + ;; CHECK-BINARY-NEXT: (nop) + ;; CHECK-BINARY-NEXT: ) + ;; CHECK-TEXT: (func $foo (param $0 i32) (param $1 i32) + ;; CHECK-TEXT-NEXT: (nop) + ;; CHECK-TEXT-NEXT: ) + (func $foo (param $0 i32) (param $1 i32) + (nop) + ) +) +;; CHECK-NODEBUG: (type $i32_i32_=>_none (func (param i32 i32))) + +;; CHECK-NODEBUG: (table $0 10 10 (ref null $i32_i32_=>_none)) + +;; CHECK-NODEBUG: (elem (table $0) (i32.const 0) (ref null $i32_i32_=>_none)) + +;; CHECK-NODEBUG: (func $0 (param $0 i32) (param $1 i32) +;; CHECK-NODEBUG-NEXT: (nop) +;; CHECK-NODEBUG-NEXT: ) |