so we put the destructor in Pass.cpp and make it non-inline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21520
91177308-0d34-0410-b5e6-
96231b3b80d8
// is used to pull analysis information out of them.
//
struct AnalysisResolver {
- virtual ~AnalysisResolver() {}
+ virtual ~AnalysisResolver();
virtual Pass *getAnalysisOrNullUp(AnalysisID ID) const = 0;
virtual Pass *getAnalysisOrNullDown(AnalysisID ID) const = 0;
virtual void addPass(ImmutablePass *IP, AnalysisUsage &AU) = 0;
// AnalysisResolver Class Implementation
//
+AnalysisResolver::~AnalysisResolver() {
+}
void AnalysisResolver::setAnalysisResolver(Pass *P, AnalysisResolver *AR) {
assert(P->Resolver == 0 && "Pass already in a PassManager!");
P->Resolver = AR;
E = PassInfoMap->end(); I != E; ++I)
passEnumerate(I->second);
}
+