- Dec 22, 2010
-
-
Argyrios Kyrtzidis authored
[analyzer] Refactoring: Move checkers into lib/GR/Checkers and their own library, libclangGRCheckers llvm-svn: 122422
-
Argyrios Kyrtzidis authored
llvm-svn: 122421
-
- Dec 17, 2010
-
-
Ted Kremenek authored
to libAnalysis. Similar to Format (format string checking), CocoaConventions has the potential to serve clients other than the static analyzer. llvm-svn: 122040
-
- Dec 03, 2010
-
-
Argyrios Kyrtzidis authored
the sequence of events; useful for testing. llvm-svn: 120770
-
- Dec 02, 2010
-
-
Ted Kremenek authored
llvm-svn: 120696
-
- Dec 01, 2010
-
-
Ted Kremenek authored
reflects what the class actually does. llvm-svn: 120605
-
- Oct 10, 2010
-
-
Francois Pichet authored
llvm-svn: 116164
-
- Sep 14, 2010
-
-
Michael J. Spencer authored
This reverts commit r113631 Conflicts: CMakeLists.txt lib/CodeGen/CMakeLists.txt llvm-svn: 113817
-
- Sep 10, 2010
-
-
Michael J. Spencer authored
of whatever we were using before... llvm-svn: 113631
-
-
Tom Care authored
Added AnalyzerStatsChecker, a path sensitive check that reports visitation 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
-
- Sep 09, 2010
-
-
Douglas Gregor authored
llvm-svn: 113489
-
- Jul 28, 2010
-
-
Tom Care authored
Extracted out some useful common functions in IdempotentOperationChecker to their own CheckerHelpers file. llvm-svn: 109560
-
- Jul 24, 2010
-
-
Tom Care authored
- 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
-
- Jul 19, 2010
-
-
Zhongxing Xu authored
llvm-svn: 108668
-
- Jul 17, 2010
-
-
Benjamin Kramer authored
llvm-svn: 108621
-
Zhongxing Xu authored
Let AnalysisContext contain a TranslationUnit. Let CallEnter refer to an AnalysisContext instead of a FunctionDecl. llvm-svn: 108617
-
- Jul 07, 2010
-
-
Jordy Rose authored
Add a new path-sensitive checker for functions in <string.h>, for both null-terminated strings and memory blocks. Currently only checks memcpy(), memmove(), and bcopy(), but this is intended to be expanded soon. llvm-svn: 107722
-
Ted Kremenek authored
llvm-svn: 107709
-
- Jul 06, 2010
-
-
Tom Care authored
Added a path-sensitive idempotent operation checker (-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
-
- Jun 17, 2010
-
-
Alexis Hunt authored
llvm-svn: 106188
-
- Jun 16, 2010
-
-
Zhongxing Xu authored
This is the start. llvm-svn: 106082
-
- Jun 15, 2010
-
-
Daniel Dunbar authored
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
-
- Jun 09, 2010
-
-
Chandler Carruth authored
llvm-svn: 105708
-
- Jun 08, 2010
-
-
Zhongxing Xu authored
the function call is left where the local variable is declared. llvm-svn: 105602
-
- May 30, 2010
-
-
Alexis Hunt authored
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
-
- May 25, 2010
-
-
Zhongxing Xu authored
whether the size of the symbolic region is a multiple of the size of T. Fixes PR6123 and PR7217. llvm-svn: 104584
-
- May 05, 2010
-
-
Douglas Gregor authored
llvm-svn: 103077
-
- Apr 19, 2010
-
-
Zhongxing Xu authored
llvm-svn: 101772
-
- Mar 23, 2010
-
-
Zhongxing Xu authored
llvm-svn: 99269
-
- Mar 22, 2010
-
-
Kovarththanan Rajaratnam authored
llvm-svn: 99191
-
- Feb 25, 2010
-
-
Ted Kremenek authored
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
-
Ted Kremenek authored
when it is explicitly marked as unused via __attribute__((unused)). llvm-svn: 97104
-
Ted Kremenek authored
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
-
- Feb 16, 2010
-
-
Ted Kremenek authored
llvm-svn: 96341
-
- Feb 14, 2010
-
-
Ted Kremenek authored
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
-
- Feb 04, 2010
-
-
Ted Kremenek authored
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
-
- Feb 03, 2010
-
-
Chandler Carruth authored
llvm-svn: 95215
-
- Jan 27, 2010
-
-
Ted Kremenek authored
llvm-svn: 94663
-
- Jan 25, 2010
-
-
Ted Kremenek authored
(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
-