This is an archive of the discontinued LLVM Phabricator instance.

Abstract the debug info parser from the ASTContext
AbandonedPublic

Authored by zturner on Mar 15 2016, 11:47 AM.

Details

Reviewers
clayborg
Summary

ClangASTContext was assuming the presence of DWARF debug info, so it was baked into the class that DWARFASTParserClang would be used. This won't be the case with PDB, which will need a PDBASTParserClang. This will be used for PDB's generated by MSVC (since it is ABI compatible with clang-cl) as well as (in the future) PDBs generated directly by clang.

For now PDBASTParserClang is not implemented, this only breaks up the DWARFASTParser class into an abstraction that is not dwarf dependent, and has ClangASTContext deal only with this abstraction, while SymbolFileDWARF can deal directly with the DWARFASTParser.

Diff Detail

Event Timeline

zturner updated this revision to Diff 50760.Mar 15 2016, 11:47 AM
zturner retitled this revision from to Abstract the debug info parser from the ASTContext.
zturner updated this object.
zturner added a reviewer: clayborg.
zturner added a subscriber: lldb-commits.
zturner abandoned this revision.Mar 15 2016, 1:34 PM

Abandoning this for now, I ran into some difficulties when trying to implement the PDB version. Will have to resolve those first and then come back to this.

zturner updated this revision to Diff 50840.Mar 16 2016, 11:17 AM

Re-opening this after an update. I had to move CanCompleteType, CompleteType, and LayoutRecordType implementations into another class (which I've called ClangTypeImportHelper, because PDB needed to use the exact same implementation.

ping, any objections here Greg?

clayborg edited edge metadata.Mar 21 2016, 11:32 AM

I need to speak with you about this and I do have objections. I made a ton of comments inline and as I started to understand what you were trying to do many objections changed, but I still have them. There is a ton of stuff in there and I would like to speak with you offline about this before I actually make my recommendation.

zturner abandoned this revision.Mar 22 2016, 2:06 PM

Abandoning this revision and will re-open a new revision.