summaryrefslogtreecommitdiffstats
path: root/llvm/lib/DebugInfo/PDB/PDBInterfaceAnchors.cpp
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2015-02-08 00:29:29 +0000
committerZachary Turner <zturner@google.com>2015-02-08 00:29:29 +0000
commit21473f7bb613dd8e0fae47a5fb065e3d9a0da543 (patch)
tree6d66dac477be98ae8995405ff224116d4e05e60c /llvm/lib/DebugInfo/PDB/PDBInterfaceAnchors.cpp
parente169c57188b3d560c3a4cd843e8e87a80cbf3b1f (diff)
downloadbcm5719-llvm-21473f7bb613dd8e0fae47a5fb065e3d9a0da543.tar.gz
bcm5719-llvm-21473f7bb613dd8e0fae47a5fb065e3d9a0da543.zip
Some cleanup for libpdb.
This patch implements a few of the optional suggestions from the initial patch comitting libpdb. In particular, it implements a virtual function out of line for each of the concrete classes. A few other minor cleanups exist as well, such as using override instead of virtual, etc. llvm-svn: 228516
Diffstat (limited to 'llvm/lib/DebugInfo/PDB/PDBInterfaceAnchors.cpp')
-rw-r--r--llvm/lib/DebugInfo/PDB/PDBInterfaceAnchors.cpp71
1 files changed, 0 insertions, 71 deletions
diff --git a/llvm/lib/DebugInfo/PDB/PDBInterfaceAnchors.cpp b/llvm/lib/DebugInfo/PDB/PDBInterfaceAnchors.cpp
index 1d6c90198df..8b430cf7103 100644
--- a/llvm/lib/DebugInfo/PDB/PDBInterfaceAnchors.cpp
+++ b/llvm/lib/DebugInfo/PDB/PDBInterfaceAnchors.cpp
@@ -17,38 +17,6 @@
#include "llvm/DebugInfo/PDB/IPDBSourceFile.h"
#include "llvm/DebugInfo/PDB/IPDBRawSymbol.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolAnnotation.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolBlock.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolCompiland.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolCompilandDetails.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolCompilandEnv.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolCustom.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolData.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolExe.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolFunc.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolFuncDebugEnd.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolFuncDebugStart.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolLabel.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolPublicSymbol.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolThunk.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolTypeArray.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolTypeBaseClass.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolTypeCustom.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolTypeDimension.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolTypeFriend.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolTypeFunctionArg.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolTypeFunctionSig.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolTypeManaged.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolTypePointer.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolTypeTypedef.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolUnknown.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolUsingNamespace.h"
-
using namespace llvm;
IPDBSession::~IPDBSession() {}
@@ -60,42 +28,3 @@ IPDBRawSymbol::~IPDBRawSymbol() {}
IPDBSourceFile::~IPDBSourceFile() {}
IPDBLineNumber::~IPDBLineNumber() {}
-
-// All of the concrete symbol types have their methods declared inline through
-// the use of a forwarding macro, so the constructor should be declared out of
-// line to get the vtable in this file.
-#define FORWARD_SYMBOL_CONSTRUCTOR(ClassName) \
- ClassName::ClassName(std::unique_ptr<IPDBRawSymbol> Symbol) \
- : PDBSymbol(std::move(Symbol)) {}
-
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolAnnotation)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolBlock)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolCompiland)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolCompilandDetails)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolCompilandEnv)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolCustom)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolData)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolExe)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolFunc)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolFuncDebugEnd)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolFuncDebugStart)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolLabel)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolPublicSymbol)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolThunk)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeArray)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeBaseClass)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeBuiltin)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeCustom)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeDimension)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeEnum)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeFriend)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeFunctionArg)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeFunctionSig)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeManaged)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypePointer)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeTypedef)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeUDT)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeVTable)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolTypeVTableShape)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolUnknown)
-FORWARD_SYMBOL_CONSTRUCTOR(PDBSymbolUsingNamespace)
OpenPOWER on IntegriCloud