summaryrefslogtreecommitdiffstats
path: root/tests/run-make/used-cdylib-macos
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run-make/used-cdylib-macos')
-rw-r--r--tests/run-make/used-cdylib-macos/Makefile11
-rw-r--r--tests/run-make/used-cdylib-macos/dylib_used.rs4
2 files changed, 15 insertions, 0 deletions
diff --git a/tests/run-make/used-cdylib-macos/Makefile b/tests/run-make/used-cdylib-macos/Makefile
new file mode 100644
index 000000000..38a4c31c7
--- /dev/null
+++ b/tests/run-make/used-cdylib-macos/Makefile
@@ -0,0 +1,11 @@
+include ../tools.mk
+
+# only-macos
+#
+# This checks that `#[used]` passes through to the linker on
+# darwin. This is subject to change in the future, see
+# https://github.com/rust-lang/rust/pull/93718 for discussion
+
+all:
+ $(RUSTC) -Copt-level=3 dylib_used.rs
+ nm $(TMPDIR)/libdylib_used.dylib | $(CGREP) VERY_IMPORTANT_SYMBOL
diff --git a/tests/run-make/used-cdylib-macos/dylib_used.rs b/tests/run-make/used-cdylib-macos/dylib_used.rs
new file mode 100644
index 000000000..85f0ff92f
--- /dev/null
+++ b/tests/run-make/used-cdylib-macos/dylib_used.rs
@@ -0,0 +1,4 @@
+#![crate_type = "cdylib"]
+
+#[used]
+static VERY_IMPORTANT_SYMBOL: u32 = 12345;