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
This commit is contained in:
Justin Bogner 2014-09-10 06:06:07 +00:00
parent c4e394a333
commit 26f301f84b
4 changed files with 32 additions and 1 deletions

Binary file not shown.

Binary file not shown.

View File

@ -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

View File

@ -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) {