From f850d9846e2c764362ff5ed4c4f6778a1a21cf1f Mon Sep 17 00:00:00 2001 From: Yaron Keren Date: Mon, 10 Aug 2015 18:03:35 +0000 Subject: [PATCH] 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. llvm-svn: 244470 --- llvm/tools/dsymutil/DwarfLinker.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/llvm/tools/dsymutil/DwarfLinker.cpp b/llvm/tools/dsymutil/DwarfLinker.cpp index 95f4ae4..997808d 100644 --- a/llvm/tools/dsymutil/DwarfLinker.cpp +++ b/llvm/tools/dsymutil/DwarfLinker.cpp @@ -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(); - 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); } -- 2.7.4