blob: 0f29c740563be203ed36c615626665c501882e84 [file] [log] [blame]
Zachary Turner9a818ad2015-02-22 22:03:38 +00001//===- PDBSymDumper.cpp - ---------------------------------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#include "llvm/DebugInfo/PDB/PDBSymDumper.h"
11#include "llvm/Support/ErrorHandling.h"
12
13using namespace llvm;
14
15#define PDB_SYMDUMP_UNREACHABLE(Type) \
16 if (RequireImpl) \
17 llvm_unreachable("Attempt to dump " #Type " with no dump implementation");
18
19PDBSymDumper::PDBSymDumper(bool ShouldRequireImpl)
20 : RequireImpl(ShouldRequireImpl) {}
21
22PDBSymDumper::~PDBSymDumper() {}
23
24void PDBSymDumper::dump(const PDBSymbolAnnotation &Symbol, raw_ostream &OS,
25 int Indent) {
26 PDB_SYMDUMP_UNREACHABLE(PDBSymbolAnnotation)
27}
28
29void PDBSymDumper::dump(const PDBSymbolBlock &Symbol, raw_ostream &OS,
30 int Indent) {
31 PDB_SYMDUMP_UNREACHABLE(PDBSymbolBlock)
32}
33
34void PDBSymDumper::dump(const PDBSymbolCompiland &Symbol, raw_ostream &OS,
35 int Indent) {
36 PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompiland)
37}
38
39void PDBSymDumper::dump(const PDBSymbolCompilandDetails &Symbol,
40 raw_ostream &OS, int Indent) {
41 PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompilandDetails)
42}
43
44void PDBSymDumper::dump(const PDBSymbolCompilandEnv &Symbol, raw_ostream &OS,
45 int Indent) {
46 PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompilandEnv)
47}
48
49void PDBSymDumper::dump(const PDBSymbolCustom &Symbol, raw_ostream &OS,
50 int Indent) {
51 PDB_SYMDUMP_UNREACHABLE(PDBSymbolCustom)
52}
53
54void PDBSymDumper::dump(const PDBSymbolData &Symbol, raw_ostream &OS,
55 int Indent) {
56 PDB_SYMDUMP_UNREACHABLE(PDBSymbolData)
57}
58
59void PDBSymDumper::dump(const PDBSymbolExe &Symbol, raw_ostream &OS,
60 int Indent) {
61 PDB_SYMDUMP_UNREACHABLE(PDBSymbolExe)
62}
63
64void PDBSymDumper::dump(const PDBSymbolFunc &Symbol, raw_ostream &OS,
65 int Indent) {
66 PDB_SYMDUMP_UNREACHABLE(PDBSymbolFunc)
67}
68
69void PDBSymDumper::dump(const PDBSymbolFuncDebugEnd &Symbol, raw_ostream &OS,
70 int Indent) {
71 PDB_SYMDUMP_UNREACHABLE(PDBSymbolFuncDebugEnd)
72}
73
74void PDBSymDumper::dump(const PDBSymbolFuncDebugStart &Symbol, raw_ostream &OS,
75 int Indent) {
76 PDB_SYMDUMP_UNREACHABLE(PDBSymbolFuncDebugStart)
77}
78
79void PDBSymDumper::dump(const PDBSymbolLabel &Symbol, raw_ostream &OS,
80 int Indent) {
81 PDB_SYMDUMP_UNREACHABLE(PDBSymbolLabel)
82}
83
84void PDBSymDumper::dump(const PDBSymbolPublicSymbol &Symbol, raw_ostream &OS,
85 int Indent) {
86 PDB_SYMDUMP_UNREACHABLE(PDBSymbolPublicSymbol)
87}
88
89void PDBSymDumper::dump(const PDBSymbolThunk &Symbol, raw_ostream &OS,
90 int Indent) {
91 PDB_SYMDUMP_UNREACHABLE(PDBSymbolThunk)
92}
93
94void PDBSymDumper::dump(const PDBSymbolTypeArray &Symbol, raw_ostream &OS,
95 int Indent) {
96 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeArray)
97}
98
99void PDBSymDumper::dump(const PDBSymbolTypeBaseClass &Symbol, raw_ostream &OS,
100 int Indent) {
101 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeBaseClass)
102}
103
104void PDBSymDumper::dump(const PDBSymbolTypeBuiltin &Symbol, raw_ostream &OS,
105 int Indent) {
106 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeBuiltin)
107}
108
109void PDBSymDumper::dump(const PDBSymbolTypeCustom &Symbol, raw_ostream &OS,
110 int Indent) {
111 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeCustom)
112}
113
114void PDBSymDumper::dump(const PDBSymbolTypeDimension &Symbol, raw_ostream &OS,
115 int Indent) {
116 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeDimension)
117}
118
119void PDBSymDumper::dump(const PDBSymbolTypeEnum &Symbol, raw_ostream &OS,
120 int Indent) {
121 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeEnum)
122}
123
124void PDBSymDumper::dump(const PDBSymbolTypeFriend &Symbol, raw_ostream &OS,
125 int Indent) {
126 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFriend)
127}
128
129void PDBSymDumper::dump(const PDBSymbolTypeFunctionArg &Symbol, raw_ostream &OS,
130 int Indent) {
131 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFunctionArg)
132}
133
134void PDBSymDumper::dump(const PDBSymbolTypeFunctionSig &Symbol, raw_ostream &OS,
135 int Indent) {
136 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFunctionSig)
137}
138
139void PDBSymDumper::dump(const PDBSymbolTypeManaged &Symbol, raw_ostream &OS,
140 int Indent) {
141 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeManaged)
142}
143
144void PDBSymDumper::dump(const PDBSymbolTypePointer &Symbol, raw_ostream &OS,
145 int Indent) {
146 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypePointer)
147}
148
149void PDBSymDumper::dump(const PDBSymbolTypeTypedef &Symbol, raw_ostream &OS,
150 int Indent) {
151 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeTypedef)
152}
153
154void PDBSymDumper::dump(const PDBSymbolTypeUDT &Symbol, raw_ostream &OS,
155 int Indent) {
156 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeUDT)
157}
158
159void PDBSymDumper::dump(const PDBSymbolTypeVTable &Symbol, raw_ostream &OS,
160 int Indent) {
161 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeVTable)
162}
163
164void PDBSymDumper::dump(const PDBSymbolTypeVTableShape &Symbol, raw_ostream &OS,
165 int Indent) {
166 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeVTableShape)
167}
168
169void PDBSymDumper::dump(const PDBSymbolUnknown &Symbol, raw_ostream &OS,
170 int Indent) {
171 PDB_SYMDUMP_UNREACHABLE(PDBSymbolUnknown)
172}
173
174void PDBSymDumper::dump(const PDBSymbolUsingNamespace &Symbol, raw_ostream &OS,
175 int Indent) {
176 PDB_SYMDUMP_UNREACHABLE(PDBSymbolUsingNamespace)
177}