From c7d0f4be88cc7fa33d51736e0f53d3e00e69efb4 Mon Sep 17 00:00:00 2001 From: Devang Patel Date: Fri, 22 Dec 2006 22:49:00 +0000 Subject: [PATCH] ModulePass and ImmutablePass. Force out of line virtual method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32748 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Pass.h | 6 ++++++ lib/VMCore/Pass.cpp | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/include/llvm/Pass.h b/include/llvm/Pass.h index 9663826ccf6..a5c1c61c4bf 100644 --- a/include/llvm/Pass.h +++ b/include/llvm/Pass.h @@ -205,6 +205,9 @@ public: #ifdef USE_OLD_PASSMANAGER virtual void addToPassManager(ModulePassManager *PM, AnalysisUsage &AU); +#else + // Force out-of-line virtual method. + virtual ~ModulePass(); #endif }; @@ -233,6 +236,9 @@ private: template friend class PassManagerT; friend class ModulePassManager; virtual void addToPassManager(ModulePassManager *PM, AnalysisUsage &AU); +#else + // Force out-of-line virtual method. + virtual ~ImmutablePass(); #endif }; diff --git a/lib/VMCore/Pass.cpp b/lib/VMCore/Pass.cpp index 8c5a2f760eb..a3c3d7aa818 100644 --- a/lib/VMCore/Pass.cpp +++ b/lib/VMCore/Pass.cpp @@ -171,6 +171,9 @@ void PMDebug::PrintAnalysisSetInfo(unsigned Depth, const char *Msg, void ModulePass::addToPassManager(ModulePassManager *PM, AnalysisUsage &AU) { PM->addPass(this, AU); } +#else +// Force out-of-line virtual method. +ModulePass::~ModulePass() { } #endif bool Pass::mustPreserveAnalysisID(const PassInfo *AnalysisID) const { @@ -215,6 +218,9 @@ void ImmutablePass::addToPassManager(ModulePassManager *PM, AnalysisUsage &AU) { PM->addPass(this, AU); } +#else +// Force out-of-line virtual method. +ImmutablePass::~ImmutablePass() { } #endif //===----------------------------------------------------------------------===//