For PR387:\

Add runPass methods to remove -Woverloaded-virtual warnings are not \
present and circumvent possible inheritance bugs.

llvm-svn: 18600
This commit is contained in:
Reid Spencer 2004-12-07 08:11:11 +00:00
parent b5bb597405
commit c332610d52
1 changed files with 6 additions and 3 deletions

View File

@ -87,7 +87,8 @@ public:
/// runPass - Run this pass, returning true if a modification was made to the
/// module argument. This should be implemented by all concrete subclasses.
///
virtual bool runPass(Module &M) = 0;
virtual bool runPass(Module &M) { return false; }
virtual bool runPass(BasicBlock&) { return false; }
/// print - Print out the internal state of the pass. This is called by
/// Analyze to print out the contents of an analysis. Otherwise it is not
@ -216,7 +217,8 @@ public:
/// being operated on.
virtual bool runOnModule(Module &M) = 0;
bool runPass(Module &M) { return runOnModule(M); }
virtual bool runPass(Module &M) { return runOnModule(M); }
virtual bool runPass(BasicBlock&) { return false; }
virtual void addToPassManager(PassManagerT<Module> *PM, AnalysisUsage &AU);
};
@ -338,7 +340,8 @@ struct BasicBlockPass : public FunctionPass {
/// To run directly on the basic block, we initialize, runOnBasicBlock, then
/// finalize.
///
bool runPass(BasicBlock &BB);
virtual bool runPass(Module &M) { return false; }
virtual bool runPass(BasicBlock &BB);
private:
friend class PassManagerT<Function>;