diff --git a/llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp b/llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp --- a/llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp +++ b/llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp @@ -175,7 +175,8 @@ else P.assign(CWD); llvm::sys::path::append(P, Filename); - Filenames.push_back(static_cast(P)); + sys::path::remove_dots(P, /*remove_dot_dot=*/true); + Filenames.push_back(static_cast(P.str())); } } } diff --git a/llvm/test/tools/llvm-cov/Inputs/relative_dir/header.h b/llvm/test/tools/llvm-cov/Inputs/relative_dir/header.h new file mode 100644 --- /dev/null +++ b/llvm/test/tools/llvm-cov/Inputs/relative_dir/header.h @@ -0,0 +1 @@ +int f() { return 0; } diff --git a/llvm/test/tools/llvm-cov/Inputs/relative_dir/main.c b/llvm/test/tools/llvm-cov/Inputs/relative_dir/main.c new file mode 100644 --- /dev/null +++ b/llvm/test/tools/llvm-cov/Inputs/relative_dir/main.c @@ -0,0 +1,5 @@ +#include "header.h" + +int main() { + return f(); +} diff --git a/llvm/test/tools/llvm-cov/Inputs/relative_dir/main.covmapping b/llvm/test/tools/llvm-cov/Inputs/relative_dir/main.covmapping new file mode 100644 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc$@ P(Paths[0]); llvm::sys::path::append(P, Paths[I]); - ASSERT_TRUE(ReadFilenames[I] == P); + ASSERT_EQ(ReadFilenames[I], P); } } } @@ -969,7 +969,7 @@ for (unsigned I = 1; I < Paths.size(); ++I) { SmallString<256> P(CompilationDir); llvm::sys::path::append(P, Paths[I]); - ASSERT_TRUE(ReadFilenames[I] == P); + ASSERT_EQ(ReadFilenames[I], P); } } }