[ARM] Split large truncating MVE stores
[llvm-complete.git] / lib / DebugInfo / PDB / PDBSymDumper.cpp
blob0956a32f4a4976149ef3b648c37f07b4b47766eb
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 //===----------------------------------------------------------------------===//
9 #include "llvm/DebugInfo/PDB/PDBSymDumper.h"
10 #include "llvm/Support/ErrorHandling.h"
12 using namespace llvm;
13 using namespace llvm::pdb;
15 #define PDB_SYMDUMP_UNREACHABLE(Type) \
16 if (RequireImpl) \
17 llvm_unreachable("Attempt to dump " #Type " with no dump implementation");
19 PDBSymDumper::PDBSymDumper(bool ShouldRequireImpl)
20 : RequireImpl(ShouldRequireImpl) {}
22 PDBSymDumper::~PDBSymDumper() = default;
24 void PDBSymDumper::dump(const PDBSymbolAnnotation &Symbol) {
25 PDB_SYMDUMP_UNREACHABLE(PDBSymbolAnnotation)
28 void PDBSymDumper::dump(const PDBSymbolBlock &Symbol) {
29 PDB_SYMDUMP_UNREACHABLE(PDBSymbolBlock)
32 void PDBSymDumper::dump(const PDBSymbolCompiland &Symbol) {
33 PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompiland)
36 void PDBSymDumper::dump(const PDBSymbolCompilandDetails &Symbol) {
37 PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompilandDetails)
40 void PDBSymDumper::dump(const PDBSymbolCompilandEnv &Symbol) {
41 PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompilandEnv)
44 void PDBSymDumper::dump(const PDBSymbolCustom &Symbol) {
45 PDB_SYMDUMP_UNREACHABLE(PDBSymbolCustom)
48 void PDBSymDumper::dump(const PDBSymbolData &Symbol) {
49 PDB_SYMDUMP_UNREACHABLE(PDBSymbolData)
52 void PDBSymDumper::dump(const PDBSymbolExe &Symbol) {
53 PDB_SYMDUMP_UNREACHABLE(PDBSymbolExe)
56 void PDBSymDumper::dump(const PDBSymbolFunc &Symbol) {
57 PDB_SYMDUMP_UNREACHABLE(PDBSymbolFunc)
60 void PDBSymDumper::dump(const PDBSymbolFuncDebugEnd &Symbol) {
61 PDB_SYMDUMP_UNREACHABLE(PDBSymbolFuncDebugEnd)
64 void PDBSymDumper::dump(const PDBSymbolFuncDebugStart &Symbol) {
65 PDB_SYMDUMP_UNREACHABLE(PDBSymbolFuncDebugStart)
68 void PDBSymDumper::dump(const PDBSymbolLabel &Symbol) {
69 PDB_SYMDUMP_UNREACHABLE(PDBSymbolLabel)
72 void PDBSymDumper::dump(const PDBSymbolPublicSymbol &Symbol) {
73 PDB_SYMDUMP_UNREACHABLE(PDBSymbolPublicSymbol)
76 void PDBSymDumper::dump(const PDBSymbolThunk &Symbol) {
77 PDB_SYMDUMP_UNREACHABLE(PDBSymbolThunk)
80 void PDBSymDumper::dump(const PDBSymbolTypeArray &Symbol) {
81 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeArray)
84 void PDBSymDumper::dump(const PDBSymbolTypeBaseClass &Symbol) {
85 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeBaseClass)
88 void PDBSymDumper::dump(const PDBSymbolTypeBuiltin &Symbol) {
89 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeBuiltin)
92 void PDBSymDumper::dump(const PDBSymbolTypeCustom &Symbol) {
93 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeCustom)
96 void PDBSymDumper::dump(const PDBSymbolTypeDimension &Symbol) {
97 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeDimension)
100 void PDBSymDumper::dump(const PDBSymbolTypeEnum &Symbol) {
101 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeEnum)
104 void PDBSymDumper::dump(const PDBSymbolTypeFriend &Symbol) {
105 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFriend)
108 void PDBSymDumper::dump(const PDBSymbolTypeFunctionArg &Symbol) {
109 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFunctionArg)
112 void PDBSymDumper::dump(const PDBSymbolTypeFunctionSig &Symbol) {
113 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFunctionSig)
116 void PDBSymDumper::dump(const PDBSymbolTypeManaged &Symbol) {
117 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeManaged)
120 void PDBSymDumper::dump(const PDBSymbolTypePointer &Symbol) {
121 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypePointer)
124 void PDBSymDumper::dump(const PDBSymbolTypeTypedef &Symbol) {
125 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeTypedef)
128 void PDBSymDumper::dump(const PDBSymbolTypeUDT &Symbol) {
129 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeUDT)
132 void PDBSymDumper::dump(const PDBSymbolTypeVTable &Symbol) {
133 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeVTable)
136 void PDBSymDumper::dump(const PDBSymbolTypeVTableShape &Symbol) {
137 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeVTableShape)
140 void PDBSymDumper::dump(const PDBSymbolUnknown &Symbol) {
141 PDB_SYMDUMP_UNREACHABLE(PDBSymbolUnknown)
144 void PDBSymDumper::dump(const PDBSymbolUsingNamespace &Symbol) {
145 PDB_SYMDUMP_UNREACHABLE(PDBSymbolUsingNamespace)