ABI adjustment code for wasm doesn't handle 128bit ints and floats #135532
Labels
A-ABI
Area: Concerning the application binary interface (ABI)
C-bug
Category: This is a bug.
O-wasm
Target: WASM (WebAssembly), http://webassembly.org/
T-compiler
Relevant to the compiler team, which will review and decide on the PR/issue.
According to https://github.com/WebAssembly/tool-conventions/blob/main/BasicCABI.md
__int128
andlong long double
have to be returned indirectly. Inrust/compiler/rustc_target/src/callconv/wasm.rs
Lines 21 to 30 in 2776bdf
.make_indirect()
for i128 and f128. It currently works by accident as LLVM implicitly introduces a return area pointer when returning i128 and f128, but other backends and other code that needs to know the ABI may not be able to handle this.The text was updated successfully, but these errors were encountered: