[cfe-commits] r62875 - in /cfe/trunk: Driver/AnalysisConsumer.cpp Driver/AnalysisConsumer.h Driver/clang.cpp utils/ccc-analyzer
Ted Kremenek
kremenek at apple.com
Fri Jan 23 12:52:26 PST 2009
Author: kremenek
Date: Fri Jan 23 14:52:26 2009
New Revision: 62875
URL: http://llvm.org/viewvc/llvm-project?rev=62875&view=rev
Log:
Added clang option '--analyzer-display-progress' to indicate that the analyzer should output 'ANALYZE:' messages to display its progress on a source file.
Modified:
cfe/trunk/Driver/AnalysisConsumer.cpp
cfe/trunk/Driver/AnalysisConsumer.h
cfe/trunk/Driver/clang.cpp
cfe/trunk/utils/ccc-analyzer
Modified: cfe/trunk/Driver/AnalysisConsumer.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/Driver/AnalysisConsumer.cpp?rev=62875&r1=62874&r2=62875&view=diff
==============================================================================
--- cfe/trunk/Driver/AnalysisConsumer.cpp (original)
+++ cfe/trunk/Driver/AnalysisConsumer.cpp Fri Jan 23 14:52:26 2009
@@ -86,6 +86,7 @@
bool AnalyzeAll;
AnalysisStores SM;
AnalysisDiagClients DC;
+ const bool DisplayProgress;
AnalysisConsumer(Diagnostic &diags, Preprocessor* pp,
PreprocessorFactory* ppf,
@@ -93,13 +94,15 @@
const std::string& fname,
const std::string& htmldir,
AnalysisStores sm, AnalysisDiagClients dc,
- bool visgraphviz, bool visubi, bool trim, bool analyzeAll)
+ bool visgraphviz, bool visubi, bool trim, bool analyzeAll,
+ bool displayProgress)
: VisGraphviz(visgraphviz), VisUbigraph(visubi), TrimGraph(trim),
LOpts(lopts), Diags(diags),
Ctx(0), PP(pp), PPF(ppf),
HTMLDir(htmldir),
FName(fname),
- AnalyzeAll(analyzeAll), SM(sm), DC(dc) {}
+ AnalyzeAll(analyzeAll), SM(sm), DC(dc),
+ DisplayProgress(displayProgress) {}
void addCodeAction(CodeAction action) {
FunctionActions.push_back(action);
@@ -143,13 +146,16 @@
ConstraintManagerCreator CreateConstraintMgr;
public:
- AnalysisManager(AnalysisConsumer& c, Decl* d, Stmt* b)
- : D(d), Body(b), TU(0), AScope(ScopeDecl), C(c), DisplayedFunction(false){
+ AnalysisManager(AnalysisConsumer& c, Decl* d, Stmt* b, bool displayProgress)
+ : D(d), Body(b), TU(0), AScope(ScopeDecl), C(c),
+ DisplayedFunction(!displayProgress) {
setManagerCreators();
}
- AnalysisManager(AnalysisConsumer& c, TranslationUnit* tu)
- : D(0), Body(0), TU(tu), AScope(ScopeTU), C(c), DisplayedFunction(false) {
+ AnalysisManager(AnalysisConsumer& c, TranslationUnit* tu,
+ bool displayProgress)
+ : D(0), Body(0), TU(tu), AScope(ScopeTU), C(c),
+ DisplayedFunction(!displayProgress) {
setManagerCreators();
}
@@ -347,7 +353,7 @@
void AnalysisConsumer::HandleTranslationUnit(TranslationUnit& TU) {
if(!TranslationUnitActions.empty()) {
- AnalysisManager mgr(*this, &TU);
+ AnalysisManager mgr(*this, &TU, DisplayProgress);
for (Actions::iterator I = TranslationUnitActions.begin(),
E = TranslationUnitActions.end(); I != E; ++I)
(*I)(mgr);
@@ -382,7 +388,7 @@
// Create an AnalysisManager that will manage the state for analyzing
// this method/function.
- AnalysisManager mgr(*this, D, Body);
+ AnalysisManager mgr(*this, D, Body, DisplayProgress);
// Dispatch on the actions.
for (Actions::iterator I = actions.begin(), E = actions.end(); I != E; ++I)
@@ -544,11 +550,13 @@
const std::string& htmldir,
bool VisGraphviz, bool VisUbi,
bool trim,
- bool analyzeAll) {
+ bool analyzeAll,
+ bool displayProgress) {
llvm::OwningPtr<AnalysisConsumer>
C(new AnalysisConsumer(diags, pp, ppf, lopts, fname, htmldir, SM, DC,
- VisGraphviz, VisUbi, trim, analyzeAll));
+ VisGraphviz, VisUbi, trim, analyzeAll,
+ displayProgress));
for ( ; Beg != End ; ++Beg)
switch (*Beg) {
Modified: cfe/trunk/Driver/AnalysisConsumer.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/Driver/AnalysisConsumer.h?rev=62875&r1=62874&r2=62875&view=diff
==============================================================================
--- cfe/trunk/Driver/AnalysisConsumer.h (original)
+++ cfe/trunk/Driver/AnalysisConsumer.h Fri Jan 23 14:52:26 2009
@@ -44,7 +44,8 @@
bool VisualizeGraphViz,
bool VisualizeUbi,
bool VizTrimGraph,
- bool AnalyzeAll);
+ bool AnalyzeAll,
+ bool DisplayProgress);
} // end clang namespace
#endif
Modified: cfe/trunk/Driver/clang.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/Driver/clang.cpp?rev=62875&r1=62874&r2=62875&view=diff
==============================================================================
--- cfe/trunk/Driver/clang.cpp (original)
+++ cfe/trunk/Driver/clang.cpp Fri Jan 23 14:52:26 2009
@@ -218,6 +218,10 @@
llvm::cl::desc("Force the static analyzer to analyze "
"functions defined in header files"));
+static llvm::cl::opt<bool>
+AnalyzerDisplayProgress("analyzer-display-progress",
+ llvm::cl::desc("Emit verbose output about the analyzer's progress."));
+
static llvm::cl::list<Analyses>
AnalysisList(llvm::cl::desc("SCA Checks/Analyses:"),
llvm::cl::values(
@@ -1313,7 +1317,8 @@
Diag, PP, PPF, LangOpts,
AnalyzeSpecificFunction,
OutputFile, VisualizeEGDot, VisualizeEGUbi,
- TrimGraph, AnalyzeAll);
+ TrimGraph, AnalyzeAll,
+ AnalyzerDisplayProgress);
}
}
Modified: cfe/trunk/utils/ccc-analyzer
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/utils/ccc-analyzer?rev=62875&r1=62874&r2=62875&view=diff
==============================================================================
--- cfe/trunk/utils/ccc-analyzer (original)
+++ cfe/trunk/utils/ccc-analyzer Fri Jan 23 14:52:26 2009
@@ -100,6 +100,7 @@
push @CmdArgs,@$Args;
@CmdArgsSansAnalyses = @CmdArgs;
push @CmdArgs,'--analyze';
+ push @CmdArgs,"--analyzer-display-progress";
push @CmdArgs,(split /\s/,$Analyses);
$RunAnalyzer = 1;
}
More information about the cfe-commits
mailing list