summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ProfileData/CoverageMappingReader.cpp
diff options
context:
space:
mode:
authorXinliang David Li <davidxl@google.com>2016-01-19 21:18:12 +0000
committerXinliang David Li <davidxl@google.com>2016-01-19 21:18:12 +0000
commit0a83b1b994fa9e906ea618d8326dc621d12a2cf3 (patch)
tree6729118ed0bb4484af39e75c5163f1385a3be8a7 /llvm/lib/ProfileData/CoverageMappingReader.cpp
parentbf4e1981e64c36e871310757468f36b3783c8ca1 (diff)
downloadbcm5719-llvm-0a83b1b994fa9e906ea618d8326dc621d12a2cf3.tar.gz
bcm5719-llvm-0a83b1b994fa9e906ea618d8326dc621d12a2cf3.zip
Fix a coverage reading bug
function record pointer is not advanced when duplicate entry is found. Test case to be added. llvm-svn: 258188
Diffstat (limited to 'llvm/lib/ProfileData/CoverageMappingReader.cpp')
-rw-r--r--llvm/lib/ProfileData/CoverageMappingReader.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/ProfileData/CoverageMappingReader.cpp b/llvm/lib/ProfileData/CoverageMappingReader.cpp
index da14ab23294..fa4d6d66d73 100644
--- a/llvm/lib/ProfileData/CoverageMappingReader.cpp
+++ b/llvm/lib/ProfileData/CoverageMappingReader.cpp
@@ -396,8 +396,10 @@ public:
// function name. This is useful to ignore the redundant records for the
// functions with ODR linkage.
NameRefType NameRef = CFR->template getFuncNameRef<Endian>();
- if (!UniqueFunctionMappingData.insert(NameRef).second)
+ if (!UniqueFunctionMappingData.insert(NameRef).second) {
+ CFR++;
continue;
+ }
StringRef FuncName;
if (std::error_code EC =
OpenPOWER on IntegriCloud