Fix Lint printing warnings multiple times. Remove the ErrorStr

option from lintModule, which was an artifact from being
based on Verifier code.

llvm-svn: 104765
This commit is contained in:
Dan Gohman 2010-05-26 22:28:53 +00:00
parent c0b69020cd
commit 084bcb1322
2 changed files with 3 additions and 7 deletions

View File

@ -38,8 +38,7 @@ FunctionPass *createLintPass();
/// This should only be used for debugging, because it plays games with
/// PassManagers and stuff.
void lintModule(
const Module &M, ///< The module to be checked
std::string *ErrorInfo = 0 ///< Information about failures.
const Module &M ///< The module to be checked
);
// lintFunction - Check a function.

View File

@ -179,6 +179,7 @@ bool Lint::runOnFunction(Function &F) {
TD = getAnalysisIfAvailable<TargetData>();
visit(F);
dbgs() << MessagesStr.str();
Messages.clear();
return false;
}
@ -492,14 +493,10 @@ void llvm::lintFunction(const Function &f) {
}
/// lintModule - Check a module for errors, printing messages on stderr.
/// Return true if the module is corrupt.
///
void llvm::lintModule(const Module &M, std::string *ErrorInfo) {
void llvm::lintModule(const Module &M) {
PassManager PM;
Lint *V = new Lint();
PM.add(V);
PM.run(const_cast<Module&>(M));
if (ErrorInfo)
*ErrorInfo = V->MessagesStr.str();
}