summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo/CodeView
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2016-05-25 00:12:40 +0000
committerZachary Turner <zturner@google.com>2016-05-25 00:12:40 +0000
commit9f054d424fc5ccb73d0c668a3942281a957242c0 (patch)
tree281ca02176c1f63dd94e2fc8677636d9c0d02dd3 /llvm/lib/DebugInfo/CodeView
parentd530f68d4572fe30f24353e2e3f7b26a54f2f994 (diff)
downloadbcm5719-llvm-9f054d424fc5ccb73d0c668a3942281a957242c0.tar.gz
bcm5719-llvm-9f054d424fc5ccb73d0c668a3942281a957242c0.zip
[codeview] Add support for S_EXPORT symbol.
llvm-svn: 270636
Diffstat (limited to 'llvm/lib/DebugInfo/CodeView')
-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