aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/DebugInfo/CodeView/DebugSubsectionVisitor.cpp
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2017-05-30 16:36:15 +0000
committerZachary Turner <zturner@google.com>2017-05-30 16:36:15 +0000
commit8c099fe06e9c4efdea698ac82df2685792ea0b6e (patch)
treef7c02d70b848b5a80ae054f209d5a8ee2965a291 /llvm/lib/DebugInfo/CodeView/DebugSubsectionVisitor.cpp
parent00ce96f6eed8559c7bbb90768a782ca0cc3c47ea (diff)
downloadllvm-8c099fe06e9c4efdea698ac82df2685792ea0b6e.zip
llvm-8c099fe06e9c4efdea698ac82df2685792ea0b6e.tar.gz
llvm-8c099fe06e9c4efdea698ac82df2685792ea0b6e.tar.bz2
[CodeView] Rename ModuleDebugFragment -> DebugSubsection.
This is more concise, and matches the terminology used in other parts of the codebase more closely. llvm-svn: 304218
Diffstat (limited to 'llvm/lib/DebugInfo/CodeView/DebugSubsectionVisitor.cpp')
-rw-r--r--llvm/lib/DebugInfo/CodeView/DebugSubsectionVisitor.cpp52
1 files changed, 52 insertions, 0 deletions
diff --git a/llvm/lib/DebugInfo/CodeView/DebugSubsectionVisitor.cpp b/llvm/lib/DebugInfo/CodeView/DebugSubsectionVisitor.cpp
new file mode 100644
index 0000000..f2c4dea8
--- /dev/null
+++ b/llvm/lib/DebugInfo/CodeView/DebugSubsectionVisitor.cpp
@@ -0,0 +1,52 @@
+//===- DebugSubsectionVisitor.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/DebugSubsectionVisitor.h"
+
+#include "llvm/DebugInfo/CodeView/DebugChecksumsSubsection.h"
+#include "llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h"
+#include "llvm/DebugInfo/CodeView/DebugLinesSubsection.h"
+#include "llvm/DebugInfo/CodeView/DebugSubsectionRecord.h"
+#include "llvm/DebugInfo/CodeView/DebugUnknownSubsection.h"
+#include "llvm/Support/BinaryStreamReader.h"
+#include "llvm/Support/BinaryStreamRef.h"
+
+using namespace llvm;
+using namespace llvm::codeview;
+
+Error llvm::codeview::visitDebugSubsection(const DebugSubsectionRecord &R,
+ DebugSubsectionVisitor &V) {
+ BinaryStreamReader Reader(R.getRecordData());
+ switch (R.kind()) {
+ case DebugSubsectionKind::Lines: {
+ DebugLinesSubsectionRef Fragment;
+ if (auto EC = Fragment.initialize(Reader))
+ return EC;
+
+ return V.visitLines(Fragment);
+ }
+ case DebugSubsectionKind::FileChecksums: {
+ DebugChecksumsSubsectionRef Fragment;
+ if (auto EC = Fragment.initialize(Reader))
+ return EC;
+
+ return V.visitFileChecksums(Fragment);
+ }
+ case DebugSubsectionKind::InlineeLines: {
+ DebugInlineeLinesSubsectionRef Fragment;
+ if (auto EC = Fragment.initialize(Reader))
+ return EC;
+ return V.visitInlineeLines(Fragment);
+ }
+ default: {
+ DebugUnknownSubsectionRef Fragment(R.kind(), R.getRecordData());
+ return V.visitUnknown(Fragment);
+ }
+ }
+}