]> git.proxmox.com Git - rustc.git/blob - src/binaryen/test/spec/start.wast
New upstream version 1.25.0+dfsg1
[rustc.git] / src / binaryen / test / spec / start.wast
1 (assert_invalid
2 (module (func) (start 1))
3 "unknown function"
4 )
5 (assert_invalid
6 (module
7 (func $main (result i32) (return (i32.const 0)))
8 (start $main)
9 )
10 "start function"
11 )
12 (assert_invalid
13 (module
14 (func $main (param $a i32))
15 (start $main)
16 )
17 "start function"
18 )
19 (module
20 (memory (data "A"))
21 (func $inc
22 (i32.store8
23 (i32.const 0)
24 (i32.add
25 (i32.load8_u (i32.const 0))
26 (i32.const 1)
27 )
28 )
29 )
30 (func $get (result i32)
31 (return (i32.load8_u (i32.const 0)))
32 )
33 (func $main
34 (call $inc)
35 (call $inc)
36 (call $inc)
37 )
38
39 (start $main)
40 (export "inc" (func $inc))
41 (export "get" (func $get))
42 )
43 (assert_return (invoke "get") (i32.const 68))
44 (invoke "inc")
45 (assert_return (invoke "get") (i32.const 69))
46 (invoke "inc")
47 (assert_return (invoke "get") (i32.const 70))
48
49 (module
50 (memory (data "A"))
51 (func $inc
52 (i32.store8
53 (i32.const 0)
54 (i32.add
55 (i32.load8_u (i32.const 0))
56 (i32.const 1)
57 )
58 )
59 )
60 (func $get (result i32)
61 (return (i32.load8_u (i32.const 0)))
62 )
63 (func $main
64 (call $inc)
65 (call $inc)
66 (call $inc)
67 )
68 (start 2)
69 (export "inc" (func $inc))
70 (export "get" (func $get))
71 )
72 (assert_return (invoke "get") (i32.const 68))
73 (invoke "inc")
74 (assert_return (invoke "get") (i32.const 69))
75 (invoke "inc")
76 (assert_return (invoke "get") (i32.const 70))
77
78 (module
79 (func $print_i32 (import "spectest" "print") (param i32))
80 (func $main (call $print_i32 (i32.const 1)))
81 (start 1)
82 )
83
84 (module
85 (func $print_i32 (import "spectest" "print") (param i32))
86 (func $main (call $print_i32 (i32.const 2)))
87 (start $main)
88 )