summaryrefslogtreecommitdiffstats
path: root/tests/codegen/cold-call-declare-and-call.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/codegen/cold-call-declare-and-call.rs')
-rw-r--r--tests/codegen/cold-call-declare-and-call.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/codegen/cold-call-declare-and-call.rs b/tests/codegen/cold-call-declare-and-call.rs
new file mode 100644
index 000000000..71d49478b
--- /dev/null
+++ b/tests/codegen/cold-call-declare-and-call.rs
@@ -0,0 +1,18 @@
+// compile-flags: -C no-prepopulate-passes
+
+#![crate_type = "lib"]
+#![feature(rust_cold_cc)]
+
+// wasm marks the definition as `dso_local`, so allow that as optional.
+
+// CHECK: define{{( dso_local)?}} coldcc void @this_should_never_happen(i16
+// CHECK: call coldcc void @this_should_never_happen(i16
+
+#[no_mangle]
+pub extern "rust-cold" fn this_should_never_happen(x: u16) {}
+
+pub fn do_things(x: u16) {
+ if x == 12345 {
+ this_should_never_happen(54321);
+ }
+}