[Lldb-commits] [PATCH] D18848: Add PDBASTParser and parse type information from PDB

Zachary Turner via lldb-commits lldb-commits at lists.llvm.org
Thu Apr 14 13:17:22 PDT 2016


zturner updated this revision to Diff 53775.
zturner added a comment.

Changes from first patch:

1. Based on your other comment that it wasn't actually necessary to create a `TypeSP` for builtin types, I went ahead and removed all the code that was looking at bit and byte sizes.  So all that stuff is now gone.

2. Changed classes to resolve as forward declares, but I don't actually complete them yet.  If it crashes if someone tries to complete it, I'm fine with that for now, I will probably work on completing them next anyway.

3. Fully completing enums from the pdb file now.

4. Added a bunch of unit tests.

There's no real way to write non-unit tests for this code yet, because that would require having a PDB and a matching executable and having the test generate it (like it does with dwarf, for example, by just compiling the executable with a Makefile).  I could do this with MSVC, but our test Makefile system only works with clang, which won't know how to emit PDBs for a number of months.

In the future once clang knows how to generate pdbs I will update the test suite to run the entire suite with PDB as a 4th kind of debug format in addition to dsym, dwarf, and dwo.


http://reviews.llvm.org/D18848

Files:
  include/lldb/Symbol/ClangASTContext.h
  source/Plugins/SymbolFile/PDB/CMakeLists.txt
  source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
  source/Plugins/SymbolFile/PDB/PDBASTParser.h
  source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
  source/Plugins/SymbolFile/PDB/SymbolFilePDB.h
  source/Symbol/ClangASTContext.cpp
  unittests/SymbolFile/PDB/CMakeLists.txt
  unittests/SymbolFile/PDB/Inputs/test-pdb-types.cpp
  unittests/SymbolFile/PDB/Inputs/test-pdb-types.pdb
  unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18848.53775.patch
Type: text/x-patch
Size: 45465 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20160414/8e32f706/attachment-0001.bin>


More information about the lldb-commits mailing list