diff options
-rw-r--r-- | include/llvm/Pass.h | 6 | ||||
-rw-r--r-- | lib/VMCore/Pass.cpp | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/include/llvm/Pass.h b/include/llvm/Pass.h index 9663826ccf..a5c1c61c4b 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<typename Trait> 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 8c5a2f760e..a3c3d7aa81 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 //===----------------------------------------------------------------------===// |