aboutsummaryrefslogtreecommitdiff
path: root/lib/Checker/AnalysisConsumer.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2010-06-25 20:59:24 +0000
committerTed Kremenek <kremenek@apple.com>2010-06-25 20:59:24 +0000
commitc4a1437c15da43eb8d2601cdce13161ef41a4389 (patch)
treedcbf2eda3ed949c4a21de070e9cc8d5383ce6b7a /lib/Checker/AnalysisConsumer.cpp
parent5304c953c1ccba4772ee77ce6526fff14ef5a16c (diff)
Fix -analyze-display-progress (once again), this time with an additional regression test.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@106883 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Checker/AnalysisConsumer.cpp')
-rw-r--r--lib/Checker/AnalysisConsumer.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/Checker/AnalysisConsumer.cpp b/lib/Checker/AnalysisConsumer.cpp
index 4cdfd31126..7c5f8ca56e 100644
--- a/lib/Checker/AnalysisConsumer.cpp
+++ b/lib/Checker/AnalysisConsumer.cpp
@@ -80,8 +80,6 @@ public:
const Preprocessor &PP;
const std::string OutDir;
AnalyzerOptions Opts;
- bool declDisplayed;
-
// PD is owned by AnalysisManager.
PathDiagnosticClient *PD;
@@ -95,7 +93,7 @@ public:
const std::string& outdir,
const AnalyzerOptions& opts)
: Ctx(0), PP(pp), OutDir(outdir),
- Opts(opts), declDisplayed(false), PD(0) {
+ Opts(opts), PD(0) {
DigestAnalyzerOptions();
}
@@ -138,10 +136,9 @@ public:
}
void DisplayFunction(const Decl *D) {
- if (!Opts.AnalyzerDisplayProgress || declDisplayed)
+ if (!Opts.AnalyzerDisplayProgress)
return;
- declDisplayed = true;
SourceManager &SM = Mgr->getASTContext().getSourceManager();
PresumedLoc Loc = SM.getPresumedLoc(D->getLocation());
llvm::errs() << "ANALYZE: " << Loc.getFilename();
@@ -210,6 +207,7 @@ void AnalysisConsumer::HandleTranslationUnit(ASTContext &C) {
if (!Opts.AnalyzeSpecificFunction.empty() &&
FD->getDeclName().getAsString() != Opts.AnalyzeSpecificFunction)
break;
+ DisplayFunction(FD);
HandleCode(FD, FD->getBody(), FunctionActions);
}
break;
@@ -222,6 +220,7 @@ void AnalysisConsumer::HandleTranslationUnit(ASTContext &C) {
if (!Opts.AnalyzeSpecificFunction.empty() &&
Opts.AnalyzeSpecificFunction != MD->getSelector().getAsString())
break;
+ DisplayFunction(MD);
HandleCode(MD, MD->getBody(), ObjCMethodActions);
}
break;