- 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
-
Argyrios Kyrtzidis authored
llvm-svn: 122420
-
- Dec 20, 2010
-
-
Ted Kremenek authored
llvm-svn: 122270
-
- Dec 02, 2010
-
-
Ted Kremenek authored
llvm-svn: 120696
-
- Dec 01, 2010
-
-
Ted Kremenek authored
to 'assumeXXX'. llvm-svn: 120614
-
Ted Kremenek authored
'evalXXX'. llvm-svn: 120609
-
Ted Kremenek authored
reflects what the class actually does. llvm-svn: 120605
-
- Aug 25, 2010
-
-
John McCall authored
to the new constants. llvm-svn: 112047
-
- Jul 07, 2010
-
-
Jordy Rose authored
llvm-svn: 107728
-
- Jul 06, 2010
-
-
Zhongxing Xu authored
llvm-svn: 107645
-
- Jul 05, 2010
-
-
Jordy Rose authored
llvm-svn: 107603
-
- Mar 27, 2010
-
-
Benjamin Kramer authored
llvm-svn: 99731
-
- Feb 08, 2010
-
-
Ted Kremenek authored
llvm-svn: 95545
-
Zhongxing Xu authored
GRState::getSVal(MemRegion*) => Load(). llvm-svn: 95541
-
- Jan 25, 2010
-
-
Ted Kremenek authored
llvm-svn: 94428
-
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
-
- Nov 28, 2009
-
-
Kovarththanan Rajaratnam authored
llvm-svn: 90028
-
- Nov 23, 2009
-
-
Ted Kremenek authored
along the way. Important changes: 1) To generate a sink node, use GenerateSink(); GenerateNode() is for generating regular transitions. This makes the API clearer and also allows us to use the 'bool' option to GenerateNode() for a different purpose. 2) GenerateNode() now automatically adds the generated node to the destination ExplodedNodeSet (autotransition) unless the client specifies otherwise with a bool flag. Several checkers did not call 'addTransition()' after calling 'GenerateNode()', causing the simulation path to be prematurely culled when a non-fail stop bug was encountered. 3) Add variants of GenerateNode()/GenerateSink() that take neither a Stmt* or a GRState*; most callers of GenerateNode() just pass in the same Stmt* as provided when the CheckerContext object is created; we can just use that the majority of the time. This cleanup also allows us to potentially coelesce the APIs for evaluating branches and end-of-paths (which currently directly use builders). 4) addTransition() no longer needs to be called except for a few cases. We now have a variant of addTransition() that takes a GRState*; this allows one to propagate the updated state without caring about generating a new node explicitly. This nicely cleaned up a bunch of cases that called autoTransition() with a bunch of conditional logic surround the call (that common logic has now been swallowed up by addTransition() itself). llvm-svn: 89707
-
- Nov 14, 2009
-
-
Benjamin Kramer authored
- Eliminates many calls to std::string.c_str() - Fixes an invalid read in ReturnStackAddressChecker due to an unsafe call to StringRef.data() which doesn't guarantee null-termination. llvm-svn: 88779
-
- Nov 09, 2009
-
-
Douglas Gregor authored
ArrayType>()) does not instantiate. Update all callers that used this unsafe feature to use the appropriate ASTContext::getAs*ArrayType method. llvm-svn: 86596
-
- Nov 07, 2009
-
-
Ted Kremenek authored
Remove Checker::CheckType() (and instead using CheckerVisitor::PreVisitDeclStmt()), and refactor VLASizeChecker to have only one Checker subclass (not two) and to not use the node builders directly (and instead use the newer CheckerContext). llvm-svn: 86329
-
- Nov 06, 2009
-
-
Ted Kremenek authored
Make the VLASizeChecker implementation private, and its creation only known to GRExprEngineInternalChecks.cpp. llvm-svn: 86292
-
Ted Kremenek authored
Minor cleanup: use BuiltinBug (which will soon be renamed) for DeferenceChecker and friends so that they always report the same bug type. llvm-svn: 86208
-
- Nov 05, 2009
-
-
Ted Kremenek authored
llvm-svn: 86127
-
- Nov 04, 2009
-
-
Zhongxing Xu authored
llvm-svn: 85996
-
- Nov 03, 2009
-
-
Zhongxing Xu authored
Split it to two checkers, one for undefined size, the other for zero size, so that we don't need to query the size when emitting the bug report. llvm-svn: 85895
-