summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/lib/DebugInfo/CodeView/CVSymbolVisitor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/llvm/lib/DebugInfo/CodeView/CVSymbolVisitor.cpp')
-rw-r--r--gnu/llvm/lib/DebugInfo/CodeView/CVSymbolVisitor.cpp83
1 files changed, 0 insertions, 83 deletions
diff --git a/gnu/llvm/lib/DebugInfo/CodeView/CVSymbolVisitor.cpp b/gnu/llvm/lib/DebugInfo/CodeView/CVSymbolVisitor.cpp
deleted file mode 100644
index cbcaa569282..00000000000
--- a/gnu/llvm/lib/DebugInfo/CodeView/CVSymbolVisitor.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-//===- CVSymbolVisitor.cpp --------------------------------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "llvm/DebugInfo/CodeView/CVSymbolVisitor.h"
-
-#include "llvm/DebugInfo/CodeView/CodeViewError.h"
-#include "llvm/DebugInfo/CodeView/SymbolVisitorCallbacks.h"
-
-using namespace llvm;
-using namespace llvm::codeview;
-
-CVSymbolVisitor::CVSymbolVisitor(SymbolVisitorCallbacks &Callbacks)
- : Callbacks(Callbacks) {}
-
-template <typename T>
-static Error visitKnownRecord(CVSymbol &Record,
- SymbolVisitorCallbacks &Callbacks) {
- SymbolRecordKind RK = static_cast<SymbolRecordKind>(Record.Type);
- T KnownRecord(RK);
- if (auto EC = Callbacks.visitKnownRecord(Record, KnownRecord))
- return EC;
- return Error::success();
-}
-
-static Error finishVisitation(CVSymbol &Record,
- SymbolVisitorCallbacks &Callbacks) {
- switch (Record.Type) {
- default:
- if (auto EC = Callbacks.visitUnknownSymbol(Record))
- return EC;
- break;
-#define SYMBOL_RECORD(EnumName, EnumVal, Name) \
- case EnumName: { \
- if (auto EC = visitKnownRecord<Name>(Record, Callbacks)) \
- return EC; \
- break; \
- }
-#define SYMBOL_RECORD_ALIAS(EnumName, EnumVal, Name, AliasName) \
- SYMBOL_RECORD(EnumVal, EnumVal, AliasName)
-#include "llvm/DebugInfo/CodeView/CodeViewSymbols.def"
- }
-
- if (auto EC = Callbacks.visitSymbolEnd(Record))
- return EC;
-
- return Error::success();
-}
-
-Error CVSymbolVisitor::visitSymbolRecord(CVSymbol &Record) {
- if (auto EC = Callbacks.visitSymbolBegin(Record))
- return EC;
- return finishVisitation(Record, Callbacks);
-}
-
-Error CVSymbolVisitor::visitSymbolRecord(CVSymbol &Record, uint32_t Offset) {
- if (auto EC = Callbacks.visitSymbolBegin(Record, Offset))
- return EC;
- return finishVisitation(Record, Callbacks);
-}
-
-Error CVSymbolVisitor::visitSymbolStream(const CVSymbolArray &Symbols) {
- for (auto I : Symbols) {
- if (auto EC = visitSymbolRecord(I))
- return EC;
- }
- return Error::success();
-}
-
-Error CVSymbolVisitor::visitSymbolStream(const CVSymbolArray &Symbols,
- uint32_t InitialOffset) {
- for (auto I : Symbols) {
- if (auto EC = visitSymbolRecord(I, InitialOffset + Symbols.skew()))
- return EC;
- InitialOffset += I.length();
- }
- return Error::success();
-}