Recommit r244470+ r244471 together, the bot failed between them.
authorYaron Keren <yaron.keren@gmail.com>
Mon, 10 Aug 2015 18:27:51 +0000 (18:27 +0000)
committerYaron Keren <yaron.keren@gmail.com>
Mon, 10 Aug 2015 18:27:51 +0000 (18:27 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244476 91177308-0d34-0410-b5e6-96231b3b80d8

tools/dsymutil/DwarfLinker.cpp

index 95f4ae4dc0df3e1538a197a7d77d0bdb76ef2ef1..4231b14fbedafc2a68c6329b4b3ec0dea082d54a 100644 (file)
@@ -2884,15 +2884,13 @@ void DwarfLinker::patchLineTableForUnit(CompileUnit &Unit,
       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);
       }