[llvm] r327067 - [DebugInfo] Move RangeListEntries instead of copying.

Benjamin Kramer via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 8 13:31:10 PST 2018


Author: d0k
Date: Thu Mar  8 13:31:10 2018
New Revision: 327067

URL: http://llvm.org/viewvc/llvm-project?rev=327067&view=rev
Log:
[DebugInfo] Move RangeListEntries instead of copying.

This is needed for correctness as RangeListEntry is not copy-assignable,
which std::vector might rely on.

Modified:
    llvm/trunk/lib/DebugInfo/DWARF/DWARFDebugRnglists.cpp

Modified: llvm/trunk/lib/DebugInfo/DWARF/DWARFDebugRnglists.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/DebugInfo/DWARF/DWARFDebugRnglists.cpp?rev=327067&r1=327066&r2=327067&view=diff
==============================================================================
--- llvm/trunk/lib/DebugInfo/DWARF/DWARFDebugRnglists.cpp (original)
+++ llvm/trunk/lib/DebugInfo/DWARF/DWARFDebugRnglists.cpp Thu Mar  8 13:31:10 2018
@@ -98,7 +98,7 @@ Error DWARFDebugRnglists::extract(DWARFD
     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(DWARFD
       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);




More information about the llvm-commits mailing list