]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/lib/DebugInfo/PDB/PDBSymDumper.cpp
MFV r337029:
[FreeBSD/FreeBSD.git] / contrib / llvm / lib / DebugInfo / PDB / PDBSymDumper.cpp
1 //===- 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
13 using namespace llvm;
14 using namespace llvm::pdb;
15
16 #define PDB_SYMDUMP_UNREACHABLE(Type)                                          \
17   if (RequireImpl)                                                             \
18     llvm_unreachable("Attempt to dump " #Type " with no dump implementation");
19
20 PDBSymDumper::PDBSymDumper(bool ShouldRequireImpl)
21     : RequireImpl(ShouldRequireImpl) {}
22
23 PDBSymDumper::~PDBSymDumper() = default;
24
25 void PDBSymDumper::dump(const PDBSymbolAnnotation &Symbol) {
26   PDB_SYMDUMP_UNREACHABLE(PDBSymbolAnnotation)
27 }
28
29 void PDBSymDumper::dump(const PDBSymbolBlock &Symbol) {
30   PDB_SYMDUMP_UNREACHABLE(PDBSymbolBlock)
31 }
32
33 void PDBSymDumper::dump(const PDBSymbolCompiland &Symbol) {
34   PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompiland)
35 }
36
37 void PDBSymDumper::dump(const PDBSymbolCompilandDetails &Symbol) {
38   PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompilandDetails)
39 }
40
41 void PDBSymDumper::dump(const PDBSymbolCompilandEnv &Symbol) {
42   PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompilandEnv)
43 }
44
45 void PDBSymDumper::dump(const PDBSymbolCustom &Symbol) {
46   PDB_SYMDUMP_UNREACHABLE(PDBSymbolCustom)
47 }
48
49 void PDBSymDumper::dump(const PDBSymbolData &Symbol) {
50   PDB_SYMDUMP_UNREACHABLE(PDBSymbolData)
51 }
52
53 void PDBSymDumper::dump(const PDBSymbolExe &Symbol) {
54   PDB_SYMDUMP_UNREACHABLE(PDBSymbolExe)
55 }
56
57 void PDBSymDumper::dump(const PDBSymbolFunc &Symbol) {
58   PDB_SYMDUMP_UNREACHABLE(PDBSymbolFunc)
59 }
60
61 void PDBSymDumper::dump(const PDBSymbolFuncDebugEnd &Symbol) {
62   PDB_SYMDUMP_UNREACHABLE(PDBSymbolFuncDebugEnd)
63 }
64
65 void PDBSymDumper::dump(const PDBSymbolFuncDebugStart &Symbol) {
66   PDB_SYMDUMP_UNREACHABLE(PDBSymbolFuncDebugStart)
67 }
68
69 void PDBSymDumper::dump(const PDBSymbolLabel &Symbol) {
70   PDB_SYMDUMP_UNREACHABLE(PDBSymbolLabel)
71 }
72
73 void PDBSymDumper::dump(const PDBSymbolPublicSymbol &Symbol) {
74   PDB_SYMDUMP_UNREACHABLE(PDBSymbolPublicSymbol)
75 }
76
77 void PDBSymDumper::dump(const PDBSymbolThunk &Symbol) {
78   PDB_SYMDUMP_UNREACHABLE(PDBSymbolThunk)
79 }
80
81 void PDBSymDumper::dump(const PDBSymbolTypeArray &Symbol) {
82   PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeArray)
83 }
84
85 void PDBSymDumper::dump(const PDBSymbolTypeBaseClass &Symbol) {
86   PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeBaseClass)
87 }
88
89 void PDBSymDumper::dump(const PDBSymbolTypeBuiltin &Symbol) {
90   PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeBuiltin)
91 }
92
93 void PDBSymDumper::dump(const PDBSymbolTypeCustom &Symbol) {
94   PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeCustom)
95 }
96
97 void PDBSymDumper::dump(const PDBSymbolTypeDimension &Symbol) {
98   PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeDimension)
99 }
100
101 void PDBSymDumper::dump(const PDBSymbolTypeEnum &Symbol) {
102   PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeEnum)
103 }
104
105 void PDBSymDumper::dump(const PDBSymbolTypeFriend &Symbol) {
106   PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFriend)
107 }
108
109 void PDBSymDumper::dump(const PDBSymbolTypeFunctionArg &Symbol) {
110   PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFunctionArg)
111 }
112
113 void PDBSymDumper::dump(const PDBSymbolTypeFunctionSig &Symbol) {
114   PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFunctionSig)
115 }
116
117 void PDBSymDumper::dump(const PDBSymbolTypeManaged &Symbol) {
118   PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeManaged)
119 }
120
121 void PDBSymDumper::dump(const PDBSymbolTypePointer &Symbol) {
122   PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypePointer)
123 }
124
125 void PDBSymDumper::dump(const PDBSymbolTypeTypedef &Symbol) {
126   PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeTypedef)
127 }
128
129 void PDBSymDumper::dump(const PDBSymbolTypeUDT &Symbol) {
130   PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeUDT)
131 }
132
133 void PDBSymDumper::dump(const PDBSymbolTypeVTable &Symbol) {
134   PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeVTable)
135 }
136
137 void PDBSymDumper::dump(const PDBSymbolTypeVTableShape &Symbol) {
138   PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeVTableShape)
139 }
140
141 void PDBSymDumper::dump(const PDBSymbolUnknown &Symbol) {
142   PDB_SYMDUMP_UNREACHABLE(PDBSymbolUnknown)
143 }
144
145 void PDBSymDumper::dump(const PDBSymbolUsingNamespace &Symbol) {
146   PDB_SYMDUMP_UNREACHABLE(PDBSymbolUsingNamespace)
147 }