about summary refs log tree commit diff
path: root/tests/codegen-llvm/instrument-coverage/instrument-coverage.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/codegen-llvm/instrument-coverage/instrument-coverage.rs')
-rw-r--r--tests/codegen-llvm/instrument-coverage/instrument-coverage.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/codegen-llvm/instrument-coverage/instrument-coverage.rs b/tests/codegen-llvm/instrument-coverage/instrument-coverage.rs
new file mode 100644
index 00000000000..23d23651c72
--- /dev/null
+++ b/tests/codegen-llvm/instrument-coverage/instrument-coverage.rs
@@ -0,0 +1,22 @@
+// Test that `-Cinstrument-coverage` creates expected __llvm_profile_filename symbol in LLVM IR.
+
+//@ compile-flags: -Zno-profiler-runtime
+//@ revisions: default y yes on true_ all
+//@ [default] compile-flags: -Cinstrument-coverage
+//@ [y] compile-flags: -Cinstrument-coverage=y
+//@ [yes] compile-flags: -Cinstrument-coverage=yes
+//@ [on] compile-flags: -Cinstrument-coverage=on
+//@ [true_] compile-flags: -Cinstrument-coverage=true
+//@ [all] compile-flags: -Cinstrument-coverage=all
+
+// CHECK-DAG: @__llvm_coverage_mapping
+// CHECK-DAG: @__llvm_profile_filename = {{.*}}"default_%m_%p.profraw\00"{{.*}}
+
+#![crate_type = "lib"]
+
+#[inline(never)]
+fn some_function() {}
+
+pub fn some_other_function() {
+    some_function();
+}