Skip to content

Commit 36e1414

Browse files
committed
add codegen test for rust-lang#120440
1 parent 13423be commit 36e1414

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
//@ compile-flags: -O
2+
//@ min-llvm-version: 18
3+
#![crate_type = "lib"]
4+
5+
use std::ptr::NonNull;
6+
7+
// CHECK-LABEL: @slice_ptr_len_1
8+
// CHECK: {{.*}}:
9+
// CHECK-NEXT: ret i64 %ptr.1
10+
#[no_mangle]
11+
pub fn slice_ptr_len_1(ptr: *const [u8]) -> usize {
12+
let ptr = ptr.cast_mut();
13+
if let Some(ptr) = NonNull::new(ptr) {
14+
ptr.len()
15+
} else {
16+
// We know ptr is null, so we know ptr.wrapping_byte_add(1) is not null.
17+
NonNull::new(ptr.wrapping_byte_add(1)).unwrap().len()
18+
}
19+
}

0 commit comments

Comments
 (0)