about summary refs log tree commit diff
path: root/src/doc
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-04-19 03:35:10 +0000
committerbors <bors@rust-lang.org>2024-04-19 03:35:10 +0000
commit13e63f7490109eecf905fa51190eacbe8051aefd (patch)
treeea23b3678bef0d72a2ce450bdedc90ed7d7b7327 /src/doc
parentfa0068b5412baecc932772dda72c0621bfa7ab00 (diff)
parent9e2c65893dcf5e8da2fc7cd25af94ba3233e9c51 (diff)
downloadrust-13e63f7490109eecf905fa51190eacbe8051aefd.tar.gz
rust-13e63f7490109eecf905fa51190eacbe8051aefd.zip
Auto merge of #117919 - daxpedda:wasm-c-abi, r=wesleywiser
Introduce perma-unstable `wasm-c-abi` flag

Now that `wasm-bindgen` v0.2.88 supports the spec-compliant C ABI, the idea is to switch to that in a future version of Rust. In the meantime it would be good to let people test and play around with it.

This PR introduces a new perma-unstable `-Zwasm-c-abi` compiler flag, which switches to the new spec-compliant C ABI when targeting `wasm32-unknown-unknown`.

Alternatively, we could also stabilize this and then deprecate it when we switch. I will leave this to the Rust maintainers to decide.

This is a companion PR to #117918, but they could be merged independently.
MCP: https://github.com/rust-lang/compiler-team/issues/703
Tracking issue: https://github.com/rust-lang/rust/issues/122532
Diffstat (limited to 'src/doc')
-rw-r--r--src/doc/unstable-book/src/compiler-flags/wasm-c-abi.md10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/doc/unstable-book/src/compiler-flags/wasm-c-abi.md b/src/doc/unstable-book/src/compiler-flags/wasm-c-abi.md
new file mode 100644
index 00000000000..138a98dbe3d
--- /dev/null
+++ b/src/doc/unstable-book/src/compiler-flags/wasm-c-abi.md
@@ -0,0 +1,10 @@
+# `wasm-c-abi`
+
+This option controls whether Rust uses the spec-compliant C ABI when compiling
+for the `wasm32-unknown-unknown` target.
+
+This makes it possible to be ABI-compatible with all other spec-compliant Wasm
+like Rusts `wasm32-wasi`.
+
+This compiler flag is perma-unstable, as it will be enabled by default in the
+future with no option to fall back to the old non-spec-compliant ABI.