]> git.lizzy.rs Git - rust.git/blobdiff - src/librustc_trans/abi.rs
rustc: Start a custom cabi module for wasm32
[rust.git] / src / librustc_trans / abi.rs
index ee0f2415bd80861626584d3e61bb92b7b76eb15c..d2420335b426b040c262b947dd58945719f3e273 100644 (file)
@@ -30,6 +30,7 @@
 use cabi_nvptx;
 use cabi_nvptx64;
 use cabi_hexagon;
+use cabi_wasm32;
 use mir::place::PlaceRef;
 use mir::operand::OperandValue;
 use type_::Type;
@@ -948,7 +949,13 @@ fn adjust_for_abi(&mut self,
             "powerpc64" => cabi_powerpc64::compute_abi_info(cx, self),
             "s390x" => cabi_s390x::compute_abi_info(cx, self),
             "asmjs" => cabi_asmjs::compute_abi_info(cx, self),
-            "wasm32" => cabi_asmjs::compute_abi_info(cx, self),
+            "wasm32" => {
+                if cx.sess().opts.target_triple.contains("emscripten") {
+                    cabi_asmjs::compute_abi_info(cx, self)
+                } else {
+                    cabi_wasm32::compute_abi_info(cx, self)
+                }
+            }
             "msp430" => cabi_msp430::compute_abi_info(self),
             "sparc" => cabi_sparc::compute_abi_info(cx, self),
             "sparc64" => cabi_sparc64::compute_abi_info(cx, self),