[Lldb-commits] [PATCH] D113930: [LLDB][NativePDB] Fix function decl creation for class methods

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Dec 6 12:39:02 PST 2021


labath added a comment.

Thanks for the explanation. This makes things a lot clearer (though it doesn't convince me that this is the right approach).

I still think that the piecemeal addition of member functions is a problem. While I don't think that changing the parsing order in `Module::ParseAllDebugSymbols` would be a problem (that function is only called from lldb-test), I think that would only hide the problem. Looking at what happens in the DWARF case, I /think/ (the code is fairly messy, so I could be wrong) that we don't create a clang ast representation for the function in `ParseFunctions`. We only create an lldb_private::Function (in `DWARFASTParserClang::ParseFunctionFromDWARF`). The ast entity only gets created in `SymbolFileDWARF::ParseTypes` (->ParseType->DWARFASTParserClang->ParseTypeFromDWARF). This kinda makes sense since we only need the ast representation of the method when we start dealing its class.

So I have a feeling that the real solution here is to avoid creating an ast entry for the function in the first phase. Then you should be able to create the full class declaration in the second phase, as you will have complete information there.

Does that make sense?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D113930/new/

https://reviews.llvm.org/D113930



More information about the lldb-commits mailing list