From: Benjamin Kramer Date: Thu, 8 Mar 2018 21:31:10 +0000 (+0000) Subject: [DebugInfo] Move RangeListEntries instead of copying. X-Git-Tag: llvmorg-7.0.0-rc1~11059 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=70e6faaa0db82e19416f3282d32be688d3eeccfc;p=platform%2Fupstream%2Fllvm.git [DebugInfo] Move RangeListEntries instead of copying. This is needed for correctness as RangeListEntry is not copy-assignable, which std::vector might rely on. llvm-svn: 327067 --- diff --git a/llvm/lib/DebugInfo/DWARF/DWARFDebugRnglists.cpp b/llvm/lib/DebugInfo/DWARF/DWARFDebugRnglists.cpp index d7169d7..775bc78 100644 --- a/llvm/lib/DebugInfo/DWARF/DWARFDebugRnglists.cpp +++ b/llvm/lib/DebugInfo/DWARF/DWARFDebugRnglists.cpp @@ -98,7 +98,7 @@ Error DWARFDebugRnglists::extract(DWARFDataExtractor Data, switch (Encoding) { case dwarf::DW_RLE_end_of_list: CurrentRanges.push_back(RangeListEntry{ EntryOffset, Encoding, 0, 0 }); - Ranges.insert(Ranges.end(), CurrentRanges); + Ranges.insert(Ranges.end(), std::move(CurrentRanges)); CurrentRanges.clear(); break; // TODO: Support other encodings. @@ -147,7 +147,7 @@ Error DWARFDebugRnglists::extract(DWARFDataExtractor Data, break; } default: - Ranges.insert(Ranges.end(), CurrentRanges); + Ranges.insert(Ranges.end(), std::move(CurrentRanges)); return createError("unknown rnglists encoding 0x%" PRIx32 " at offset 0x%" PRIx32, uint32_t(Encoding), *OffsetPtr - 1);