diff options
author | Devang Patel <dpatel@apple.com> | 2011-09-29 17:06:40 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2011-09-29 17:06:40 +0000 |
commit | 0066f9290e95dddedc47472e927319893929b05b (patch) | |
tree | aca7c9415c1c9c47d6e32d7b410da50daf165b1a /tools/llvm-cov | |
parent | a5ef699f41499764afdd76c6495f73c1f1e4f85e (diff) | |
download | external_llvm-0066f9290e95dddedc47472e927319893929b05b.zip external_llvm-0066f9290e95dddedc47472e927319893929b05b.tar.gz external_llvm-0066f9290e95dddedc47472e927319893929b05b.tar.bz2 |
Simplify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140789 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-cov')
-rw-r--r-- | tools/llvm-cov/GCOVReader.cpp | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/tools/llvm-cov/GCOVReader.cpp b/tools/llvm-cov/GCOVReader.cpp index e4570b1..2b40a84 100644 --- a/tools/llvm-cov/GCOVReader.cpp +++ b/tools/llvm-cov/GCOVReader.cpp @@ -27,6 +27,16 @@ GCOVFile::~GCOVFile() { DeleteContainerPointers(Functions); } +/// isGCDAFile - Return true if Format identifies a .gcda file. +static bool isGCDAFile(GCOVFormat Format) { + return Format == GCDA_402 || Format == GCDA_404; +} + +/// isGCNOFile - Return true if Format identifies a .gcno file. +static bool isGCNOFile(GCOVFormat Format) { + return Format == GCNO_402 || Format == GCNO_404; +} + /// read - Read GCOV buffer. bool GCOVFile::read(GCOVBuffer &Buffer) { GCOVFormat Format = Buffer.readGCOVFormat(); @@ -36,20 +46,16 @@ bool GCOVFile::read(GCOVBuffer &Buffer) { unsigned i = 0; while (1) { GCOVFunction *GFun = NULL; - if (Format == GCDA_402 || Format == GCDA_404) { - if (i < Functions.size()) - GFun = Functions[i]; - } else + if (isGCDAFile(Format)) { + // Use existing function while reading .gcda file. + assert (i < Functions.size() && ".gcda data does not match .gcno data"); + GFun = Functions[i]; + } else if (isGCNOFile(Format)){ GFun = new GCOVFunction(); - - if (GFun && GFun->read(Buffer, Format)) { - if (Format == GCNO_402 || Format == GCNO_404) - Functions.push_back(GFun); + Functions.push_back(GFun); } - else { - delete GFun; + if (!GFun || !GFun->read(Buffer, Format)) break; - } ++i; } return true; |