From a476ce78a0f3fb0fca2d0229070f0c68dcccb80f Mon Sep 17 00:00:00 2001 From: Justin Bogner Date: Thu, 11 Sep 2014 23:20:48 +0000 Subject: [PATCH] Revert "llvm-cov: Remove an overly system specific test" This fixes a call to sys::fs::equivalent that should've been to CodeCoverageTool::equivalentFiles, which lets us restore the test of r217476 that was removed in r217478. This reverts r217478, but the test works this time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217646 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../llvm-cov/Inputs/showExpansions.covmapping | Bin 234 -> 234 bytes test/tools/llvm-cov/showExpansions.cpp | 31 ++++++++++++++++++ tools/llvm-cov/CodeCoverage.cpp | 2 +- 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 test/tools/llvm-cov/showExpansions.cpp diff --git a/test/tools/llvm-cov/Inputs/showExpansions.covmapping b/test/tools/llvm-cov/Inputs/showExpansions.covmapping index dd73090ccd9639b379dbf19ba1bf6e0ab6929c43..67337675cf43601873952ab7d04c3316ec43d6e3 100644 GIT binary patch delta 27 icmaFG_=<6Yt6)ZcZmND&YEgc2etwRAaZ&QbuqgnT01ET~ delta 27 icmaFG_=<6Yt6*qxYEiL%Qhs_~YLR|&eoE@ZuqgnQr3%0R diff --git a/test/tools/llvm-cov/showExpansions.cpp b/test/tools/llvm-cov/showExpansions.cpp new file mode 100644 index 00000000000..db5786b9892 --- /dev/null +++ b/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/tools/llvm-cov/CodeCoverage.cpp b/tools/llvm-cov/CodeCoverage.cpp index 549af92f918..9330ea91ce9 100644 --- a/tools/llvm-cov/CodeCoverage.cpp +++ b/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; } }