summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo/CodeView/EnumTables.cpp
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2017-06-19 16:54:51 +0000
committerReid Kleckner <rnk@google.com>2017-06-19 16:54:51 +0000
commit18d90e17ad8ac9d570e3d93df0a38a1e2dd1c08a (patch)
treebf4f2cee827c30212b07e2aec43fdf323ff6325c /llvm/lib/DebugInfo/CodeView/EnumTables.cpp
parentdaa9c0e403d5e5e64a1a7d062bab8d3e0ee7edbd (diff)
downloadbcm5719-llvm-18d90e17ad8ac9d570e3d93df0a38a1e2dd1c08a.tar.gz
bcm5719-llvm-18d90e17ad8ac9d570e3d93df0a38a1e2dd1c08a.zip
[CodeView] Fix dumping of public symbol record flags
I noticed nonsensical type information while dumping PDBs produced by MSVC. llvm-svn: 305708
Diffstat (limited to 'llvm/lib/DebugInfo/CodeView/EnumTables.cpp')
-rw-r--r--llvm/lib/DebugInfo/CodeView/EnumTables.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/DebugInfo/CodeView/EnumTables.cpp b/llvm/lib/DebugInfo/CodeView/EnumTables.cpp
index 01d8ccf2d31..ec00af28395 100644
--- a/llvm/lib/DebugInfo/CodeView/EnumTables.cpp
+++ b/llvm/lib/DebugInfo/CodeView/EnumTables.cpp
@@ -82,6 +82,13 @@ static const EnumEntry<uint16_t> RegisterNames[] = {
CV_ENUM_CLASS_ENT(RegisterId, R15),
};
+static const EnumEntry<uint32_t> PublicSymFlagNames[] = {
+ CV_ENUM_CLASS_ENT(PublicSymFlags, Code),
+ CV_ENUM_CLASS_ENT(PublicSymFlags, Function),
+ CV_ENUM_CLASS_ENT(PublicSymFlags, Managed),
+ CV_ENUM_CLASS_ENT(PublicSymFlags, MSIL),
+};
+
static const EnumEntry<uint8_t> ProcSymFlagNames[] = {
CV_ENUM_CLASS_ENT(ProcSymFlags, HasFP),
CV_ENUM_CLASS_ENT(ProcSymFlags, HasIRET),
@@ -338,6 +345,9 @@ ArrayRef<EnumEntry<uint16_t>> getRegisterNames() {
return makeArrayRef(RegisterNames);
}
+ArrayRef<EnumEntry<uint32_t>> getPublicSymFlagNames() {
+ return makeArrayRef(PublicSymFlagNames);
+}
ArrayRef<EnumEntry<uint8_t>> getProcSymFlagNames() {
return makeArrayRef(ProcSymFlagNames);
}
OpenPOWER on IntegriCloud