Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/llvm-project/llvm/lib/DebugInfo/PDB/PDBSymDumper.cpp
35269 views
1
//===- PDBSymDumper.cpp - ---------------------------------------*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
9
#include "llvm/DebugInfo/PDB/PDBSymDumper.h"
10
#include "llvm/Support/ErrorHandling.h"
11
12
using namespace llvm;
13
using namespace llvm::pdb;
14
15
#define PDB_SYMDUMP_UNREACHABLE(Type) \
16
if (RequireImpl) \
17
llvm_unreachable("Attempt to dump " #Type " with no dump implementation");
18
19
PDBSymDumper::PDBSymDumper(bool ShouldRequireImpl)
20
: RequireImpl(ShouldRequireImpl) {}
21
22
PDBSymDumper::~PDBSymDumper() = default;
23
24
void PDBSymDumper::dump(const PDBSymbolAnnotation &Symbol) {
25
PDB_SYMDUMP_UNREACHABLE(PDBSymbolAnnotation)
26
}
27
28
void PDBSymDumper::dump(const PDBSymbolBlock &Symbol) {
29
PDB_SYMDUMP_UNREACHABLE(PDBSymbolBlock)
30
}
31
32
void PDBSymDumper::dump(const PDBSymbolCompiland &Symbol) {
33
PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompiland)
34
}
35
36
void PDBSymDumper::dump(const PDBSymbolCompilandDetails &Symbol) {
37
PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompilandDetails)
38
}
39
40
void PDBSymDumper::dump(const PDBSymbolCompilandEnv &Symbol) {
41
PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompilandEnv)
42
}
43
44
void PDBSymDumper::dump(const PDBSymbolCustom &Symbol) {
45
PDB_SYMDUMP_UNREACHABLE(PDBSymbolCustom)
46
}
47
48
void PDBSymDumper::dump(const PDBSymbolData &Symbol) {
49
PDB_SYMDUMP_UNREACHABLE(PDBSymbolData)
50
}
51
52
void PDBSymDumper::dump(const PDBSymbolExe &Symbol) {
53
PDB_SYMDUMP_UNREACHABLE(PDBSymbolExe)
54
}
55
56
void PDBSymDumper::dump(const PDBSymbolFunc &Symbol) {
57
PDB_SYMDUMP_UNREACHABLE(PDBSymbolFunc)
58
}
59
60
void PDBSymDumper::dump(const PDBSymbolFuncDebugEnd &Symbol) {
61
PDB_SYMDUMP_UNREACHABLE(PDBSymbolFuncDebugEnd)
62
}
63
64
void PDBSymDumper::dump(const PDBSymbolFuncDebugStart &Symbol) {
65
PDB_SYMDUMP_UNREACHABLE(PDBSymbolFuncDebugStart)
66
}
67
68
void PDBSymDumper::dump(const PDBSymbolLabel &Symbol) {
69
PDB_SYMDUMP_UNREACHABLE(PDBSymbolLabel)
70
}
71
72
void PDBSymDumper::dump(const PDBSymbolPublicSymbol &Symbol) {
73
PDB_SYMDUMP_UNREACHABLE(PDBSymbolPublicSymbol)
74
}
75
76
void PDBSymDumper::dump(const PDBSymbolThunk &Symbol) {
77
PDB_SYMDUMP_UNREACHABLE(PDBSymbolThunk)
78
}
79
80
void PDBSymDumper::dump(const PDBSymbolTypeArray &Symbol) {
81
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeArray)
82
}
83
84
void PDBSymDumper::dump(const PDBSymbolTypeBaseClass &Symbol) {
85
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeBaseClass)
86
}
87
88
void PDBSymDumper::dump(const PDBSymbolTypeBuiltin &Symbol) {
89
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeBuiltin)
90
}
91
92
void PDBSymDumper::dump(const PDBSymbolTypeCustom &Symbol) {
93
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeCustom)
94
}
95
96
void PDBSymDumper::dump(const PDBSymbolTypeDimension &Symbol) {
97
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeDimension)
98
}
99
100
void PDBSymDumper::dump(const PDBSymbolTypeEnum &Symbol) {
101
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeEnum)
102
}
103
104
void PDBSymDumper::dump(const PDBSymbolTypeFriend &Symbol) {
105
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFriend)
106
}
107
108
void PDBSymDumper::dump(const PDBSymbolTypeFunctionArg &Symbol) {
109
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFunctionArg)
110
}
111
112
void PDBSymDumper::dump(const PDBSymbolTypeFunctionSig &Symbol) {
113
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFunctionSig)
114
}
115
116
void PDBSymDumper::dump(const PDBSymbolTypeManaged &Symbol) {
117
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeManaged)
118
}
119
120
void PDBSymDumper::dump(const PDBSymbolTypePointer &Symbol) {
121
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypePointer)
122
}
123
124
void PDBSymDumper::dump(const PDBSymbolTypeTypedef &Symbol) {
125
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeTypedef)
126
}
127
128
void PDBSymDumper::dump(const PDBSymbolTypeUDT &Symbol) {
129
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeUDT)
130
}
131
132
void PDBSymDumper::dump(const PDBSymbolTypeVTable &Symbol) {
133
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeVTable)
134
}
135
136
void PDBSymDumper::dump(const PDBSymbolTypeVTableShape &Symbol) {
137
PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeVTableShape)
138
}
139
140
void PDBSymDumper::dump(const PDBSymbolUnknown &Symbol) {
141
PDB_SYMDUMP_UNREACHABLE(PDBSymbolUnknown)
142
}
143
144
void PDBSymDumper::dump(const PDBSymbolUsingNamespace &Symbol) {
145
PDB_SYMDUMP_UNREACHABLE(PDBSymbolUsingNamespace)
146
}
147
148