llvm-project/llvm/test/MC/WebAssembly/basic-assembly-errors.s
Wouter van Oortmerssen 0b3cf247c4 [WebAssembly] Make segment/size/type directives optional in asm
Summary:
These were "boilerplate" that repeated information already present
in .functype and end_function, that needed to be repeated to Please
the particular way our object writing works, and missing them would
generate errors.

Instead, we generate the information for these automatically so the
user can concern itself with writing more canonical wasm functions
that always work as expected.

Reviewers: dschuff, sbc100

Subscribers: jgravelle-google, aheejin, sunfish, llvm-commits

Differential Revision: https://reviews.llvm.org/D57546

llvm-svn: 353067
2019-02-04 18:03:11 +00:00

21 lines
832 B
ArmAsm

# RUN: not llvm-mc -triple=wasm32-unknown-unknown -mattr=+simd128,+nontrapping-fptoint,+exception-handling < %s 2>&1 | FileCheck %s
# 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
loop
# CHECK: Block construct type mismatch, expected: end_loop, instead got: end_function
# 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