blob: 552093bc555bd92a7af7a16f46433ad8c11455a1 [file] [log] [blame]
# RUN: llvm-mc -triple=wasm32 -mattr=+tail-call %s 2>&1
# XFAIL: *
# FIXME: These shouldn't produce an error, as return will implicitly drop any
# superfluous values.
return_superfluous_return_values:
.functype return_superfluous_return_values () -> ()
i32.const 1
f32.const 2.0
return
end_function
return_call_indirect_superfluous_return_values:
.functype return_call_indirect_superfluous_return_values () -> ()
f32.const 1.0
i32.const 2
return_call_indirect () -> ()
end_function
.functype fn_void_to_void () -> ()
return_call_superfluous_return_values:
.functype return_call_superfluous_return_values () -> ()
f32.const 1.0
i32.const 2
return_call fn_void_to_void
end_function
# Unreachable code is stack-polymorphic, meaning its input and return types can
# be anything. So the 'drop' after it doesn't cause an error.
no_check_after_unreachable:
.functype no_check_after_unreachable () -> ()
unreachable
drop
end_function