summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/AnalysisConsumer.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Make AnalysisManager into its own source file and a pure data management class. Zhongxing Xu2009-07-301-169/+57
| | | | | | Move all components creation code into AnalysisConsumer::DigestAnalyzerOptions(). llvm-svn: 77585
* This patch collects all analysis context data into a new class Zhongxing Xu2009-07-301-31/+17
| | | | | | AnalysisContext. llvm-svn: 77563
* (1) Enable PlistDiagnostics to take an option "PathDiagnosticClientFactory"Ted Kremenek2009-07-271-0/+13
| | | | | | | | | | | | | | | object that it can use to forward PathDiagnostics for further processing. Along with this feature, the PlistDiagnostics object logs which files are created by the forwarding of the PathDiagnostics. (2) Create a new PathDiagnosticClientFactory object for HTMLDiagnostics, allowing other PathDiagnosticClients to forward PathDiagnostics through an opaque interface. (3) Create a "plist-html" diagnostics option in AnalysisConsumer to allow the logging of HTML files created in a hybrid Plist+HTML diagnostic client. llvm-svn: 77264
* Add initial implementation of checking for uses of floating point as a loop ↵Ted Kremenek2009-07-231-0/+5
| | | | | | counter. llvm-svn: 76833
* Add yet more analysis for CFGs involving conditionals that are actually ↵Mike Stump2009-07-201-1/+1
| | | | | | constant. llvm-svn: 76500
* Move the source-level CFG from libAST to libAnalysis.Ted Kremenek2009-07-161-1/+1
| | | | llvm-svn: 76092
* Update for raw_fd_ostream API changes. raw_fd_ostream now has aDan Gohman2009-07-151-1/+2
| | | | | | | Force flag to control whether the case of opening an existing file is considered an error. llvm-svn: 75802
* De-ASTContext-ify DeclContext.Argyrios Kyrtzidis2009-06-301-2/+2
| | | | | | | Remove ASTContext parameter from DeclContext's methods. This change cascaded down to other Decl's methods and changes to call sites started "escalating". Timings using pre-tokenized "cocoa.h" showed only a ~1% increase in time run between and after this commit. llvm-svn: 74506
* Remove the ASTContext parameter from the getBody() methods of Decl and ↵Argyrios Kyrtzidis2009-06-301-1/+1
| | | | | | | | subclasses. Timings showed no significant difference before and after the commit. llvm-svn: 74504
* Key decisions about 'bool' vs '_Bool' to be based on a new flag in langoptions.Chris Lattner2009-06-301-2/+4
| | | | | | | | | | | | This is simple enough, but then I thought it would be nice to make PrintingPolicy get a LangOptions so that various things can key off "bool" and "C++" independently. This spiraled out of control. There are many fixme's, but I think things are slightly better than they were before. One thing that can be improved: CFG should probably have an ASTContext pointer in it, which would simplify its clients. llvm-svn: 74493
* Introduce a new concept to the static analyzer: SValuator.Ted Kremenek2009-06-261-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | GRTransferFuncs had the conflated role of both constructing SVals (symbolic expressions) as well as handling checker-specific logic. Now SValuator has the role of constructing SVals from expressions and GRTransferFuncs just handles checker-specific logic. The motivation is by separating these two concepts we will be able to much more easily create richer constraint-generating logic without coupling it to the main checker transfer function logic. We now have one implementation of SValuator: SimpleSValuator. SimpleSValuator is essentially the SVal-related logic that was in GRSimpleVals (which is removed in this patch). This includes the logic for EvalBinOp, EvalCast, etc. Because SValuator has a narrower role than the old GRTransferFuncs, the interfaces are much simpler, and so is the implementation of SimpleSValuator compared to GRSimpleVals. I also did a line-by-line review of SVal-related logic in GRSimpleVals and cleaned it up while moving it over to SimpleSValuator. As a consequence of removing GRSimpleVals, there is no longer a '-checker-simple' option. The '-checker-cfref' did everything that option did but also ran the retain/release checker. Of course a user may not always wish to run the retain/release checker, nor do we wish core analysis logic buried in the checker-specific logic. The next step is to refactor the logic in CFRefCount.cpp to separate out these pieces into the core analysis engine. llvm-svn: 74229
* Build fixes for r72135.Eli Friedman2009-05-191-5/+5
| | | | llvm-svn: 72136
* Move AnalysisConsumer.h and Analyses.def from tools/clang-cc to Eli Friedman2009-05-191-0/+659
include/clang/Frontend, and move AnalysisConsumer.cpp from tools/clang-cc to lib/Frontend. llvm-svn: 72135
OpenPOWER on IntegriCloud