summaryrefslogtreecommitdiffstats
path: root/clang/lib/Checker/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* [analyzer] Refactoring: lib/Checker -> lib/GR and libclangChecker -> ↵Argyrios Kyrtzidis2010-12-221-88/+0
| | | | | | libclangGRCore llvm-svn: 122421
* Move CocoaConventions.[h,cpp] from libCheckerTed Kremenek2010-12-171-1/+0
| | | | | | | | | to libAnalysis. Similar to Format (format string checking), CocoaConventions has the potential to serve clients other than the static analyzer. llvm-svn: 122040
* Introduce TextPathDiagnostics, a simple PathDiagnosticClient that outputs as ↵Argyrios Kyrtzidis2010-12-031-0/+1
| | | | | | | | diagnostic notes the sequence of events; useful for testing. llvm-svn: 120770
* Merge ValueManager into SValBuilder.Ted Kremenek2010-12-021-1/+0
| | | | llvm-svn: 120696
* Rename 'SValuator' to 'SValBuilder'. The new nameTed Kremenek2010-12-011-2/+2
| | | | | | reflects what the class actually does. llvm-svn: 120605
* Unbreak the CMake build.Francois Pichet2010-10-101-0/+1
| | | | llvm-svn: 116164
* Revert "CMake: Update to use standard CMake dependency tracking facilities ↵Michael J. Spencer2010-09-131-14/+4
| | | | | | | | | | | | | instead" This reverts commit r113631 Conflicts: CMakeLists.txt lib/CodeGen/CMakeLists.txt llvm-svn: 113817
* CMake: Update to use standard CMake dependency tracking facilities insteadMichael J. Spencer2010-09-101-4/+14
| | | | | | of whatever we were using before... llvm-svn: 113631
* Implement: <rdar://problem/6351970> rule request: warn if @synchronized ↵Ted Kremenek2010-09-101-1/+2
| | | | | | mutex can be nil llvm-svn: 113573
* Added AnalyzerStatsChecker, a path sensitive check that reports visitation ↵Tom Care2010-09-101-0/+1
| | | | | | 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
* Clean up CMake dependenciesDouglas Gregor2010-09-091-0/+2
| | | | llvm-svn: 113489
* Extracted out some useful common functions in IdempotentOperationChecker to ↵Tom Care2010-07-271-0/+1
| | | | | | their own CheckerHelpers file. llvm-svn: 109560
* Added an path-sensitive unreachable code checker to the experimental ↵Tom Care2010-07-231-0/+1
| | | | | | | | | | analyzer checks. - Created a new class to do post-analysis - Updated several test cases with unreachable code to expect a warning - Added some general tests llvm-svn: 109286
* Reapply r108617.Zhongxing Xu2010-07-191-1/+1
| | | | llvm-svn: 108668
* Revert r108617, it broke the build.Benjamin Kramer2010-07-171-1/+1
| | | | llvm-svn: 108621
* Prepare the analyzer for the callee in another translation unit:Zhongxing Xu2010-07-171-1/+1
| | | | | | | Let AnalysisContext contain a TranslationUnit. Let CallEnter refer to an AnalysisContext instead of a FunctionDecl. llvm-svn: 108617
* Add a new path-sensitive checker for functions in <string.h>, for both ↵Jordy Rose2010-07-061-0/+1
| | | | | | null-terminated strings and memory blocks. Currently only checks memcpy(), memmove(), and bcopy(), but this is intended to be expanded soon. llvm-svn: 107722
* Sort CMake file.Ted Kremenek2010-07-061-9/+9
| | | | llvm-svn: 107709
* Added a path-sensitive idempotent operation checker ↵Tom Care2010-07-061-0/+1
| | | | | | | | | | | | | | | | | | | (-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
* Update CMake build for new attribute changes.Alexis Hunt2010-06-171-1/+2
| | | | llvm-svn: 106188
* Add StreamChecker. This checker models and checks stream manipulation functions.Zhongxing Xu2010-06-161-0/+1
| | | | | | This is the start. llvm-svn: 106082
* Break Frontend's dependency on Rewrite, Checker and CodeGen in shared ↵Daniel Dunbar2010-06-151-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Remove an entry for a now deleted file. Fixes the neglected CMake build. ;]Chandler Carruth2010-06-091-1/+0
| | | | llvm-svn: 105708
* Add a checker check if a global variable holds a local variable's address afterZhongxing Xu2010-06-081-0/+1
| | | | | | the function call is left where the local variable is declared. llvm-svn: 105602
* Convert DeclNodes to use TableGen.Alexis Hunt2010-05-301-1/+1
| | | | | | | | The macros required for DeclNodes use have changed to match the use of StmtNodes. The FooFirst enumerator constants have been named firstFoo to match usage elsewhere. llvm-svn: 105165
* CastSizeChecker checks when casting a malloc'ed symbolic region to type T,Zhongxing Xu2010-05-251-1/+2
| | | | | | | whether the size of the symbolic region is a multiple of the size of T. Fixes PR6123 and PR7217. llvm-svn: 104584
* Unbreak CMake build.Douglas Gregor2010-05-051-0/+2
| | | | llvm-svn: 103077
* Move all C++ expression evaluation logic into its own file.Zhongxing Xu2010-04-191-0/+1
| | | | llvm-svn: 101772
* update CMakeLists.txtZhongxing Xu2010-03-231-0/+1
| | | | llvm-svn: 99269
* Sort calls to add_clang_library()Kovarththanan Rajaratnam2010-03-221-8/+8
| | | | llvm-svn: 99191
* Add MacOSXAPIChecker, a meta checker to include various precondition checks ↵Ted Kremenek2010-02-251-0/+1
| | | | | | | | | | | | for calls to various MacOS X functions. The checks in BasicObjCFoundationChecks.cpp will gradually be migrated here. As a first check, check that when 'dispatch_once()' is passed a predicate value that has non-local storage. llvm-svn: 97116
* Enhance the unused ivar checker to not consider an ivar to be accidentally ↵Ted Kremenek2010-02-251-1/+1
| | | | | | | | unused when it is explicitly marked as unused via __attribute__((unused)). llvm-svn: 97104
* Add UnixAPIChecker, a meta checker to include various precondition checks ↵Ted Kremenek2010-02-251-0/+1
| | | | | | | | | | | for calls to various unix/posix functions, e.g. 'open()'. As a first check, check that when 'open()' is passed 'O_CREAT' that it has a third argument. llvm-svn: 97086
* Add simpler checker to check if variables captured by a block are uninitialized.Ted Kremenek2010-02-161-0/+1
| | | | llvm-svn: 96341
* Add new static analyzer for checking LLVM coding conventions: ↵Ted Kremenek2010-02-141-0/+1
| | | | | | | | | | | | | -analyzer-check-llvm-conventions Currently these checks are intended to be largely syntactical, but may get more sophisticated over time. As an initial foray into this brave new world, emit a static analyzer warning when binding a temporary 'std::string' to an 'llvm::StringRef' where the lifetime of the 'std::string' does not outlive the 'llvm::StringRef'. llvm-svn: 96147
* static analyzer: handle casts of a function to a function pointer withTed Kremenek2010-02-041-1/+2
| | | | | | | | a different return type. While we don't emit any errors (yet), at least we avoid cases where we might crash because of an assertion failure later on (when the return type differs from what is expected). llvm-svn: 95268
* Add FlatStore.cpp (from r95214) to CMake build. Don't forget about it! =DChandler Carruth2010-02-031-0/+1
| | | | llvm-svn: 95215
* Update CMake build.Ted Kremenek2010-01-271-0/+1
| | | | llvm-svn: 94663
* Split libAnalysis into two libraries: libAnalysis and libChecker.Ted Kremenek2010-01-251-0/+62
(1) libAnalysis is a generic analysis library that can be used by Sema. It defines the CFG, basic dataflow analysis primitives, and inexpensive flow-sensitive analyses (e.g. LiveVariables). (2) libChecker contains the guts of the static analyzer, incuding the path-sensitive analysis engine and domain-specific checks. Now any clients that want to use the frontend to build their own tools don't need to link in the entire static analyzer. This change exposes various obvious cleanups that can be made to the layout of files and headers in libChecker. More changes pending. :) This change also exposed a layering violation between AnalysisContext and MemRegion. BlockInvocationContext shouldn't explicitly know about BlockDataRegions. For now I've removed the BlockDataRegion* from BlockInvocationContext (removing context-sensitivity; although this wasn't used yet). We need to have a better way to extend BlockInvocationContext (and any LocationContext) to add context-sensitivty. llvm-svn: 94406
OpenPOWER on IntegriCloud