]> git.lizzy.rs Git - rust.git/commitdiff
RustIntrinsic and PlatformIntrinsic are also the same ABI as Rust
authorRalf Jung <post@ralfj.de>
Sun, 14 Jul 2019 09:58:12 +0000 (11:58 +0200)
committerRalf Jung <post@ralfj.de>
Sun, 14 Jul 2019 09:58:12 +0000 (11:58 +0200)
src/librustc_mir/interpret/terminator.rs

index c11e5e119237f48dba3930ba73e9ce57fb0da7bc..4813186ac6ec00057a99b68132457e4fa2af4f4f 100644 (file)
@@ -281,7 +281,13 @@ fn eval_fn_call(
                         }
                     };
                     // Rust and RustCall are compatible
-                    let normalize_abi = |abi| if abi == Abi::RustCall { Abi::Rust } else { abi };
+                    let normalize_abi = |abi| match abi {
+                        Abi::Rust | Abi::RustCall | Abi::RustIntrinsic | Abi::PlatformIntrinsic =>
+                            // These are all the same ABI, really.
+                            Abi::Rust,
+                        abi =>
+                            abi,
+                    };
                     if normalize_abi(caller_abi) != normalize_abi(callee_abi) {
                         return err!(FunctionAbiMismatch(caller_abi, callee_abi));
                     }