[llvm] r258188 - Fix a coverage reading bug

Xinliang David Li via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 19 13:18:12 PST 2016


Author: davidxl
Date: Tue Jan 19 15:18:12 2016
New Revision: 258188

URL: http://llvm.org/viewvc/llvm-project?rev=258188&view=rev
Log:
Fix a coverage reading bug 

function record pointer is not advanced when
duplicate entry is found.

Test case to be added.

Modified:
    llvm/trunk/lib/ProfileData/CoverageMappingReader.cpp

Modified: llvm/trunk/lib/ProfileData/CoverageMappingReader.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ProfileData/CoverageMappingReader.cpp?rev=258188&r1=258187&r2=258188&view=diff
==============================================================================
--- llvm/trunk/lib/ProfileData/CoverageMappingReader.cpp (original)
+++ llvm/trunk/lib/ProfileData/CoverageMappingReader.cpp Tue Jan 19 15:18:12 2016
@@ -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 =




More information about the llvm-commits mailing list