- Dec 14, 2009
-
-
Zhongxing Xu authored
llvm-svn: 91258
-
- Dec 12, 2009
-
-
Zhongxing Xu authored
llvm-svn: 91216
-
Jeffrey Yasskin authored
no extra safety anyway. llvm-svn: 91207
-
- Dec 11, 2009
-
-
Benjamin Kramer authored
llvm-svn: 91155
-
Ted Kremenek authored
Enhance understanding of VarRegions referenced by a block whose declarations are outside the current stack frame. Fixes <rdar://problem/7462324>. llvm-svn: 91107
-
Zhongxing Xu authored
llvm-svn: 91100
-
Zhongxing Xu authored
llvm-svn: 91085
-
- Dec 10, 2009
-
-
Ted Kremenek authored
Fix null dereference in OSAtomicChecker and special case SymbolicRegions. We still aren't handling them correctly; I've added to failing test cases to test/Analysis/NSString-failed-cases.m that should pass and then be merged in to test/Analysis/NSString.m. llvm-svn: 90993
-
- Dec 09, 2009
-
-
Zhongxing Xu authored
llvm-svn: 90968
-
Zhongxing Xu authored
Otherwise, even when real evaluation occurs, the previous fake auto transitions would still be in the destination set, causing fake state bifurcation. llvm-svn: 90967
-
Zhongxing Xu authored
instead of the ElementRegion obtained from casts. Test cast: the leak cannot occur bacause the true branch cannot be taken. llvm-svn: 90964
-
Zhongxing Xu authored
llvm-svn: 90953
-
Zhongxing Xu authored
repeatedly. llvm-svn: 90952
-
Ted Kremenek authored
by the test case in PR 5627. Essentially we shouldn't clear the ExplodedNodeSet where we deposit newly constructed nodes if that set is the 'Dst' set passed in. It is not okay to clear that set because it may already contain nodes. llvm-svn: 90931
-
- Dec 08, 2009
-
-
Zhongxing Xu authored
llvm-svn: 90847
-
- Dec 07, 2009
-
-
Ted Kremenek authored
- Refactor the MemRegion hierarchy to distinguish between different StackSpaceRegions for locals and parameters. - VarRegions for "captured" variables now have the BlockDataRegion as their super region (except those passed by reference) - Add transfer function support to GRExprEngine for BlockDeclRefExprs. This change also supports analyzing blocks as an analysis entry point (top-of-the-stack), which required pushing more context-sensitivity around in the MemRegion hierarchy via the use of LocationContext objects. Functionally almost everything is the same, except we track LocationContexts in a few more areas and StackSpaceRegions now refer to a StackFrameContext object. In the future we will need to modify MemRegionManager to allow multiple StackSpaceRegions in flight at once (for the analysis of multiple stack frames). llvm-svn: 90809
-
Zhongxing Xu authored
handler to this interface. GRExprEngine::CheckerEvalCall() will return true if one of the checkers has processed the node. In the future this might return void when we have some default checker. llvm-svn: 90755
-
- Dec 04, 2009
-
-
Ted Kremenek authored
llvm-svn: 90585
-
Ted Kremenek authored
llvm-svn: 90584
-
Ted Kremenek authored
llvm-svn: 90583
-
Ted Kremenek authored
llvm-svn: 90582
-
Ted Kremenek authored
Rename instance variable to avoid name conflict with parameters, and modify addTransition() to compare the correct state values. llvm-svn: 90552
-
Ted Kremenek authored
Allow BlockInvocationContext to wrap either a BlockDecl* or a BlockDataRegion*, giving us choice in our degree of context-sensitivity. llvm-svn: 90516
-
Ted Kremenek authored
llvm-svn: 90509
-
Ted Kremenek authored
Refactor FoldingSet profiling code for LocationContexts, and add a new BlockInvocationContext to represent the invocation of a block. llvm-svn: 90506
-
Ted Kremenek authored
llvm-svn: 90503
-
Ted Kremenek authored
llvm-svn: 90499
-
- Dec 03, 2009
-
-
Ted Kremenek authored
Tweak handling of BlockDataRegions in RegionStoreManager::RemoveDeadBindings(): only the VarRegions for variables marked with the '__block' annotation should have their lifetime extended by a BlockDataRegion. llvm-svn: 90462
-
Zhongxing Xu authored
Patch by Lei Zhang! llvm-svn: 90444
-
Daniel Dunbar authored
llvm-svn: 90443
-
Ted Kremenek authored
Add value invalidation logic for block-captured variables. Conceptually invoking a block (without specific reasoning of what the block does) can invalidate any value to it by reference when the block was created. llvm-svn: 90431
-
Ted Kremenek authored
Make BlockDataRegion::referenced_vars_iterator an actual class that enforces that all MemRegions iterated over are VarRegions. llvm-svn: 90430
-
Daniel Dunbar authored
llvm-svn: 90424
-
Ted Kremenek authored
Add batch version of 'StoreManager::InvalidateRegion()' for invalidating multiple regions as once. After adopting this in the CFRefCount::EvalCall(), we see a reduction in analysis time of 1.5% when analyzing all of SQLite3. llvm-svn: 90405
-
Ted Kremenek authored
Add a heuristic to the dead stores checker to prune dead stores for variables annotated with '__block'. This is overly conservative, but now the analyzer doesn't report dead stores for variables that can be updated by a block call. llvm-svn: 90364
-
- Dec 02, 2009
-
-
Zhongxing Xu authored
we don't need to use the DoneEvaluation hack when check for ObjCMessageExpr. PreVisitObjCMessageExpr() only checks for undefined receiver or arguments. Add checker interface EvalNilReceiver(). This is a 'once-and-done' interface. llvm-svn: 90296
-
- Dec 01, 2009
-
-
Ted Kremenek authored
llvm-svn: 90267
-
Ted Kremenek authored
Fix early-return logic in scanReachableSymbols() to match the rest of the recursive logic in the methods of ScanReachableSymbols. llvm-svn: 90245
-
- Nov 30, 2009
-
-
Douglas Gregor authored
llvm-svn: 90139
-
Tobias Grosser authored
llvm-svn: 90137
-