Fixed regressions in error reporting due to copy-paste errors (using the "begin"

iterator instead of "end") and not implementing "getDescription()" for Nil
argument checks.

llvm-svn: 49485
This commit is contained in:
Ted Kremenek 2008-04-10 16:05:13 +00:00
parent 5e1971c894
commit 83744ddbd9
3 changed files with 15 additions and 5 deletions

View File

@ -51,7 +51,10 @@ public:
const BugType& getBugType() const { return Desc; }
const char* getName() const { return getBugType().getName(); }
const char* getDescription() const { return getBugType().getDescription(); }
virtual const char* getDescription() const {
return getBugType().getDescription();
}
virtual PathDiagnosticPiece* getEndPath(ASTContext& Ctx,
ExplodedNode<ValueState> *N) const;

View File

@ -84,6 +84,13 @@ public:
virtual ~Report() {}
virtual const char* getDescription() const { return s; }
virtual void getRanges(const SourceRange*& B, const SourceRange*& E) const {
B = &R;
E = B+1;
}
virtual PathDiagnosticPiece* getEndPath(ASTContext& Ctx,
ExplodedNode<ValueState> *N) const {

View File

@ -135,7 +135,7 @@ public:
virtual void EmitWarnings(BugReporter& BR) {
GRExprEngine& Eng = BR.getEngine();
GenericEmitWarnings(BR, *this, Eng.undef_results_begin(),
Eng.undef_results_begin());
Eng.undef_results_end());
}
};
@ -152,7 +152,7 @@ public:
virtual void EmitWarnings(BugReporter& BR) {
GRExprEngine& Eng = BR.getEngine();
GenericEmitWarnings(BR, *this, Eng.bad_calls_begin(),
Eng.bad_calls_begin());
Eng.bad_calls_end());
}
};
@ -214,7 +214,7 @@ public:
GRExprEngine& Eng = BR.getEngine();
for (GRExprEngine::UndefArgsTy::iterator I=Eng.msg_expr_undef_arg_begin(),
E = Eng.msg_expr_undef_arg_begin(); I!=E; ++I) {
E = Eng.msg_expr_undef_arg_end(); I!=E; ++I) {
// Generate a report for this bug.
Report report(*this, I->second);
@ -283,7 +283,7 @@ public:
virtual void EmitWarnings(BugReporter& BR) {
GRExprEngine& Eng = BR.getEngine();
GenericEmitWarnings(BR, *this, Eng.ret_stackaddr_begin(),
Eng.ret_stackaddr_begin());
Eng.ret_stackaddr_end());
}
};