[Lldb-commits] [PATCH] D56126: [NativePDB] Add basic support of methods recostruction in AST

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

labath added a comment.

In D56126#1342114 <https://reviews.llvm.org/D56126#1342114>, @zturner wrote:

> > This info is contained in the Symbols stream, not in the TPI stream. As far as I understand, we can't find in a simple way the link between a LF_ONEMETHOD record and a corresponding S_GPROC32 record. I think it's the place, where we need to use the approach similar to D54053 <https://reviews.llvm.org/D54053> (to parse mangled names and to build some part of AST based on this info). That's what I'm planning to implement next. Do you have any objections on this? Or may be there's a better way to solve this?
> I think it's probably best to skip this part for now and come back to it later.  The only thing that will be missing is the ability to use member function templates in expressions.  Of course we need this eventually, but probably there is more useful stuff to work on first.

You might be interested to know that member function templates don't currently work in dwarf land either. I don't understand the full background, but the issue has something to do with the fact that they (and their debug info in dwarf) are emitted only when used, which means that the class declaration can end up being different depending on where you reconstruct it from. This leads to problems if two class definitions (e.g., from two different modules) end up being used in the same expression. There's a longer discussion about the problem here: http://lists.llvm.org/pipermail/llvm-dev/2018-June/124067.html




More information about the lldb-commits mailing list