aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2006-12-22 22:49:00 +0000
committerDevang Patel <dpatel@apple.com>2006-12-22 22:49:00 +0000
commitc7d0f4be88cc7fa33d51736e0f53d3e00e69efb4 (patch)
tree85b4e9421ca312c5c74f511c116b0e00f3452c65
parent40bf725ef14a8d2d0aab281887774395a8cdd3f7 (diff)
downloadexternal_llvm-c7d0f4be88cc7fa33d51736e0f53d3e00e69efb4.zip
external_llvm-c7d0f4be88cc7fa33d51736e0f53d3e00e69efb4.tar.gz
external_llvm-c7d0f4be88cc7fa33d51736e0f53d3e00e69efb4.tar.bz2
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
-rw-r--r--include/llvm/Pass.h6
-rw-r--r--lib/VMCore/Pass.cpp6
2 files changed, 12 insertions, 0 deletions
diff --git a/include/llvm/Pass.h b/include/llvm/Pass.h
index 9663826..a5c1c61 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 8c5a2f7..a3c3d7a 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
//===----------------------------------------------------------------------===//