summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp')
-rw-r--r--llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp b/llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp
index 989772b8fb2..03b711282b4 100644
--- a/llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp
+++ b/llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp
@@ -241,6 +241,15 @@ static const EnumEntry<uint32_t> FrameProcSymFlags[] = {
CV_ENUM_CLASS_ENT(FrameProcedureOptions, GuardCfw),
};
+static const EnumEntry<uint16_t> ExportSymFlags[] = {
+ CV_ENUM_CLASS_ENT(ExportFlags, IsConstant),
+ CV_ENUM_CLASS_ENT(ExportFlags, IsData),
+ CV_ENUM_CLASS_ENT(ExportFlags, IsPrivate),
+ CV_ENUM_CLASS_ENT(ExportFlags, HasNoName),
+ CV_ENUM_CLASS_ENT(ExportFlags, HasExplicitOrdinal),
+ CV_ENUM_CLASS_ENT(ExportFlags, IsForwarder),
+};
+
static const EnumEntry<uint8_t> ThunkOrdinalNames[] = {
CV_ENUM_CLASS_ENT(ThunkOrdinal, Standard),
CV_ENUM_CLASS_ENT(ThunkOrdinal, ThisAdjustor),
@@ -430,6 +439,13 @@ void CVSymbolDumperImpl::visitFileStaticSym(SymbolKind Kind,
W.printString("Name", FileStatic.Name);
}
+void CVSymbolDumperImpl::visitExportSym(SymbolKind Kind, ExportSym &Export) {
+ DictScope S(W, "Export");
+ W.printNumber("Ordinal", Export.Header.Ordinal);
+ W.printFlags("Flags", Export.Header.Flags, makeArrayRef(ExportSymFlags));
+ W.printString("Name", Export.Name);
+}
+
void CVSymbolDumperImpl::visitCompile2Sym(SymbolKind Kind,
Compile2Sym &Compile2) {
DictScope S(W, "CompilerFlags2");
OpenPOWER on IntegriCloud