[Lldb-commits] [PATCH] D60599: Move postfix expression code out of the NativePDB plugin

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Fri Apr 12 01:47:47 PDT 2019


labath created this revision.
labath added reviewers: jasonmolenda, amccarth, clayborg, JDevlieghere, aleksandr.urakov.
Herald added a subscriber: aprantl.

The NativePDB plugin contains code to convert "programs" describing the
layout of function frames into dwarf (for easier interaction with the
rest of lldb). This functionality is useful for the Breakpad plugin too,
as it contains the same kind of expressions (because breakpad info is
generated from pdb files).

In this patch, I move the core classes of this code into a common place,
where it can be used from both files. Previously, these were the details
of the implementation, but here I am exposing them (instead of just a
single "string->string" conversion function), as breakpad will need to
use these in a slightly different way. The reason for that is that
breakpad files generated from dwarf expressions use a slightly different
syntax, although most of the core code can be reused with a bit of
thought.

This is also the reason why I am not moving the parsing or dwarf
generation bits, as they will need to be generalized a bit before
they're usable for both scenarios.

This patch should be NFC, modulo renaming the moved entities to more
neutral names.

The reason I am moving this to the "Symbol" library, is because both
customers will be "Symbol"Files, and also the unwinding code lives in
the Symbol library. From a purely dependency standpoint this code will
probably be standalone, and so it could be moved all the way to Utility,
but that seems too low for this kind of functionality.


https://reviews.llvm.org/D60599

Files:
  include/lldb/Symbol/PostfixExpression.h
  source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D60599.194816.patch
Type: text/x-patch
Size: 22989 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20190412/18590717/attachment-0001.bin>


More information about the lldb-commits mailing list