[Lldb-commits] [PATCH] D56170: RangeMap.h: merge RangeDataArray and RangeDataVector

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Dec 31 03:09:21 PST 2018


labath created this revision.
labath added reviewers: clayborg, teemperor, tberghammer.
Herald added subscribers: JDevlieghere, mgorny.

The main difference between the classes was supposed to be the fact that
one is backed by llvm::SmallVector, and the other by std::vector.
However, over the years, they have accumulated various other differences
too.

This essentially removes the std::vector version, as that is pretty much
identical to llvm::SmallVector<T, 0>, and combines their interfaces. It
does not attempt to do a more significant refactoring, even though there
is still a lot of duplication in this file, as it is hard to tell which
quirk of some API is depended on by somebody (and, a previous, more
ambitious attempt at this in D16769 <https://reviews.llvm.org/D16769> has failed).

I also add some tests, including one which demonstrates one of the
quirks/bugs of the API I have noticed in the process.


https://reviews.llvm.org/D56170

Files:
  include/lldb/Core/RangeMap.h
  include/lldb/Symbol/DWARFCallFrameInfo.h
  include/lldb/Symbol/LineTable.h
  include/lldb/Symbol/Symtab.h
  source/Plugins/Process/elf-core/ProcessElfCore.h
  source/Plugins/Process/mach-core/ProcessMachCore.h
  source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.h
  source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
  source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
  unittests/Core/CMakeLists.txt
  unittests/Core/RangeMapTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D56170.179754.patch
Type: text/x-patch
Size: 18306 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20181231/c21630c0/attachment-0001.bin>


More information about the lldb-commits mailing list