[Lldb-commits] [PATCH] D70272: [-gmodules] Let LLDB log a warning if the Clang module hash mismatches.

Adrian Prantl via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Fri Nov 15 09:03:33 PST 2019


aprantl marked 3 inline comments as done.
aprantl added inline comments.


================
Comment at: lldb/include/lldb/Symbol/SymbolFile.h:283-285
+  /// Return a hash for this symbol file, such as a dwo_id.
+  virtual llvm::Optional<uint64_t> GetSymbolHash() { return {}; }
+  
----------------
labath wrote:
> Can we remove this and put a cast in `SymbolFileDWARF::UpdateExternalModuleListIfNeeded` instead? It looks like that function should check that it has really found a dwarf file (and not a pdb for instance) anyway...
> Can we remove this and put a cast in SymbolFileDWARF::UpdateExternalModuleListIfNeeded instead?

We don't have a mechanism to dynamic-cast between SymbolFiles at the moment and I think it's difficult to add one, since it's a base class of an open-ended plugin hierarchy. We could require all plugins to register in a global enum if we don't care about extensibility. I also thought about each class identifying itself via a string that is its class name, but then we couldn't implement casting to a base-class easily.

If you have any idea for how to do this elegantly I'm more than happy to implement it.

> It looks like that function should check that it has really found a dwarf file (and not a pdb for instance) anyway...

Technically, yes, but you'd need DWARF that encodes the path of a PDB to get into that situation, so I'm not super concerned about this.


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

https://reviews.llvm.org/D70272





More information about the lldb-commits mailing list