Skip to content

Commit 2064557

Browse files
authored
[WebAssembly] Add more EH assembly test cases (#108654)
This adds assembly tests for a catch-less `try` and a `try` with a multivalue return.
1 parent 22aeec3 commit 2064557

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

llvm/test/MC/WebAssembly/eh-assembly.s

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,21 @@ eh_legacy_test:
3737
catch __cpp_exception
3838
end_try
3939
drop
40+
41+
# try-catch with a mulvivalue return
42+
try () -> (i32, f32)
43+
i32.const 0
44+
f32.const 0.0
45+
catch __cpp_exception
46+
f32.const 1.0
47+
end_try
48+
drop
49+
drop
50+
51+
# Catch-less try
52+
try
53+
call foo
54+
end_try
4055
end_function
4156

4257
# CHECK-LABEL: eh_legacy_test:
@@ -66,4 +81,18 @@ eh_legacy_test:
6681
# CHECK-NEXT: catch __cpp_exception
6782
# CHECK-NEXT: end_try
6883
# CHECK-NEXT: drop
84+
85+
# CHECK: try () -> (i32, f32)
86+
# CHECK-NEXT: i32.const 0
87+
# CHECK-NEXT: f32.const 0x0p0
88+
# CHECK-NEXT: catch __cpp_exception
89+
# CHECK-NEXT: f32.const 0x1p0
90+
# CHECK-NEXT: end_try
91+
# CHECK-NEXT: drop
92+
# CHECK-NEXT: drop
93+
94+
# CHECK: try
95+
# CHECK-NEXT: call foo
96+
# CHECK-NEXT: end_try
6997
# CHECK-NEXT: end_function
98+

0 commit comments

Comments
 (0)