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
This commit is contained in:
Devang Patel 2006-12-22 22:49:00 +00:00
parent 40bf725ef1
commit c7d0f4be88
2 changed files with 12 additions and 0 deletions

View File

@ -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
};

View File

@ -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
//===----------------------------------------------------------------------===//