diff options
Diffstat (limited to 'src/test/mir-opt/lower_intrinsics.rs')
-rw-r--r-- | src/test/mir-opt/lower_intrinsics.rs | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/src/test/mir-opt/lower_intrinsics.rs b/src/test/mir-opt/lower_intrinsics.rs deleted file mode 100644 index 66dae0e46..000000000 --- a/src/test/mir-opt/lower_intrinsics.rs +++ /dev/null @@ -1,74 +0,0 @@ -// unit-test: LowerIntrinsics -// ignore-wasm32 compiled with panic=abort by default - -#![feature(core_intrinsics, intrinsics)] -#![crate_type = "lib"] - -// EMIT_MIR lower_intrinsics.wrapping.LowerIntrinsics.diff -pub fn wrapping(a: i32, b: i32) { - let _x = core::intrinsics::wrapping_add(a, b); - let _y = core::intrinsics::wrapping_sub(a, b); - let _z = core::intrinsics::wrapping_mul(a, b); -} - -// EMIT_MIR lower_intrinsics.size_of.LowerIntrinsics.diff -pub fn size_of<T>() -> usize { - core::intrinsics::size_of::<T>() -} - -// EMIT_MIR lower_intrinsics.align_of.LowerIntrinsics.diff -pub fn align_of<T>() -> usize { - core::intrinsics::min_align_of::<T>() -} - -// EMIT_MIR lower_intrinsics.forget.LowerIntrinsics.diff -pub fn forget<T>(t: T) { - core::intrinsics::forget(t) -} - -// EMIT_MIR lower_intrinsics.unreachable.LowerIntrinsics.diff -pub fn unreachable() -> ! { - unsafe { core::intrinsics::unreachable() }; -} - -// EMIT_MIR lower_intrinsics.non_const.LowerIntrinsics.diff -pub fn non_const<T>() -> usize { - // Check that lowering works with non-const operand as a func. - let size_of_t = core::intrinsics::size_of::<T>; - size_of_t() -} - -pub enum E { - A, - B, - C, -} - -// EMIT_MIR lower_intrinsics.discriminant.LowerIntrinsics.diff -pub fn discriminant<T>(t: T) { - core::intrinsics::discriminant_value(&t); - core::intrinsics::discriminant_value(&0); - core::intrinsics::discriminant_value(&()); - core::intrinsics::discriminant_value(&E::B); -} - -extern "rust-intrinsic" { - // Cannot use `std::intrinsics::copy_nonoverlapping` as that is a wrapper function - fn copy_nonoverlapping<T>(src: *const T, dst: *mut T, count: usize); -} - -// EMIT_MIR lower_intrinsics.f_copy_nonoverlapping.LowerIntrinsics.diff -pub fn f_copy_nonoverlapping() { - let src = (); - let mut dst = (); - unsafe { - copy_nonoverlapping(&src as *const _ as *const i32, &mut dst as *mut _ as *mut i32, 0); - } -} - -// EMIT_MIR lower_intrinsics.assume.LowerIntrinsics.diff -pub fn assume() { - unsafe { - std::intrinsics::assume(true); - } -} |