summaryrefslogtreecommitdiffstats
path: root/clang/lib/Checker/AnalysisConsumer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [analyzer] Refactoring: lib/Checker -> lib/GR and libclangChecker -> ↵Argyrios Kyrtzidis2010-12-221-603/+0
| | | | | | libclangGRCore llvm-svn: 122421
* [analyzer] Refactoring: include/clang/Checker -> include/clang/GRArgyrios Kyrtzidis2010-12-221-9/+9
| | | | llvm-svn: 122420
* Replace all uses of PathV1::get{Basename,Dirname,Suffix} with their PathV2 ↵Michael J. Spencer2010-12-181-2/+2
| | | | | | equivalents. llvm-svn: 122140
* Remove leftover code and use the text path diagnostic client even without a ↵Argyrios Kyrtzidis2010-12-031-0/+4
| | | | | | | | specified output file since it just uses diagnostic notes. llvm-svn: 120773
* Rename Create[*]DiagnosticClient -> create[*]DiagnosticClient.Argyrios Kyrtzidis2010-12-031-3/+3
| | | | llvm-svn: 120768
* Merge System into Support.Michael J. Spencer2010-11-291-2/+2
| | | | llvm-svn: 120297
* Make sure to always check the result ofDouglas Gregor2010-11-121-12/+14
| | | | | | | SourceManager::getPresumedLoc(), so that we don't try to make use of an invalid presumed location. Doing so can cause crashes. llvm-svn: 118885
* Make Clang static analyzer skip function template definitions. This fixes ↵Zhanyong Wan2010-10-311-2/+4
| | | | | | Clang PR 8426, 8427, & 8433. Reviewed by Ted Kremenek and Doug Gregor. llvm-svn: 117853
* Fix '-analyzer-display-progress' for Objective-C methods. Also remove ↵Ted Kremenek2010-10-221-13/+5
| | | | | | obsolete code. llvm-svn: 117161
* Added two new command line arguments:Marcin Swiderski2010-09-301-1/+2
| | | | | | | -cfg-add-implicit-dtors - sets CFG::BuildOptions::AddImplicitDtors for AnalysisCosumer to true, -cfg-add-initializers - sets CFG::BuildOptions::AddInitializers for AnalysisCosumer to true. llvm-svn: 115142
* Added AnalyzerStatsChecker, a path sensitive check that reports visitation ↵Tom Care2010-09-101-0/+4
| | | | | | statistics about analysis. Running clang with the -analyzer-stats flag will emit warnings containing the information. We can then run a postanalysis script to take this data and give useful information about how much the analyzer missed in a project. llvm-svn: 113568
* Removed IdempotentOperationChecker from default analysis and returned back ↵Tom Care2010-08-061-0/+7
| | | | | | | | | to a flag (-analyzer-check-idempotent-operations) - Added IdempotentOperationChecker to experimental analyses for testing purposes - Updated test cases to explictly call the checker llvm-svn: 110482
* Add -cc1 option '-unoptimized-cfg' to toggle using a CFG (for static ↵Ted Kremenek2010-08-031-1/+2
| | | | | | analysis) that doesn't prune CFG edges. llvm-svn: 110087
* Reapply r108617.Zhongxing Xu2010-07-191-1/+2
| | | | llvm-svn: 108668
* Revert r108617, it broke the build.Benjamin Kramer2010-07-171-2/+1
| | | | llvm-svn: 108621
* Prepare the analyzer for the callee in another translation unit:Zhongxing Xu2010-07-171-1/+2
| | | | | | | Let AnalysisContext contain a TranslationUnit. Let CallEnter refer to an AnalysisContext instead of a FunctionDecl. llvm-svn: 108617
* Improved false positive rate for the idempotent operations checker and moved ↵Tom Care2010-07-161-3/+0
| | | | | | | | | | it into the default path-sensitive analysis options. - Added checks for static local variables, self assigned parameters, and truncating/extending self assignments - Removed command line option (now default with --analyze) - Updated test cases to pass with idempotent operation warnings llvm-svn: 108550
* Introduce Decl::hasBody() and FunctionDecl::hasBody() and use them instead ↵Argyrios Kyrtzidis2010-07-071-7/+7
| | | | | | | | of getBody() when we are just checking the existence of a body, to avoid de-serialization of the body from PCH. Makes de-serialization of the function body even more "lazier". llvm-svn: 107768
* Added a path-sensitive idempotent operation checker ↵Tom Care2010-07-061-0/+4
| | | | | | | | | | | | | | | | | | | (-analyzer-idempotent-operation). Finds idempotent and/or tautological operations in a path sensitive context, flagging operations that have no effect or a predictable effect. Example: { int a = 1; int b = 5; int c = b / a; // a is 1 on all paths } - New IdempotentOperationChecker class - Moved recursive Stmt functions in r107675 to IdempotentOperationChecker - Minor refactoring of SVal to allow checking for any integer - Added command line option for check - Added basic test cases llvm-svn: 107706
* Fix -analyze-display-progress (once again), this time with an additional ↵Ted Kremenek2010-06-251-5/+4
| | | | | | regression test. llvm-svn: 106883
* Break Frontend's dependency on Rewrite, Checker and CodeGen in shared ↵Daniel Dunbar2010-06-151-0/+589
library configuration Currently, all AST consumers are located in the Frontend library, meaning that in a shared library configuration, Frontend has a dependency on Rewrite, Checker and CodeGen. This is suboptimal for clients which only wish to make use of the frontend. CodeGen in particular introduces a large number of unwanted dependencies. This patch breaks the dependency by moving all AST consumers with dependencies on Rewrite, Checker and/or CodeGen to their respective libraries. The patch therefore introduces dependencies in the other direction (i.e. from Rewrite, Checker and CodeGen to Frontend). After applying this patch, Clang builds correctly using CMake and shared libraries ("cmake -DBUILD_SHARED_LIBS=ON"). N.B. This patch includes file renames which are indicated in the patch body. Changes in this revision of the patch: - Fixed some copy-paste mistakes in the header files - Modified certain aspects of the coding to comply with the LLVM Coding Standards llvm-svn: 106010
OpenPOWER on IntegriCloud