summaryrefslogtreecommitdiffstats
path: root/clang/test/CoverageMapping
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2019-10-10 00:54:33 +0000
committerReid Kleckner <rnk@google.com>2019-10-10 00:54:33 +0000
commitf6777964bde28c349d3e289ea37ecf5f5eeedbc4 (patch)
treec5b1c50f5e004f83f1975a74c11ea126c5ac4e42 /clang/test/CoverageMapping
parentb577efe4567f1f6a711ad36e1d17280dd1c4f009 (diff)
downloadbcm5719-llvm-f6777964bde28c349d3e289ea37ecf5f5eeedbc4.tar.gz
bcm5719-llvm-f6777964bde28c349d3e289ea37ecf5f5eeedbc4.zip
Use -fdebug-compilation-dir to form absolute paths in coverage mappings
This allows users to explicitly request relative paths with `-fdebug-compilation-dir .`. Fixes PR43614 Reviewers: vsk, arphaman Differential Revision: https://reviews.llvm.org/D68733 llvm-svn: 374266
Diffstat (limited to 'clang/test/CoverageMapping')
-rw-r--r--clang/test/CoverageMapping/debug-dir.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/clang/test/CoverageMapping/debug-dir.cpp b/clang/test/CoverageMapping/debug-dir.cpp
new file mode 100644
index 00000000000..adc8a167830
--- /dev/null
+++ b/clang/test/CoverageMapping/debug-dir.cpp
@@ -0,0 +1,16 @@
+// %s expands to an absolute path, so to test relative paths we need to create a
+// clean directory, put the source there, and cd into it.
+// RUN: rm -rf %t
+// RUN: mkdir -p %t/foobar
+// RUN: cd %t
+// RUN: cp %s foobar/debug-dir.cpp
+
+// RUN: %clang_cc1 -fprofile-instrument=clang -fcoverage-mapping -emit-llvm -main-file-name debug-dir.cpp foobar/debug-dir.cpp -o - | FileCheck -check-prefix=ABSOLUTE %s
+//
+// ABSOLUTE: @__llvm_coverage_mapping = {{.*"\\01.*clang.*test.*CoverageMapping.*.*foobar.*debug-dir\.cpp}}
+
+// RUN: %clang_cc1 -fprofile-instrument=clang -fcoverage-mapping -emit-llvm -main-file-name debug-dir.cpp foobar/debug-dir.cpp -fdebug-compilation-dir . -o - | FileCheck -check-prefix=RELATIVE %s
+//
+// RELATIVE: @__llvm_coverage_mapping = {{.*"\\01[^/]*foobar.*debug-dir\.cpp}}
+
+void f1() {}
OpenPOWER on IntegriCloud