about summary refs log tree commit diff
path: root/tests/codegen-llvm/auxiliary
diff options
context:
space:
mode:
Diffstat (limited to 'tests/codegen-llvm/auxiliary')
-rw-r--r--tests/codegen-llvm/auxiliary/extern_decl.rs13
-rw-r--r--tests/codegen-llvm/auxiliary/nounwind.rs2
-rw-r--r--tests/codegen-llvm/auxiliary/thread_local_aux.rs5
3 files changed, 20 insertions, 0 deletions
diff --git a/tests/codegen-llvm/auxiliary/extern_decl.rs b/tests/codegen-llvm/auxiliary/extern_decl.rs
new file mode 100644
index 00000000000..d17e77b1444
--- /dev/null
+++ b/tests/codegen-llvm/auxiliary/extern_decl.rs
@@ -0,0 +1,13 @@
+// Auxiliary crate that exports a function and static. Both always
+// evaluate to `71`. We force mutability on the static to prevent
+// it from being inlined as constant.
+
+#![crate_type = "lib"]
+
+#[no_mangle]
+pub fn extern_fn() -> u8 {
+    unsafe { extern_static }
+}
+
+#[no_mangle]
+pub static mut extern_static: u8 = 71;
diff --git a/tests/codegen-llvm/auxiliary/nounwind.rs b/tests/codegen-llvm/auxiliary/nounwind.rs
new file mode 100644
index 00000000000..40f66442c6e
--- /dev/null
+++ b/tests/codegen-llvm/auxiliary/nounwind.rs
@@ -0,0 +1,2 @@
+#[no_mangle]
+pub fn bar() {}
diff --git a/tests/codegen-llvm/auxiliary/thread_local_aux.rs b/tests/codegen-llvm/auxiliary/thread_local_aux.rs
new file mode 100644
index 00000000000..bebaa7754dd
--- /dev/null
+++ b/tests/codegen-llvm/auxiliary/thread_local_aux.rs
@@ -0,0 +1,5 @@
+#![crate_type = "lib"]
+
+use std::cell::Cell;
+
+thread_local!(pub static A: Cell<u64> = const { Cell::new(0) });