Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove extern "wasm" ABI #127605

Merged
merged 1 commit into from
Jul 12, 2024
Merged

Remove extern "wasm" ABI #127605

merged 1 commit into from
Jul 12, 2024

Commits on Jul 11, 2024

  1. Remove extern "wasm" ABI

    Remove the unstable `extern "wasm"` ABI (`wasm_abi` feature tracked
    in rust-lang#83788).
    
    As discussed in rust-lang#127513 (comment)
    and following, this ABI is a failed experiment that did not end
    up being used for anything. Keeping support for this ABI in LLVM 19
    would require us to switch wasm targets to the `experimental-mv`
    ABI, which we do not want to do.
    
    It should be noted that `Abi::Wasm` was internally used for two
    things: The `-Z wasm-c-abi=legacy` ABI that is still used by
    default on some wasm targets, and the `extern "wasm"` ABI. Despite
    both being `Abi::Wasm` internally, they were not the same. An
    explicit `extern "wasm"` additionally enabled the `+multivalue`
    feature.
    
    I've opted to remove `Abi::Wasm` in this patch entirely, instead
    of keeping it as an ABI with only internal usage. Both
    `-Z wasm-c-abi` variants are now treated as part of the normal
    C ABI, just with different different treatment in
    adjust_for_foreign_abi.
    nikic committed Jul 11, 2024
    Configuration menu
    Copy the full SHA
    8a50bcb View commit details
    Browse the repository at this point in the history