Skip to content

Commit bc545aa

Browse files
committed
Complete check_abi
1 parent b2f4a80 commit bc545aa

File tree

2 files changed

+12
-28
lines changed

2 files changed

+12
-28
lines changed

Diff for: src/tools/miri/src/helpers.rs

+12-26
Original file line numberDiff line numberDiff line change
@@ -921,32 +921,18 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
921921

922922
/// Check that the ABI is what we expect.
923923
fn check_abi<'a>(&self, fn_abi: &FnAbi<'tcx, Ty<'tcx>>, exp_abi: Conv) -> InterpResult<'a, ()> {
924-
let caller_abi_name;
925-
let callee_abi_name;
926-
match fn_abi.conv {
927-
Conv::C => {
928-
caller_abi_name = "C";
929-
},
930-
Conv::Rust => {
931-
caller_abi_name = "Rust";
932-
},
933-
_=> {
934-
// TODO: What is a better way of doing this?
935-
panic!("Unsupported caller ABI");
936-
}
937-
};
938-
match exp_abi {
939-
Conv::C => {
940-
callee_abi_name = "C";
941-
},
942-
Conv::Rust => {
943-
callee_abi_name = "Rust";
944-
},
945-
_=> {
946-
// TODO: What is a better way of doing this?
947-
panic!("Unsupported callee ABI");
948-
}
949-
}
924+
let caller_abi_name = match fn_abi.conv {
925+
Conv::C => "C",
926+
Conv::Rust => "Rust",
927+
Conv::X86Stdcall => "X86Stdcall",
928+
_ => { panic!("Unsupported caller ABI");}
929+
};
930+
let callee_abi_name = match exp_abi {
931+
Conv::C => "C",
932+
Conv::Rust => "Rust",
933+
Conv::X86Stdcall => "X86Stdcall",
934+
_ => { panic!("Unsupported callee ABI");}
935+
};
950936

951937
if fn_abi.conv != exp_abi {
952938
throw_ub_format!(

Diff for: src/tools/miri/src/shims/tls.rs

-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ use std::collections::BTreeMap;
44
use std::collections::btree_map::Entry as BTreeEntry;
55
use std::task::Poll;
66

7-
87
use rustc_abi::{HasDataLayout, Size, ExternAbi};
98
use rustc_middle::ty;
109

@@ -323,7 +322,6 @@ trait EvalContextPrivExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
323322
// but both are ignored by std.
324323
this.call_function(
325324
thread_callback,
326-
// TODO: is there any equivalent Conv:: that we can use here?
327325
ExternAbi::System { unwind: false },
328326
&[null_ptr.clone(), ImmTy::from_scalar(reason, this.machine.layouts.u32), null_ptr],
329327
None,

0 commit comments

Comments
 (0)