1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
llvm-mirror/test/MC/WebAssembly/basic-assembly-errors.s
Heejin Ahn 91168a9374 [WebAssembly] Update InstPrinter and AsmParser for new EH instructions
This updates InstPrinter and AsmParser for `delegate` and `catch_all`
instructions. Both will reject programs with multiple `catch_all`s per a
single `try`. And InstPrinter uses `EHInstStack` to figure out whether
to print catch label comments: It does not print catch label comments
for second `catch` or `catch_all` in a `try`.

Reviewed By: aardappel

Differential Revision: https://reviews.llvm.org/D94051
2021-02-06 08:54:56 -08:00

37 lines
1.3 KiB
ArmAsm

# RUN: not llvm-mc -triple=wasm32-unknown-unknown -mattr=+simd128,+nontrapping-fptoint,+exception-handling < %s 2>&1 | FileCheck %s
# CHECK: invalid operand for instruction
# (must be 0.0 or similar)
f32.const 0
# CHECK: Wasm doesn't support data symbols in text sections
.type objerr,@object
objerr:
# CHECK: End of block construct with no start: end_try
end_try
test0:
.functype test0 () -> ()
# CHECK: Block construct type mismatch, expected: end_function, instead got: end_loop
end_loop
block
# CHECK: Block construct type mismatch, expected: end_block, instead got: end_if
end_if
try
# CHECK: Block construct type mismatch, expected: end_try/delegate, instead got: end_block
end_block
loop
try
catch_all
catch_all
# CHECK: error: Block construct type mismatch, expected: end_try, instead got: catch_all
end
# CHECK: Block construct type mismatch, expected: end_try, instead got: end_function
# CHECK: error: Unmatched block construct(s) at function end: catch_all
# CHECK: error: Unmatched block construct(s) at function end: loop
# CHECK: error: Unmatched block construct(s) at function end: try
# CHECK: error: Unmatched block construct(s) at function end: block
# CHECK: error: Unmatched block construct(s) at function end: function
end_function