[llvm] r244472 - Revert r244470 and 244471 while looking into it.

Yaron Keren via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 10 11:14:56 PDT 2015


Author: yrnkrn
Date: Mon Aug 10 13:14:56 2015
New Revision: 244472

URL: http://llvm.org/viewvc/llvm-project?rev=244472&view=rev
Log:
Revert r244470 and 244471 while looking into it.


Modified:
    llvm/trunk/tools/dsymutil/DwarfLinker.cpp

Modified: llvm/trunk/tools/dsymutil/DwarfLinker.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/dsymutil/DwarfLinker.cpp?rev=244472&r1=244471&r2=244472&view=diff
==============================================================================
--- llvm/trunk/tools/dsymutil/DwarfLinker.cpp (original)
+++ llvm/trunk/tools/dsymutil/DwarfLinker.cpp Mon Aug 10 13:14:56 2015
@@ -2884,13 +2884,15 @@ void DwarfLinker::patchLineTableForUnit(
       if (StopAddress != -1ULL && !Seq.empty()) {
         // Insert end sequence row with the computed end address, but
         // the same line as the previous one.
+        // Do not collapse the next two statements as the push_back operation
+        // may reallocate the vector and invalidate the iterator Seq.back().
         auto NextLine = Seq.back();
-        NextLine.Address = StopAddress;
-        NextLine.EndSequence = 1;
-        NextLine.PrologueEnd = 0;
-        NextLine.BasicBlock = 0;
-        NextLine.EpilogueBegin = 0;
         Seq.push_back(NextLine);
+        Seq.back().Address = StopAddress;
+        Seq.back().EndSequence = 1;
+        Seq.back().PrologueEnd = 0;
+        Seq.back().BasicBlock = 0;
+        Seq.back().EpilogueBegin = 0;
         insertLineSequence(Seq, NewRows);
       }
 




More information about the llvm-commits mailing list