blob: 121e2d13d0c1f837d26e54e64844d3f4bd2a8915 [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
Zachary Turnerb52d08d2015-03-01 06:51:29 +000024void PDBSymDumper::dump(const PDBSymbolAnnotation &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +000025 PDB_SYMDUMP_UNREACHABLE(PDBSymbolAnnotation)
26}
27
Zachary Turnerb52d08d2015-03-01 06:51:29 +000028void PDBSymDumper::dump(const PDBSymbolBlock &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +000029 PDB_SYMDUMP_UNREACHABLE(PDBSymbolBlock)
30}
31
Zachary Turnerb52d08d2015-03-01 06:51:29 +000032void PDBSymDumper::dump(const PDBSymbolCompiland &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +000033 PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompiland)
34}
35
Zachary Turnerb52d08d2015-03-01 06:51:29 +000036void PDBSymDumper::dump(const PDBSymbolCompilandDetails &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +000037 PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompilandDetails)
38}
39
Zachary Turnerb52d08d2015-03-01 06:51:29 +000040void PDBSymDumper::dump(const PDBSymbolCompilandEnv &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +000041 PDB_SYMDUMP_UNREACHABLE(PDBSymbolCompilandEnv)
42}
43
Zachary Turnerb52d08d2015-03-01 06:51:29 +000044void PDBSymDumper::dump(const PDBSymbolCustom &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +000045 PDB_SYMDUMP_UNREACHABLE(PDBSymbolCustom)
46}
47
Zachary Turnerb52d08d2015-03-01 06:51:29 +000048void PDBSymDumper::dump(const PDBSymbolData &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +000049 PDB_SYMDUMP_UNREACHABLE(PDBSymbolData)
50}
51
Zachary Turnerb52d08d2015-03-01 06:51:29 +000052void PDBSymDumper::dump(const PDBSymbolExe &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +000053 PDB_SYMDUMP_UNREACHABLE(PDBSymbolExe)
54}
55
Zachary Turnerb52d08d2015-03-01 06:51:29 +000056void PDBSymDumper::dump(const PDBSymbolFunc &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +000057 PDB_SYMDUMP_UNREACHABLE(PDBSymbolFunc)
58}
59
Zachary Turnerb52d08d2015-03-01 06:51:29 +000060void PDBSymDumper::dump(const PDBSymbolFuncDebugEnd &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +000061 PDB_SYMDUMP_UNREACHABLE(PDBSymbolFuncDebugEnd)
62}
63
Zachary Turnerb52d08d2015-03-01 06:51:29 +000064void PDBSymDumper::dump(const PDBSymbolFuncDebugStart &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +000065 PDB_SYMDUMP_UNREACHABLE(PDBSymbolFuncDebugStart)
66}
67
Zachary Turnerb52d08d2015-03-01 06:51:29 +000068void PDBSymDumper::dump(const PDBSymbolLabel &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +000069 PDB_SYMDUMP_UNREACHABLE(PDBSymbolLabel)
70}
71
Zachary Turnerb52d08d2015-03-01 06:51:29 +000072void PDBSymDumper::dump(const PDBSymbolPublicSymbol &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +000073 PDB_SYMDUMP_UNREACHABLE(PDBSymbolPublicSymbol)
74}
75
Zachary Turnerb52d08d2015-03-01 06:51:29 +000076void PDBSymDumper::dump(const PDBSymbolThunk &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +000077 PDB_SYMDUMP_UNREACHABLE(PDBSymbolThunk)
78}
79
Zachary Turnerb52d08d2015-03-01 06:51:29 +000080void PDBSymDumper::dump(const PDBSymbolTypeArray &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +000081 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeArray)
82}
83
Zachary Turnerb52d08d2015-03-01 06:51:29 +000084void PDBSymDumper::dump(const PDBSymbolTypeBaseClass &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +000085 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeBaseClass)
86}
87
Zachary Turnerb52d08d2015-03-01 06:51:29 +000088void PDBSymDumper::dump(const PDBSymbolTypeBuiltin &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +000089 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeBuiltin)
90}
91
Zachary Turnerb52d08d2015-03-01 06:51:29 +000092void PDBSymDumper::dump(const PDBSymbolTypeCustom &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +000093 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeCustom)
94}
95
Zachary Turnerb52d08d2015-03-01 06:51:29 +000096void PDBSymDumper::dump(const PDBSymbolTypeDimension &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +000097 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeDimension)
98}
99
Zachary Turnerb52d08d2015-03-01 06:51:29 +0000100void PDBSymDumper::dump(const PDBSymbolTypeEnum &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +0000101 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeEnum)
102}
103
Zachary Turnerb52d08d2015-03-01 06:51:29 +0000104void PDBSymDumper::dump(const PDBSymbolTypeFriend &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +0000105 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFriend)
106}
107
Zachary Turnerb52d08d2015-03-01 06:51:29 +0000108void PDBSymDumper::dump(const PDBSymbolTypeFunctionArg &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +0000109 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFunctionArg)
110}
111
Zachary Turnerb52d08d2015-03-01 06:51:29 +0000112void PDBSymDumper::dump(const PDBSymbolTypeFunctionSig &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +0000113 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeFunctionSig)
114}
115
Zachary Turnerb52d08d2015-03-01 06:51:29 +0000116void PDBSymDumper::dump(const PDBSymbolTypeManaged &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +0000117 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeManaged)
118}
119
Zachary Turnerb52d08d2015-03-01 06:51:29 +0000120void PDBSymDumper::dump(const PDBSymbolTypePointer &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +0000121 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypePointer)
122}
123
Zachary Turnerb52d08d2015-03-01 06:51:29 +0000124void PDBSymDumper::dump(const PDBSymbolTypeTypedef &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +0000125 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeTypedef)
126}
127
Zachary Turnerb52d08d2015-03-01 06:51:29 +0000128void PDBSymDumper::dump(const PDBSymbolTypeUDT &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +0000129 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeUDT)
130}
131
Zachary Turnerb52d08d2015-03-01 06:51:29 +0000132void PDBSymDumper::dump(const PDBSymbolTypeVTable &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +0000133 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeVTable)
134}
135
Zachary Turnerb52d08d2015-03-01 06:51:29 +0000136void PDBSymDumper::dump(const PDBSymbolTypeVTableShape &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +0000137 PDB_SYMDUMP_UNREACHABLE(PDBSymbolTypeVTableShape)
138}
139
Zachary Turnerb52d08d2015-03-01 06:51:29 +0000140void PDBSymDumper::dump(const PDBSymbolUnknown &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +0000141 PDB_SYMDUMP_UNREACHABLE(PDBSymbolUnknown)
142}
143
Zachary Turnerb52d08d2015-03-01 06:51:29 +0000144void PDBSymDumper::dump(const PDBSymbolUsingNamespace &Symbol) {
Zachary Turner9a818ad2015-02-22 22:03:38 +0000145 PDB_SYMDUMP_UNREACHABLE(PDBSymbolUsingNamespace)
146}