[llvm] r244470 - Really implement David Blaikie suggestion in full of seperating

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


Author: yrnkrn
Date: Mon Aug 10 13:03:35 2015
New Revision: 244470

URL: http://llvm.org/viewvc/llvm-project?rev=244470&view=rev
Log:
Really implement David Blaikie suggestion in full of seperating
variable initialization from its usage in the push_back making
collapse of the two statements unlikely even without a comment.


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=244470&r1=244469&r2=244470&view=diff
==============================================================================
--- llvm/trunk/tools/dsymutil/DwarfLinker.cpp (original)
+++ llvm/trunk/tools/dsymutil/DwarfLinker.cpp Mon Aug 10 13:03:35 2015
@@ -2884,15 +2884,13 @@ 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();
-        Seq.push_back(NextLine);
         Seq.back().Address = StopAddress;
         Seq.back().EndSequence = 1;
         Seq.back().PrologueEnd = 0;
         Seq.back().BasicBlock = 0;
         Seq.back().EpilogueBegin = 0;
+        Seq.push_back(NextLine);
         insertLineSequence(Seq, NewRows);
       }
 




More information about the llvm-commits mailing list