From 4d2766e3524129f0d7ec6ad34c4045150ad4f978 Mon Sep 17 00:00:00 2001 From: bjorn3 Date: Mon, 25 Jan 2021 18:48:49 +0100 Subject: [PATCH] Fix abi for wasm-bindgen --- compiler/rustc_middle/src/ty/layout.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/compiler/rustc_middle/src/ty/layout.rs b/compiler/rustc_middle/src/ty/layout.rs index ef467ed65145..a6b7b3932136 100644 --- a/compiler/rustc_middle/src/ty/layout.rs +++ b/compiler/rustc_middle/src/ty/layout.rs @@ -2752,6 +2752,14 @@ where attrs }); + if target.arch == "wasm32" && target.os == "unknown" { + // wasm-bindgen depends on ABI details and is incompatible with the + // correct C ABI, so this is being kept around until wasm-bindgen + // can be fixed to work with the correct ABI. See #63649 for further + // discussion. + arg.mode = PassMode::Direct(ArgAttributes::new()); + } + if arg.layout.is_zst() { // For some forsaken reason, x86_64-pc-windows-gnu // doesn't ignore zero-sized struct arguments.