[Lldb-commits] [PATCH] D41428: [lldb] This commit adds support to cache a PDB's global scope and fixes a bug in getting the source file name for a compiland

Aaron Smith via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue Dec 19 20:50:46 PST 2017

asmith created this revision.
asmith added reviewers: zturner, lldb-commits.

This commit is a combination of following changes:


(1) Cache PDB's global scope(executable) in SymbolFilePDB


(2) Change naming of `cu` to `compiland` which is PDB specific


(3) Change ParseCompileUnitForSymIndex to ParseCompileUnitForUID.

  Prefer using a common name `UID` instead of PDB's `System Index`
  Adding one more argument `index` to this method, which is used to
  specify the index of the compile unit in a cached compile unit array

(4) Add GetPDBCompilandByUID method to simply code


(5) Fix a bug in getting the source file name for a PDB compiland.

  For some reason, PDBSymbolCompiland::getSourceFileName() could
  return an empty name, so if that is true, we have to walk through all
  source files of this compiland and determine the right source file
  used to generate this compiland based on language indicated.
  Also the previous implementation intended to call
  PDBSession::findOneSourceFile method to get its name for the
  compiland. This is not accurate since the `one source file` found
  could be a header other than source file.




-------------- next part --------------
A non-text attachment was scrubbed...
Name: D41428.127657.patch
Type: text/x-patch
Size: 21842 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20171220/a12ac675/attachment-0001.bin>

More information about the lldb-commits mailing list