Skip to content

Commit 2f2a0b9

Browse files
committed
Sync from rust 8da6239
2 parents 9594d67 + 393e46e commit 2f2a0b9

File tree

6 files changed

+13
-11
lines changed

6 files changed

+13
-11
lines changed

example/mini_core.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -644,9 +644,9 @@ pub mod intrinsics {
644644
#[rustc_intrinsic]
645645
pub unsafe fn size_of_val<T: ?::Sized>(val: *const T) -> usize;
646646
#[rustc_intrinsic]
647-
pub fn min_align_of<T>() -> usize;
647+
pub fn align_of<T>() -> usize;
648648
#[rustc_intrinsic]
649-
pub unsafe fn min_align_of_val<T: ?::Sized>(val: *const T) -> usize;
649+
pub unsafe fn align_of_val<T: ?::Sized>(val: *const T) -> usize;
650650
#[rustc_intrinsic]
651651
pub unsafe fn copy<T>(src: *const T, dst: *mut T, count: usize);
652652
#[rustc_intrinsic]

example/mini_core_hello_world.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -204,11 +204,8 @@ fn main() {
204204
assert_eq!(intrinsics::size_of_val(a) as u8, 16);
205205
assert_eq!(intrinsics::size_of_val(&0u32) as u8, 4);
206206

207-
assert_eq!(intrinsics::min_align_of::<u16>() as u8, 2);
208-
assert_eq!(
209-
intrinsics::min_align_of_val(&a) as u8,
210-
intrinsics::min_align_of::<&str>() as u8
211-
);
207+
assert_eq!(intrinsics::align_of::<u16>() as u8, 2);
208+
assert_eq!(intrinsics::align_of_val(&a) as u8, intrinsics::align_of::<&str>() as u8);
212209

213210
assert!(!intrinsics::needs_drop::<u8>());
214211
assert!(!intrinsics::needs_drop::<[u8]>());

src/abi/mod.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,11 @@ pub(crate) fn conv_to_call_conv(
5151
CanonAbi::Rust | CanonAbi::C => default_call_conv,
5252
CanonAbi::RustCold => CallConv::Cold,
5353

54+
// Functions with this calling convention can only be called from assembly, but it is
55+
// possible to declare an `extern "custom"` block, so the backend still needs a calling
56+
// convention for declaring foreign functions.
57+
CanonAbi::Custom => default_call_conv,
58+
5459
CanonAbi::X86(x86_call) => match x86_call {
5560
X86Call::SysV64 => CallConv::SystemV,
5661
X86Call::Win64 => CallConv::WindowsFastcall,

src/intrinsics/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -586,7 +586,7 @@ fn codegen_regular_intrinsic_call<'tcx>(
586586
let (size, _align) = crate::unsize::size_and_align_of(fx, layout, meta);
587587
ret.write_cvalue(fx, CValue::by_val(size, usize_layout));
588588
}
589-
sym::min_align_of_val => {
589+
sym::align_of_val => {
590590
intrinsic_args!(fx, args => (ptr); intrinsic);
591591

592592
let layout = fx.layout_of(generic_args.type_at(0));
@@ -613,7 +613,7 @@ fn codegen_regular_intrinsic_call<'tcx>(
613613
intrinsic_args!(fx, args => (vtable); intrinsic);
614614
let vtable = vtable.load_scalar(fx);
615615

616-
let align = crate::vtable::min_align_of_obj(fx, vtable);
616+
let align = crate::vtable::align_of_obj(fx, vtable);
617617
ret.write_cvalue(fx, CValue::by_val(align, usize_layout));
618618
}
619619

src/unsize.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ pub(crate) fn size_and_align_of<'tcx>(
212212
// load size/align from vtable
213213
(
214214
crate::vtable::size_of_obj(fx, info.unwrap()),
215-
crate::vtable::min_align_of_obj(fx, info.unwrap()),
215+
crate::vtable::align_of_obj(fx, info.unwrap()),
216216
)
217217
}
218218
ty::Slice(_) | ty::Str => {

src/vtable.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ pub(crate) fn size_of_obj(fx: &mut FunctionCx<'_, '_, '_>, vtable: Value) -> Val
3131
)
3232
}
3333

34-
pub(crate) fn min_align_of_obj(fx: &mut FunctionCx<'_, '_, '_>, vtable: Value) -> Value {
34+
pub(crate) fn align_of_obj(fx: &mut FunctionCx<'_, '_, '_>, vtable: Value) -> Value {
3535
let usize_size = fx.layout_of(fx.tcx.types.usize).size.bytes() as usize;
3636
fx.bcx.ins().load(
3737
fx.pointer_type,

0 commit comments

Comments
 (0)