summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/test/tools/llvm-cov/Inputs/showExpansions.covmappingbin234 -> 234 bytes
-rw-r--r--llvm/test/tools/llvm-cov/showExpansions.cpp31
-rw-r--r--llvm/tools/llvm-cov/CodeCoverage.cpp2
3 files changed, 32 insertions, 1 deletions
diff --git a/llvm/test/tools/llvm-cov/Inputs/showExpansions.covmapping b/llvm/test/tools/llvm-cov/Inputs/showExpansions.covmapping
index dd73090ccd9..67337675cf4 100644
--- a/llvm/test/tools/llvm-cov/Inputs/showExpansions.covmapping
+++ b/llvm/test/tools/llvm-cov/Inputs/showExpansions.covmapping
Binary files differ
diff --git a/llvm/test/tools/llvm-cov/showExpansions.cpp b/llvm/test/tools/llvm-cov/showExpansions.cpp
new file mode 100644
index 00000000000..db5786b9892
--- /dev/null
+++ b/llvm/test/tools/llvm-cov/showExpansions.cpp
@@ -0,0 +1,31 @@
+// RUN: llvm-cov show %S/Inputs/showExpansions.covmapping -instr-profile %S/Inputs/showExpansions.profdata -dump -show-expansions -filename-equivalence %s | FileCheck %s
+
+#define DO_SOMETHING_ELSE() \
+ do { \
+ } while (0)
+#define ANOTHER_THING() \
+ do { \
+ if (0) { \
+ } \
+ } while (0)
+
+#define DO_SOMETHING(x) \
+ do { \
+ if (x) \
+ DO_SOMETHING_ELSE(); \
+ else \
+ ANOTHER_THING(); \
+ } while (0)
+
+int main(int argc, const char *argv[]) {
+ for (int i = 0; i < 100; ++i)
+ DO_SOMETHING(i);
+ return 0;
+}
+
+// CHECK: Expansion of {{[0-9]+}}:13 -> 18 @ {{[0-9]+}}, 22:5
+// CHECK: Expansion of {{[0-9]+}}:4 -> 5 @ {{[0-9]+}}, 15:7
+// CHECK: Expansion of {{[0-9]+}}:7 -> 10 @ {{[0-9]+}}, 17:7
+
+// llvm-cov doesn't work on big endian yet
+// XFAIL: powerpc64-, s390x, mips-, mips64-, sparc
diff --git a/llvm/tools/llvm-cov/CodeCoverage.cpp b/llvm/tools/llvm-cov/CodeCoverage.cpp
index 549af92f918..9330ea91ce9 100644
--- a/llvm/tools/llvm-cov/CodeCoverage.cpp
+++ b/llvm/tools/llvm-cov/CodeCoverage.cpp
@@ -177,7 +177,7 @@ CodeCoverageTool::getSourceFile(StringRef SourceFile) {
SmallString<256> Path(SourceFile);
sys::fs::make_absolute(Path);
for (const auto &Files : LoadedSourceFiles) {
- if (sys::fs::equivalent(Path.str(), Files.first)) {
+ if (equivalentFiles(Path.str(), Files.first)) {
return *Files.second;
}
}
OpenPOWER on IntegriCloud