Revert r244470 and 244471 while looking into it.
[oota-llvm.git] / tools / dsymutil / DwarfLinker.cpp
index ae2f6d3b36f1db8143ff9aa20d7e87b3e870f15a..95f4ae4dc0df3e1538a197a7d77d0bdb76ef2ef1 100644 (file)
@@ -2884,8 +2884,10 @@ 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();
-        Seq.emplace_back(NextLine);
+        Seq.push_back(NextLine);
         Seq.back().Address = StopAddress;
         Seq.back().EndSequence = 1;
         Seq.back().PrologueEnd = 0;