Skip to content

Commit 7b1f417

Browse files
committed
Add checks for non-builtin function
1 parent 01fee38 commit 7b1f417

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

tests/assembly-llvm/regparm-module-flag.rs

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,25 @@ use minicore::*;
1313

1414
unsafe extern "C" {
1515
fn memset(p: *mut c_void, val: i32, len: usize) -> *mut c_void;
16+
fn non_builtin_memset(p: *mut c_void, val: i32, len: usize) -> *mut c_void;
1617
}
1718

1819
#[unsafe(no_mangle)]
1920
pub unsafe extern "C" fn entrypoint(len: usize, ptr: *mut c_void, val: i32) -> *mut c_void {
21+
// CHECK-LABEL: entrypoint
22+
// CHECK: mov{{.*}}eax
23+
// CHECK: mov{{.*}}ecx
24+
// CHECK: mov{{.*}}esi
25+
// CHECK: jmp{{.*}}memset
2026
unsafe { memset(ptr, val, len) }
2127
}
2228

23-
// CHECK: mov{{.*}}eax
24-
// CHECK: mov{{.*}}ecx
25-
// CHECK: mov{{.*}}esi
26-
// CHECK: jmp{{.*}}memset
29+
#[unsafe(no_mangle)]
30+
pub unsafe extern "C" fn non_builtin_entrypoint(len: usize, ptr: *mut c_void, val: i32) -> *mut c_void {
31+
// CHECK-LABEL: my_entrypoint
32+
// CHECK: mov{{.*}}eax
33+
// CHECK: mov{{.*}}ecx
34+
// CHECK: mov{{.*}}esi
35+
// CHECK: jmp{{.*}}memset
36+
unsafe { non_builtin_memset(ptr, val, len) }
37+
}

0 commit comments

Comments
 (0)