rust/src/test/codegen/noalias-unpin.rs
Nikita Popov 6ac229ca21 Don't compute optimized PointerKind for unoptimized builds
This saves us both the Freeze/Unpin queries, and avoids placing
noalias attributes, which have a compile-time impact on LLVM
even in optnone builds (due to always_inline functions).
2021-03-21 20:54:42 +01:00

15 lines
325 B
Rust

// compile-flags: -O -Z mutable-noalias=yes
#![crate_type = "lib"]
pub struct SelfRef {
self_ref: *mut SelfRef,
_pin: std::marker::PhantomPinned
}
// CHECK-LABEL: @test_self_ref(
// CHECK-NOT: noalias
#[no_mangle]
pub unsafe fn test_self_ref(s: &mut SelfRef) {
(*s.self_ref).self_ref = std::ptr::null_mut();
}