mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-11 05:17:36 +00:00
llvm-cov: Warn instead of error if a .gcda has arcs from an exit block
Patch by Vanderson M. Rosario. Thanks! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232443 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
b47d918825
commit
bdd2212363
@ -302,10 +302,12 @@ bool GCOVFunction::readGCDA(GCOVBuffer &Buff, GCOV::GCOVVersion Version) {
|
||||
// required to combine the edge counts that are contained in the GCDA file.
|
||||
for (uint32_t BlockNo = 0; Count > 0; ++BlockNo) {
|
||||
// The last block is always reserved for exit block
|
||||
if (BlockNo >= Blocks.size() - 1) {
|
||||
if (BlockNo >= Blocks.size()) {
|
||||
errs() << "Unexpected number of edges (in " << Name << ").\n";
|
||||
return false;
|
||||
}
|
||||
if (BlockNo == Blocks.size() - 1)
|
||||
errs() << "(" << Name << ") has arcs from exit block.\n";
|
||||
GCOVBlock &Block = *Blocks[BlockNo];
|
||||
for (size_t EdgeNo = 0, End = Block.getNumDstEdges(); EdgeNo < End;
|
||||
++EdgeNo) {
|
||||
|
BIN
test/tools/llvm-cov/Inputs/test_exit_block_arcs.gcda
Normal file
BIN
test/tools/llvm-cov/Inputs/test_exit_block_arcs.gcda
Normal file
Binary file not shown.
BIN
test/tools/llvm-cov/Inputs/test_exit_block_arcs.gcno
Normal file
BIN
test/tools/llvm-cov/Inputs/test_exit_block_arcs.gcno
Normal file
Binary file not shown.
@ -111,4 +111,8 @@ RUN: llvm-cov test.c -gcda=test_file_checksum_fail.gcda
|
||||
# Bad function checksum on gcda
|
||||
RUN: llvm-cov test.c -gcda=test_func_checksum_fail.gcda
|
||||
|
||||
# Has arcs from exit blocks
|
||||
RUN: llvm-cov test_exit_block_arcs.c 2>&1 | FileCheck %s -check-prefix=EXIT_BLOCK_ARCS
|
||||
EXIT_BLOCK_ARCS: (main) has arcs from exit block.
|
||||
|
||||
XFAIL: powerpc64-, s390x, mips-, mips64-, sparc
|
||||
|
Loading…
x
Reference in New Issue
Block a user