Skip to content

Commit cc7d30a

Browse files
committed
Sync from rust 59cec72
2 parents e9ac680 + 00354dd commit cc7d30a

File tree

3 files changed

+66
-21
lines changed

3 files changed

+66
-21
lines changed

example/mini_core.rs

+64-19
Original file line numberDiff line numberDiff line change
@@ -616,25 +616,70 @@ pub union MaybeUninit<T> {
616616
}
617617

618618
pub mod intrinsics {
619-
extern "rust-intrinsic" {
620-
#[rustc_safe_intrinsic]
621-
pub fn abort() -> !;
622-
#[rustc_safe_intrinsic]
623-
pub fn size_of<T>() -> usize;
624-
pub fn size_of_val<T: ?::Sized>(val: *const T) -> usize;
625-
#[rustc_safe_intrinsic]
626-
pub fn min_align_of<T>() -> usize;
627-
pub fn min_align_of_val<T: ?::Sized>(val: *const T) -> usize;
628-
pub fn copy<T>(src: *const T, dst: *mut T, count: usize);
629-
pub fn transmute<T, U>(e: T) -> U;
630-
pub fn ctlz_nonzero<T>(x: T) -> u32;
631-
#[rustc_safe_intrinsic]
632-
pub fn needs_drop<T: ?::Sized>() -> bool;
633-
#[rustc_safe_intrinsic]
634-
pub fn bitreverse<T>(x: T) -> T;
635-
#[rustc_safe_intrinsic]
636-
pub fn bswap<T>(x: T) -> T;
637-
pub fn write_bytes<T>(dst: *mut T, val: u8, count: usize);
619+
#[rustc_intrinsic]
620+
#[rustc_intrinsic_must_be_overridden]
621+
pub fn abort() -> ! {
622+
loop {}
623+
}
624+
#[rustc_intrinsic]
625+
#[rustc_intrinsic_must_be_overridden]
626+
pub fn size_of<T>() -> usize {
627+
loop {}
628+
}
629+
#[rustc_intrinsic]
630+
#[rustc_intrinsic_must_be_overridden]
631+
pub unsafe fn size_of_val<T: ?::Sized>(_val: *const T) -> usize {
632+
loop {}
633+
}
634+
#[rustc_intrinsic]
635+
#[rustc_intrinsic_must_be_overridden]
636+
pub fn min_align_of<T>() -> usize {
637+
loop {}
638+
}
639+
#[rustc_intrinsic]
640+
#[rustc_intrinsic_must_be_overridden]
641+
pub unsafe fn min_align_of_val<T: ?::Sized>(_val: *const T) -> usize {
642+
loop {}
643+
}
644+
#[rustc_intrinsic]
645+
#[rustc_intrinsic_must_be_overridden]
646+
pub unsafe fn copy<T>(_src: *const T, _dst: *mut T, _count: usize) {
647+
loop {}
648+
}
649+
#[rustc_intrinsic]
650+
#[rustc_intrinsic_must_be_overridden]
651+
pub unsafe fn transmute<T, U>(_e: T) -> U {
652+
loop {}
653+
}
654+
#[rustc_intrinsic]
655+
#[rustc_intrinsic_must_be_overridden]
656+
pub unsafe fn ctlz_nonzero<T>(_x: T) -> u32 {
657+
loop {}
658+
}
659+
#[rustc_intrinsic]
660+
#[rustc_intrinsic_must_be_overridden]
661+
pub fn needs_drop<T: ?::Sized>() -> bool {
662+
loop {}
663+
}
664+
#[rustc_intrinsic]
665+
#[rustc_intrinsic_must_be_overridden]
666+
pub fn bitreverse<T>(_x: T) -> T {
667+
loop {}
668+
}
669+
#[rustc_intrinsic]
670+
#[rustc_intrinsic_must_be_overridden]
671+
pub fn bswap<T>(_x: T) -> T {
672+
loop {}
673+
}
674+
#[rustc_intrinsic]
675+
#[rustc_intrinsic_must_be_overridden]
676+
pub unsafe fn write_bytes<T>(_dst: *mut T, _val: u8, _count: usize) {
677+
loop {}
678+
}
679+
#[rustc_intrinsic]
680+
#[rustc_intrinsic_must_be_overridden]
681+
pub unsafe fn unreachable() -> ! {
682+
loop {}
638683
}
639684
}
640685

src/intrinsics/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//! Codegen of intrinsics. This includes `extern "rust-intrinsic"`, `extern "platform-intrinsic"`
1+
//! Codegen of intrinsics. This includes `extern "rust-intrinsic"`,
22
//! and LLVM intrinsics that have symbol names starting with `llvm.`.
33
44
macro_rules! intrinsic_args {

src/intrinsics/simd.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//! Codegen `extern "platform-intrinsic"` intrinsics.
1+
//! Codegen SIMD intrinsics.
22
33
use cranelift_codegen::ir::immediates::Offset32;
44
use rustc_abi::Endian;

0 commit comments

Comments
 (0)