diff options
author | Ted Kremenek <kremenek@apple.com> | 2010-06-25 20:59:24 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2010-06-25 20:59:24 +0000 |
commit | c4a1437c15da43eb8d2601cdce13161ef41a4389 (patch) | |
tree | dcbf2eda3ed949c4a21de070e9cc8d5383ce6b7a /lib/Checker/AnalysisConsumer.cpp | |
parent | 5304c953c1ccba4772ee77ce6526fff14ef5a16c (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.cpp | 9 |
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; |