From 26f301f84bf669f6c408b776992f98d7ee29c064 Mon Sep 17 00:00:00 2001 From: Justin Bogner Date: Wed, 10 Sep 2014 06:06:07 +0000 Subject: [PATCH] llvm-cov: Fix a misuse of ArrayRef::slice I introduced in r217430 It appears this code was completely untested, so using ArrayRef wrong didn't break anything obvious. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217476 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../llvm-cov/Inputs/showExpansions.covmapping | Bin 0 -> 234 bytes .../llvm-cov/Inputs/showExpansions.profdata | Bin 0 -> 672 bytes test/tools/llvm-cov/showExpansions.cpp | 31 ++++++++++++++++++ tools/llvm-cov/SourceCoverageView.cpp | 2 +- 4 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 test/tools/llvm-cov/Inputs/showExpansions.covmapping create mode 100644 test/tools/llvm-cov/Inputs/showExpansions.profdata 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 new file mode 100644 index 0000000000000000000000000000000000000000..dd73090ccd9639b379dbf19ba1bf6e0ab6929c43 GIT binary patch literal 234 zcmW-a&1%9x6ot=C<|6j6IH#@;P3aF!Uxj{C^o2VA9go*dv1X39TR zlF|$A81JwdU14nTjEQ1109#~i9+DAexx73b4JEummYQ3d(I7EO{0SMEH~{TMRNhzFF;P0Y+YWuU 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/SourceCoverageView.cpp b/tools/llvm-cov/SourceCoverageView.cpp index 5f873acba0d..159d74adf38 100644 --- a/tools/llvm-cov/SourceCoverageView.cpp +++ b/tools/llvm-cov/SourceCoverageView.cpp @@ -206,7 +206,7 @@ gatherLineSubViews(size_t &CurrentIdx, while (CurrentIdx < E && Items[CurrentIdx]->getSubViewsExpansionLine() == LineNo) ++CurrentIdx; - return Items.slice(PrevIdx, CurrentIdx); + return Items.slice(PrevIdx, CurrentIdx - PrevIdx); } void SourceCoverageView::render(raw_ostream &OS, unsigned Offset) {