summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2012-09-23 03:58:21 +0000
committerNick Lewycky <nicholas@mxc.ca>2012-09-23 03:58:21 +0000
commitc6b4f0310c22a61fd8193ce3305486df37634f06 (patch)
treede72800b19f1435ea7d60299bfd7511847084158 /llvm
parent151a957fb08d1c4b88255ca367c138447fc8e70b (diff)
downloadbcm5719-llvm-c6b4f0310c22a61fd8193ce3305486df37634f06.tar.gz
bcm5719-llvm-c6b4f0310c22a61fd8193ce3305486df37634f06.zip
Don't do actual work inside an assert statement. Fixes PR11760!
llvm-svn: 164474
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/VMCore/GCOV.cpp10
-rw-r--r--llvm/test/Other/Inputs/llvm-cov.gcdabin0 -> 296 bytes
-rw-r--r--llvm/test/Other/Inputs/llvm-cov.gcnobin0 -> 984 bytes
-rw-r--r--llvm/test/Other/llvm-cov.test3
4 files changed, 9 insertions, 4 deletions
diff --git a/llvm/lib/VMCore/GCOV.cpp b/llvm/lib/VMCore/GCOV.cpp
index 5bc1ac9f5d3..ea2f0a6d556 100644
--- a/llvm/lib/VMCore/GCOV.cpp
+++ b/llvm/lib/VMCore/GCOV.cpp
@@ -48,7 +48,7 @@ bool GCOVFile::read(GCOVBuffer &Buffer) {
GCOVFunction *GFun = NULL;
if (isGCDAFile(Format)) {
// Use existing function while reading .gcda file.
- assert (i < Functions.size() && ".gcda data does not match .gcno data");
+ assert(i < Functions.size() && ".gcda data does not match .gcno data");
GFun = Functions[i];
} else if (isGCNOFile(Format)){
GFun = new GCOVFunction();
@@ -113,7 +113,9 @@ bool GCOVFunction::read(GCOVBuffer &Buff, GCOV::GCOVFormat Format) {
LineNumber = Buff.readInt();
// read blocks.
- assert (Buff.readBlockTag() && "Block Tag not found!");
+ bool BlockTagFound = Buff.readBlockTag();
+ (void)BlockTagFound;
+ assert(BlockTagFound && "Block Tag not found!");
uint32_t BlockCount = Buff.readInt();
for (int i = 0, e = BlockCount; i != e; ++i) {
Buff.readInt(); // Block flags;
@@ -124,7 +126,7 @@ bool GCOVFunction::read(GCOVBuffer &Buff, GCOV::GCOVFormat Format) {
while (Buff.readEdgeTag()) {
uint32_t EdgeCount = (Buff.readInt() - 1) / 2;
uint32_t BlockNo = Buff.readInt();
- assert (BlockNo < BlockCount && "Unexpected Block number!");
+ assert(BlockNo < BlockCount && "Unexpected Block number!");
for (int i = 0, e = EdgeCount; i != e; ++i) {
Blocks[BlockNo]->addEdge(Buff.readInt());
Buff.readInt(); // Edge flag
@@ -136,7 +138,7 @@ bool GCOVFunction::read(GCOVBuffer &Buff, GCOV::GCOVFormat Format) {
uint32_t LineTableLength = Buff.readInt();
uint32_t Size = Buff.getCursor() + LineTableLength*4;
uint32_t BlockNo = Buff.readInt();
- assert (BlockNo < BlockCount && "Unexpected Block number!");
+ assert(BlockNo < BlockCount && "Unexpected Block number!");
GCOVBlock *Block = Blocks[BlockNo];
Buff.readInt(); // flag
while (Buff.getCursor() != (Size - 4)) {
diff --git a/llvm/test/Other/Inputs/llvm-cov.gcda b/llvm/test/Other/Inputs/llvm-cov.gcda
new file mode 100644
index 00000000000..9ae2286ea2f
--- /dev/null
+++ b/llvm/test/Other/Inputs/llvm-cov.gcda
Binary files differ
diff --git a/llvm/test/Other/Inputs/llvm-cov.gcno b/llvm/test/Other/Inputs/llvm-cov.gcno
new file mode 100644
index 00000000000..25e202386a8
--- /dev/null
+++ b/llvm/test/Other/Inputs/llvm-cov.gcno
Binary files differ
diff --git a/llvm/test/Other/llvm-cov.test b/llvm/test/Other/llvm-cov.test
new file mode 100644
index 00000000000..c0aa203e2c1
--- /dev/null
+++ b/llvm/test/Other/llvm-cov.test
@@ -0,0 +1,3 @@
+PR11760
+RUN: llvm-cov -gcda=%S/Inputs/llvm-cov.gcda -gcno=%S/Inputs/llvm-cov.gcno
+
OpenPOWER on IntegriCloud