diff options
author | Zachary Turner <zturner@google.com> | 2018-10-01 22:39:19 +0000 |
---|---|---|
committer | Zachary Turner <zturner@google.com> | 2018-10-01 22:39:19 +0000 |
commit | 93fc255b0c001cd5318c8903edfb0b36ed33f28e (patch) | |
tree | dd43c2af4f86a700072f285fdc91dbc2be72669a | |
parent | 4979eab40f9bbf690b8732f60fcad82b41694a5b (diff) |
[PDB] Add support for more kinds of PDB Sym Tags.
DIA SDK is returning several new sym tag types, so we update
the enumeration and printing code to support these.
-rw-r--r-- | llvm/include/llvm/DebugInfo/PDB/PDBTypes.h | 12 | ||||
-rw-r--r-- | llvm/lib/DebugInfo/PDB/PDBExtras.cpp | 14 |
2 files changed, 25 insertions, 1 deletions
diff --git a/llvm/include/llvm/DebugInfo/PDB/PDBTypes.h b/llvm/include/llvm/DebugInfo/PDB/PDBTypes.h index d1d7be6e6ed..6247018ce0f 100644 --- a/llvm/include/llvm/DebugInfo/PDB/PDBTypes.h +++ b/llvm/include/llvm/DebugInfo/PDB/PDBTypes.h @@ -210,6 +210,18 @@ enum class PDB_SymType { CustomType, ManagedType, Dimension, + CallSite, + InlineSite, + BaseInterface, + VectorType, + MatrixType, + HLSLType, + Caller, + Callee, + Export, + HeapAllocationSite, + CoffGroup, + Inlinee, Max }; diff --git a/llvm/lib/DebugInfo/PDB/PDBExtras.cpp b/llvm/lib/DebugInfo/PDB/PDBExtras.cpp index f3bd21dd8c4..0d8af232cd9 100644 --- a/llvm/lib/DebugInfo/PDB/PDBExtras.cpp +++ b/llvm/lib/DebugInfo/PDB/PDBExtras.cpp @@ -229,8 +229,20 @@ raw_ostream &llvm::pdb::operator<<(raw_ostream &OS, const PDB_SymType &Tag) { CASE_OUTPUT_ENUM_CLASS_NAME(PDB_SymType, CustomType, OS) CASE_OUTPUT_ENUM_CLASS_NAME(PDB_SymType, ManagedType, OS) CASE_OUTPUT_ENUM_CLASS_NAME(PDB_SymType, Dimension, OS) + CASE_OUTPUT_ENUM_CLASS_NAME(PDB_SymType, CallSite, OS) + CASE_OUTPUT_ENUM_CLASS_NAME(PDB_SymType, InlineSite, OS) + CASE_OUTPUT_ENUM_CLASS_NAME(PDB_SymType, BaseInterface, OS) + CASE_OUTPUT_ENUM_CLASS_NAME(PDB_SymType, VectorType, OS) + CASE_OUTPUT_ENUM_CLASS_NAME(PDB_SymType, MatrixType, OS) + CASE_OUTPUT_ENUM_CLASS_NAME(PDB_SymType, HLSLType, OS) + CASE_OUTPUT_ENUM_CLASS_NAME(PDB_SymType, Caller, OS) + CASE_OUTPUT_ENUM_CLASS_NAME(PDB_SymType, Callee, OS) + CASE_OUTPUT_ENUM_CLASS_NAME(PDB_SymType, Export, OS) + CASE_OUTPUT_ENUM_CLASS_NAME(PDB_SymType, HeapAllocationSite, OS) + CASE_OUTPUT_ENUM_CLASS_NAME(PDB_SymType, CoffGroup, OS) + CASE_OUTPUT_ENUM_CLASS_NAME(PDB_SymType, Inlinee, OS) default: - OS << "Unknown"; + OS << "Unknown SymTag " << uint32_t(Tag); } return OS; } |