Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit a10be02

Browse filesBrowse files
committed
Add tests
1 parent bbaf4e4 commit a10be02
Copy full SHA for a10be02

File tree

1 file changed

+237
-0
lines changed
Filter options

1 file changed

+237
-0
lines changed
+237
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,237 @@
1+
# RUN: llvm-mc -filetype=obj -triple=wasm32-unknown-unknown %s -o %t.o
2+
3+
# RUN: wasm-ld -o %t.wasm %t.o
4+
# RUN: obj2yaml %t.wasm | FileCheck %s -check-prefix=CHECK-DEFAULT
5+
6+
# RUN: wasm-ld --function-pointer-alignment=2 -o %t.wasm %t.o
7+
# RUN: obj2yaml %t.wasm | FileCheck %s -check-prefix=CHECK-2
8+
9+
# RUN: wasm-ld --function-pointer-alignment=3 -o %t.wasm %t.o
10+
# RUN: obj2yaml %t.wasm | FileCheck %s -check-prefix=CHECK-3
11+
12+
.functype func1 () -> ()
13+
.functype func2 () -> ()
14+
15+
.globl _start
16+
_start:
17+
.functype _start () -> ()
18+
i32.const func1
19+
drop
20+
i32.const func2
21+
drop
22+
end_function
23+
24+
.globl func1
25+
func1:
26+
.functype func1 () -> ()
27+
end_function
28+
29+
.globl func2
30+
func2:
31+
.functype func2 () -> ()
32+
end_function
33+
34+
35+
# CHECK-DEFAULT: --- !WASM
36+
# CHECK-DEFAULT-NEXT: FileHeader:
37+
# CHECK-DEFAULT-NEXT: Version: 0x1
38+
# CHECK-DEFAULT-NEXT: Sections:
39+
# CHECK-DEFAULT-NEXT: - Type: TYPE
40+
# CHECK-DEFAULT-NEXT: Signatures:
41+
# CHECK-DEFAULT-NEXT: - Index: 0
42+
# CHECK-DEFAULT-NEXT: ParamTypes: []
43+
# CHECK-DEFAULT-NEXT: ReturnTypes: []
44+
# CHECK-DEFAULT-NEXT: - Type: FUNCTION
45+
# CHECK-DEFAULT-NEXT: FunctionTypes: [ 0, 0, 0 ]
46+
# CHECK-DEFAULT-NEXT: - Type: TABLE
47+
# CHECK-DEFAULT-NEXT: Tables:
48+
# CHECK-DEFAULT-NEXT: - Index: 0
49+
# CHECK-DEFAULT-NEXT: ElemType: FUNCREF
50+
# CHECK-DEFAULT-NEXT: Limits:
51+
# CHECK-DEFAULT-NEXT: Flags: [ HAS_MAX ]
52+
# CHECK-DEFAULT-NEXT: Minimum: 0x3
53+
# CHECK-DEFAULT-NEXT: Maximum: 0x3
54+
# CHECK-DEFAULT-NEXT: - Type: MEMORY
55+
# CHECK-DEFAULT-NEXT: Memories:
56+
# CHECK-DEFAULT-NEXT: - Minimum: 0x2
57+
# CHECK-DEFAULT-NEXT: - Type: GLOBAL
58+
# CHECK-DEFAULT-NEXT: Globals:
59+
# CHECK-DEFAULT-NEXT: - Index: 0
60+
# CHECK-DEFAULT-NEXT: Type: I32
61+
# CHECK-DEFAULT-NEXT: Mutable: true
62+
# CHECK-DEFAULT-NEXT: InitExpr:
63+
# CHECK-DEFAULT-NEXT: Opcode: I32_CONST
64+
# CHECK-DEFAULT-NEXT: Value: 66560
65+
# CHECK-DEFAULT-NEXT: - Type: EXPORT
66+
# CHECK-DEFAULT-NEXT: Exports:
67+
# CHECK-DEFAULT-NEXT: - Name: memory
68+
# CHECK-DEFAULT-NEXT: Kind: MEMORY
69+
# CHECK-DEFAULT-NEXT: Index: 0
70+
# CHECK-DEFAULT-NEXT: - Name: _start
71+
# CHECK-DEFAULT-NEXT: Kind: FUNCTION
72+
# CHECK-DEFAULT-NEXT: Index: 0
73+
# CHECK-DEFAULT-NEXT: - Type: ELEM
74+
# CHECK-DEFAULT-NEXT: Segments:
75+
# CHECK-DEFAULT-NEXT: - Offset:
76+
# CHECK-DEFAULT-NEXT: Opcode: I32_CONST
77+
# CHECK-DEFAULT-NEXT: Value: 1
78+
# CHECK-DEFAULT-NEXT: Functions: [ 1, 2 ]
79+
# CHECK-DEFAULT-NEXT: - Type: CODE
80+
# CHECK-DEFAULT-NEXT: Functions:
81+
# CHECK-DEFAULT-NEXT: - Index: 0
82+
# CHECK-DEFAULT-NEXT: Locals: []
83+
# CHECK-DEFAULT-NEXT: Body: 4181808080001A4182808080001A0B
84+
# CHECK-DEFAULT-NEXT: - Index: 1
85+
# CHECK-DEFAULT-NEXT: Locals: []
86+
# CHECK-DEFAULT-NEXT: Body: 0B
87+
# CHECK-DEFAULT-NEXT: - Index: 2
88+
# CHECK-DEFAULT-NEXT: Locals: []
89+
# CHECK-DEFAULT-NEXT: Body: 0B
90+
# CHECK-DEFAULT-NEXT: - Type: CUSTOM
91+
# CHECK-DEFAULT-NEXT: Name: name
92+
# CHECK-DEFAULT-NEXT: FunctionNames:
93+
# CHECK-DEFAULT-NEXT: - Index: 0
94+
# CHECK-DEFAULT-NEXT: Name: _start
95+
# CHECK-DEFAULT-NEXT: - Index: 1
96+
# CHECK-DEFAULT-NEXT: Name: func1
97+
# CHECK-DEFAULT-NEXT: - Index: 2
98+
# CHECK-DEFAULT-NEXT: Name: func2
99+
# CHECK-DEFAULT-NEXT: GlobalNames:
100+
# CHECK-DEFAULT-NEXT: - Index: 0
101+
# CHECK-DEFAULT-NEXT: Name: __stack_pointer
102+
103+
# CHECK-2: --- !WASM
104+
# CHECK-2-NEXT: FileHeader:
105+
# CHECK-2-NEXT: Version: 0x1
106+
# CHECK-2-NEXT: Sections:
107+
# CHECK-2-NEXT: - Type: TYPE
108+
# CHECK-2-NEXT: Signatures:
109+
# CHECK-2-NEXT: - Index: 0
110+
# CHECK-2-NEXT: ParamTypes: []
111+
# CHECK-2-NEXT: ReturnTypes: []
112+
# CHECK-2-NEXT: - Type: FUNCTION
113+
# CHECK-2-NEXT: FunctionTypes: [ 0, 0, 0 ]
114+
# CHECK-2-NEXT: - Type: TABLE
115+
# CHECK-2-NEXT: Tables:
116+
# CHECK-2-NEXT: - Index: 0
117+
# CHECK-2-NEXT: ElemType: FUNCREF
118+
# CHECK-2-NEXT: Limits:
119+
# CHECK-2-NEXT: Flags: [ HAS_MAX ]
120+
# CHECK-2-NEXT: Minimum: 0x4
121+
# CHECK-2-NEXT: Maximum: 0x4
122+
# CHECK-2-NEXT: - Type: MEMORY
123+
# CHECK-2-NEXT: Memories:
124+
# CHECK-2-NEXT: - Minimum: 0x2
125+
# CHECK-2-NEXT: - Type: GLOBAL
126+
# CHECK-2-NEXT: Globals:
127+
# CHECK-2-NEXT: - Index: 0
128+
# CHECK-2-NEXT: Type: I32
129+
# CHECK-2-NEXT: Mutable: true
130+
# CHECK-2-NEXT: InitExpr:
131+
# CHECK-2-NEXT: Opcode: I32_CONST
132+
# CHECK-2-NEXT: Value: 66560
133+
# CHECK-2-NEXT: - Type: EXPORT
134+
# CHECK-2-NEXT: Exports:
135+
# CHECK-2-NEXT: - Name: memory
136+
# CHECK-2-NEXT: Kind: MEMORY
137+
# CHECK-2-NEXT: Index: 0
138+
# CHECK-2-NEXT: - Name: _start
139+
# CHECK-2-NEXT: Kind: FUNCTION
140+
# CHECK-2-NEXT: Index: 0
141+
# CHECK-2-NEXT: - Type: ELEM
142+
# CHECK-2-NEXT: Segments:
143+
# CHECK-2-NEXT: - Offset:
144+
# CHECK-2-NEXT: Opcode: I32_CONST
145+
# CHECK-2-NEXT: Value: 1
146+
# CHECK-2-NEXT: Functions: [ 1, 2, 0 ]
147+
# CHECK-2-NEXT: - Type: CODE
148+
# CHECK-2-NEXT: Functions:
149+
# CHECK-2-NEXT: - Index: 0
150+
# CHECK-2-NEXT: Locals: []
151+
# CHECK-2-NEXT: Body: 4181808080001A4182808080001A0B
152+
# CHECK-2-NEXT: - Index: 1
153+
# CHECK-2-NEXT: Locals: []
154+
# CHECK-2-NEXT: Body: 0B
155+
# CHECK-2-NEXT: - Index: 2
156+
# CHECK-2-NEXT: Locals: []
157+
# CHECK-2-NEXT: Body: 0B
158+
# CHECK-2-NEXT: - Type: CUSTOM
159+
# CHECK-2-NEXT: Name: name
160+
# CHECK-2-NEXT: FunctionNames:
161+
# CHECK-2-NEXT: - Index: 0
162+
# CHECK-2-NEXT: Name: _start
163+
# CHECK-2-NEXT: - Index: 1
164+
# CHECK-2-NEXT: Name: func1
165+
# CHECK-2-NEXT: - Index: 2
166+
# CHECK-2-NEXT: Name: func2
167+
# CHECK-2-NEXT: GlobalNames:
168+
# CHECK-2-NEXT: - Index: 0
169+
# CHECK-2-NEXT: Name: __stack_pointer
170+
171+
# CHECK-3: --- !WASM
172+
# CHECK-3-NEXT: FileHeader:
173+
# CHECK-3-NEXT: Version: 0x1
174+
# CHECK-3-NEXT: Sections:
175+
# CHECK-3-NEXT: - Type: TYPE
176+
# CHECK-3-NEXT: Signatures:
177+
# CHECK-3-NEXT: - Index: 0
178+
# CHECK-3-NEXT: ParamTypes: []
179+
# CHECK-3-NEXT: ReturnTypes: []
180+
# CHECK-3-NEXT: - Type: FUNCTION
181+
# CHECK-3-NEXT: FunctionTypes: [ 0, 0, 0 ]
182+
# CHECK-3-NEXT: - Type: TABLE
183+
# CHECK-3-NEXT: Tables:
184+
# CHECK-3-NEXT: - Index: 0
185+
# CHECK-3-NEXT: ElemType: FUNCREF
186+
# CHECK-3-NEXT: Limits:
187+
# CHECK-3-NEXT: Flags: [ HAS_MAX ]
188+
# CHECK-3-NEXT: Minimum: 0x6
189+
# CHECK-3-NEXT: Maximum: 0x6
190+
# CHECK-3-NEXT: - Type: MEMORY
191+
# CHECK-3-NEXT: Memories:
192+
# CHECK-3-NEXT: - Minimum: 0x2
193+
# CHECK-3-NEXT: - Type: GLOBAL
194+
# CHECK-3-NEXT: Globals:
195+
# CHECK-3-NEXT: - Index: 0
196+
# CHECK-3-NEXT: Type: I32
197+
# CHECK-3-NEXT: Mutable: true
198+
# CHECK-3-NEXT: InitExpr:
199+
# CHECK-3-NEXT: Opcode: I32_CONST
200+
# CHECK-3-NEXT: Value: 66560
201+
# CHECK-3-NEXT: - Type: EXPORT
202+
# CHECK-3-NEXT: Exports:
203+
# CHECK-3-NEXT: - Name: memory
204+
# CHECK-3-NEXT: Kind: MEMORY
205+
# CHECK-3-NEXT: Index: 0
206+
# CHECK-3-NEXT: - Name: _start
207+
# CHECK-3-NEXT: Kind: FUNCTION
208+
# CHECK-3-NEXT: Index: 0
209+
# CHECK-3-NEXT: - Type: ELEM
210+
# CHECK-3-NEXT: Segments:
211+
# CHECK-3-NEXT: - Offset:
212+
# CHECK-3-NEXT: Opcode: I32_CONST
213+
# CHECK-3-NEXT: Value: 1
214+
# CHECK-3-NEXT: Functions: [ 1, 0, 2, 0, 0 ]
215+
# CHECK-3-NEXT: - Type: CODE
216+
# CHECK-3-NEXT: Functions:
217+
# CHECK-3-NEXT: - Index: 0
218+
# CHECK-3-NEXT: Locals: []
219+
# CHECK-3-NEXT: Body: 4181808080001A4183808080001A0B
220+
# CHECK-3-NEXT: - Index: 1
221+
# CHECK-3-NEXT: Locals: []
222+
# CHECK-3-NEXT: Body: 0B
223+
# CHECK-3-NEXT: - Index: 2
224+
# CHECK-3-NEXT: Locals: []
225+
# CHECK-3-NEXT: Body: 0B
226+
# CHECK-3-NEXT: - Type: CUSTOM
227+
# CHECK-3-NEXT: Name: name
228+
# CHECK-3-NEXT: FunctionNames:
229+
# CHECK-3-NEXT: - Index: 0
230+
# CHECK-3-NEXT: Name: _start
231+
# CHECK-3-NEXT: - Index: 1
232+
# CHECK-3-NEXT: Name: func1
233+
# CHECK-3-NEXT: - Index: 2
234+
# CHECK-3-NEXT: Name: func2
235+
# CHECK-3-NEXT: GlobalNames:
236+
# CHECK-3-NEXT: - Index: 0
237+
# CHECK-3-NEXT: Name: __stack_pointer

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.