xref: /llvm-project/llvm/test/MC/WebAssembly/basic-assembly-errors.s (revision defb8fb2c67f1f5052f236f2eefeae028c0b3f15)
1# RUN: not llvm-mc -triple=wasm32-unknown-unknown -mattr=+simd128,+nontrapping-fptoint,+exception-handling %s 2>&1 | FileCheck %s
2
3# CHECK: invalid operand for instruction
4# (must be 0.0 or similar)
5    f32.const 0
6
7# CHECK: basic-assembly-errors.s:9:1: error: Wasm doesn't support data symbols in text sections
8.type objerr,@object
9objerr:
10
11# CHECK: End of block construct with no start: end_try
12    end_try
13test0:
14    .functype   test0 () -> ()
15# CHECK: Block construct type mismatch, expected: end_function, instead got: end_loop
16    end_loop
17    block
18# CHECK: Block construct type mismatch, expected: end_block, instead got: end_if
19    end_if
20    try
21# CHECK: Block construct type mismatch, expected: end_try/delegate, instead got: end_block
22    end_block
23    loop
24    try
25    catch_all
26    catch_all
27# CHECK: error: Block construct type mismatch, expected: end_try, instead got: catch_all
28    end
29
30# CHECK: error: Expected integer constant, instead got: )
31    try_table (catch __cpp_exception)
32    end_try_table
33
34    block
35# CHECK: error: invalid operand for instruction
36    try_table (catch_all 0) i32
37    i32.const 0
38    end_try_table
39    drop
40    end_block
41
42    block
43# CHECK: error: Expected identifier, got: )
44    try_table (catch_all 0) () -> (i32, i32)
45    i32.const 0
46    i32.const 0
47    end_try_table
48    drop
49    drop
50    end_block
51
52# CHECK: error: unknown type: not_catch
53    try_table (not_catch 0)
54
55# CHECK: Block construct type mismatch, expected: end_try_table, instead got: end_function
56    end_function
57# CHECK: error: Unmatched block construct(s) at function end: try_table
58# CHECK: error: Unmatched block construct(s) at function end: catch_all
59# CHECK: error: Unmatched block construct(s) at function end: loop
60# CHECK: error: Unmatched block construct(s) at function end: try
61# CHECK: error: Unmatched block construct(s) at function end: block
62# CHECK: error: Unmatched block construct(s) at function end: function
63