summaryrefslogtreecommitdiffstats
path: root/tests/codegen/no_builtins-at-crate.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/codegen/no_builtins-at-crate.rs')
-rw-r--r--tests/codegen/no_builtins-at-crate.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/codegen/no_builtins-at-crate.rs b/tests/codegen/no_builtins-at-crate.rs
new file mode 100644
index 000000000..02ed67090
--- /dev/null
+++ b/tests/codegen/no_builtins-at-crate.rs
@@ -0,0 +1,24 @@
+// compile-flags: -C opt-level=1
+
+#![no_builtins]
+#![crate_type = "lib"]
+
+// CHECK: define
+// CHECK-SAME: @__aeabi_memcpy
+// CHECK-SAME: #0
+#[no_mangle]
+pub unsafe extern "C" fn __aeabi_memcpy(dest: *mut u8, src: *const u8, size: usize) {
+ // CHECK: call
+ // CHECK-SAME: @memcpy(
+ memcpy(dest, src, size);
+}
+
+// CHECK: declare
+// CHECK-SAME: @memcpy
+// CHECK-SAME: #0
+extern "C" {
+ pub fn memcpy(dest: *mut u8, src: *const u8, n: usize) -> *mut u8;
+}
+
+// CHECK: attributes #0
+// CHECK-SAME: "no-builtins"