From: Reid Spencer Date: Mon, 25 Apr 2005 01:01:35 +0000 (+0000) Subject: Older compilers won't like the inline virtual destructor in the header file X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff_plain;h=e8f38486394f3a897e3637b559ade420dddbe1e3 Older compilers won't like the inline virtual destructor in the header file 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 --- diff --git a/include/llvm/PassAnalysisSupport.h b/include/llvm/PassAnalysisSupport.h index 9f70d7e3852..415f93cc67b 100644 --- a/include/llvm/PassAnalysisSupport.h +++ b/include/llvm/PassAnalysisSupport.h @@ -105,7 +105,7 @@ public: // 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; diff --git a/lib/VMCore/Pass.cpp b/lib/VMCore/Pass.cpp index 4ed78475677..dc547ae47c6 100644 --- a/lib/VMCore/Pass.cpp +++ b/lib/VMCore/Pass.cpp @@ -45,6 +45,8 @@ void RegisterPassBase::setOnlyUsesCFG() { // AnalysisResolver Class Implementation // +AnalysisResolver::~AnalysisResolver() { +} void AnalysisResolver::setAnalysisResolver(Pass *P, AnalysisResolver *AR) { assert(P->Resolver == 0 && "Pass already in a PassManager!"); P->Resolver = AR; @@ -494,3 +496,4 @@ void PassRegistrationListener::enumeratePasses() { E = PassInfoMap->end(); I != E; ++I) passEnumerate(I->second); } +