File: type.wast

package info (click to toggle)
cloc 2.06-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 8,064 kB
  • sloc: perl: 30,146; cpp: 1,219; python: 623; ansic: 334; asm: 267; makefile: 244; sh: 186; sql: 144; java: 136; ruby: 111; cs: 104; pascal: 52; lisp: 50; haskell: 35; f90: 35; cobol: 35; objc: 25; php: 22; javascript: 15; fortran: 9; ml: 8; xml: 7; tcl: 2
file content (60 lines) | stat: -rw-r--r-- 1,750 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
;; https://github.com/WebAssembly/spec/blob/master/test/core/type.wast
;; Test type definitions

(module
  (type (func))
  (type $t (func))

  (type (func (param i32)))
  (type (func (param $x i32)))
  (type (func (result i32)))
  (type (func (param i32) (result i32)))
  (type (func (param $x i32) (result i32)))

  (type (func (param f32 f64)))
  ;; (type (func (result i64 f32)))
  ;; (type (func (param i32 i64) (result f32 f64)))

  (type (func (param f32) (param f64)))
  (type (func (param $x f32) (param f64)))
  (type (func (param f32) (param $y f64)))
  (type (func (param $x f32) (param $y f64)))
  ;; (type (func (result i64) (result f32)))
  ;; (type (func (param i32) (param i64) (result f32) (result f64)))
  ;; (type (func (param $x i32) (param $y i64) (result f32) (result f64)))

  (type (func (param f32 f64) (param $x i32) (param f64 i32 i32)))
  ;; (type (func (result i64 i64 f32) (result f32 i32)))
  ;; (type
  ;;   (func (param i32 i32) (param i64 i32) (result f32 f64) (result f64 i32))
  ;; )

  (type (func (param) (param $x f32) (param) (param) (param f64 i32) (param)))
  ;; (type
  ;;   (func (result) (result) (result i64 i64) (result) (result f32) (result))
  ;; )
  ;; (type
  ;;   (func
  ;;     (param i32 i32) (param i64 i32) (param) (param $x i32) (param)
  ;;     (result) (result f32 f64) (result f64 i32) (result)
  ;;   )
  ;; )
)

(assert_malformed
  (module quote "(type (func (result i32) (param i32)))")
  "result before parameter"
)
(assert_malformed
  (module quote "(type (func (result $x i32)))")
  "unexpected token"
)

(assert_invalid
  (module (type (func (result i32 i32))))
  "invalid result arity"
)
(assert_invalid
  (module (type (func (result i32) (result i32))))
  "invalid result arity"
)