- Sep 15, 2011
-
-
Anna Zaks authored
[analyzer] Refactor: make PathDiagnosticLocation responsible for validation of SourceLocations (commit 2 of ?): - Modify all PathDiagnosticLocation constructors that take Stmt to also requre LocationContext. - Add a constructor which should be used in case there is no valid statement/location (it will grab the location of the enclosing function). llvm-svn: 139763
-
- Sep 14, 2011
-
-
Anna Zaks authored
[analyzer] Refactor: Make PathDiagnosticLocation responsible for creating a valid object given an ExploadedNode (the same logic can be reused by other checkers). llvm-svn: 139672
-
- Sep 13, 2011
-
-
Douglas Gregor authored
language options. Use that .def file to declare the LangOptions class and initialize all of its members, eliminating a source of annoying initialization bugs. AST serialization changes are next up. llvm-svn: 139605
-
- Sep 03, 2011
-
-
Benjamin Kramer authored
llvm-svn: 139078
-
- Sep 02, 2011
-
-
Jordy Rose authored
And with that, TransferFuncs is gone! llvm-svn: 139003
-
Jordy Rose authored
[analyzer] Move RetainReleaseChecker to the Checkers library and rename it to RetainCountChecker...and clean up the file while I'm at it. llvm-svn: 139002
-
Jordy Rose authored
[analyzer] Move the knowledge of whether or not GC is enabled for the current analysis from CFRefCount to ExprEngine. Remove TransferFuncs from ExprEngine and AnalysisConsumer. Demote RetainReleaseChecker to a regular checker, and give it the name osx.cocoa.RetainCount (class name change coming shortly). Update tests accordingly. llvm-svn: 138998
-
- Aug 28, 2011
-
-
Jordy Rose authored
[analyzer] Introduce a new callback for checkers, printState, to be used for debug-printing the contents of a ProgramState. Unlike the other callbacks, this one is a simple virtual method, since it is only to be used for debugging. This new callback replaces the old ProgramState::Printer interface, and allows us to move the printing of refcount bindings from CFRefCount to RetainReleaseChecker. llvm-svn: 138728
-
Jordy Rose authored
This is a common path for function and C++ method calls, Objective-C messages and property accesses, and C++ construct-exprs. As support, add message receiver accessors to ObjCMessage and CallOrObjCMessage. llvm-svn: 138718
-
Jordy Rose authored
[analyzer] Change the check::RegionChanges callback to include the regions explicitly requested for invalidation. Also, allow CallOrObjCMessage to wrap a CXXConstructExpr as well. Finally, this allows us to remove the clunky whitelisting system from CFRefCount/RetainReleaseChecker. Slight regression due to CXXNewExprs not yet being handled in post-statement callbacks (PR forthcoming). llvm-svn: 138716
-
- Aug 26, 2011
-
-
Jordy Rose authored
llvm-svn: 138649
-
- Aug 25, 2011
-
-
Jordy Rose authored
[analyzer] Move the leak bugs from CFRefCount to RetainReleaseChecker, with a level of indirection to handle GC vs. non-GC. llvm-svn: 138538
-
Jordy Rose authored
(These bug types may have just been leaked before...!) llvm-svn: 138532
-
Jordy Rose authored
Because Checkers live for an entire translation unit, this persists summary caches across multiple code bodies and avoids repeated initialization (but probably at the cost of memory). This removes the last references from RetainReleaseChecker to CFRefCount. llvm-svn: 138529
-
Jordy Rose authored
llvm-svn: 138526
-
Jordy Rose authored
llvm-svn: 138510
-
Jordy Rose authored
llvm-svn: 138508
-
Jordy Rose authored
llvm-svn: 138506
-
- Aug 24, 2011
-
-
Jordy Rose authored
llvm-svn: 138477
-
Jordy Rose authored
[analyzer] Copy GC mode setting from CFRefCount to RetainReleaseChecker in preparation for getting rid of CFRefCount. This is a little hacky for now but will get better once we decide the best way to handle this. llvm-svn: 138476
-
Jordy Rose authored
This is a very small regression (actually introduced in r138309) because it won't catch leaks of objects passed by reference to CFDictionaryCreate (they're considered to have escaped and are ignored). If this is important we can put in a specific eval::Call to restore the functionality. llvm-svn: 138464
-
Jordy Rose authored
[analyzer] Slightly clean up the fix in 138432, so that it doesn't depend on the relative ordering of path-sensitive and path-insensitive checks. Still not ideal, but I think a real fix would require infrastructure that doesn't exist yet. llvm-svn: 138462
-
Jordy Rose authored
[analyzer] Fix a Heisenbug concerning object lifetimes with a hack. Hopefully a better fix coming soon. See comment for more details. llvm-svn: 138432
-
Jordy Rose authored
[analyzer] Reapply 138390 "Clean up unused bits of CFRefCount", reverted in 138405. Ended up unrelated to any problems. llvm-svn: 138431
-
Jordy Rose authored
[analyzer] Fix potential crasher with RAII. No functionality change. (No test because this particular circumstance requires an impossible series of events, but this is future-proofing.) llvm-svn: 138430
-
Jordy Rose authored
[analyzer] Reapply 138382 and 138388 (reverted in 138419 and 138420). The issue seems to have been with the uninitialized variable fixed in 138424; a fix for another Heisencrasher coming soon. llvm-svn: 138426
-
Jordy Rose authored
llvm-svn: 138424
-
Eric Christopher authored
Revert "[analyzer] Cleanup: Move temporary declarations of CFRefCount variables closer to their uses. No functionality change." This reverts commit d02b4af7bd6ca4a743c7074d64e205d718aa221d. llvm-svn: 138420
-
Eric Christopher authored
Revert "[analyzer] Make CFRefBug and CFRefReportVisitor not dependent on CFRefCount. Unfortunately, CFRefReport still is. No functionality change." This reverts commit e3fb7e428b7ba0d5d902dfe3f165d70e09b03a15. llvm-svn: 138419
-
Eric Christopher authored
This reverts commit 6886a92640f5bffc972f67c0a1f302d6c6e7c322. llvm-svn: 138405
-
- Aug 23, 2011
-
-
Jordy Rose authored
llvm-svn: 138390
-
Jordy Rose authored
[analyzer] Make CFRefBug and CFRefReportVisitor not dependent on CFRefCount. Unfortunately, CFRefReport still is. No functionality change. llvm-svn: 138388
-
Jordy Rose authored
[analyzer] Cleanup: Move temporary declarations of CFRefCount variables closer to their uses. No functionality change. llvm-svn: 138382
-
Jordy Rose authored
[analyzer] Move function retain-count effect summary log from CFRefCount to RetainReleaseChecker, and then explicitly provide the summary log when creating CFRefReports. No functionality change. llvm-svn: 138374
-
Jordy Rose authored
[analyzer] Move helper method Update from CFRefCount to RetainReleaseChecker. No functionality change. llvm-svn: 138370
-
Jordy Rose authored
[analyzer] Move helper method handleAutoreleaseCounts from CFRefCount to RetainReleaseChecker. No functionality change. llvm-svn: 138365
-
Jordy Rose authored
[analyzer] Move ReturnStmt retain-count analysis from CFRefCount to RetainReleaseChecker. Tweak CFRefReport to reflect that fact that ReturnStmt checks are pre-statement, not post-statement. No intended functionality change. llvm-svn: 138358
-
Jordy Rose authored
llvm-svn: 138353
-
Jordy Rose authored
[analyzer] Only allocate retain summaries for interesting functions/messages. This is a minor saving of memory but doesn't seem to cost any performance. llvm-svn: 138320
-
Jordy Rose authored
[analyzer] Rename CFRefCount's evalSummary method to evalCallOrMessage, since it no longer, uh, evaluates call summaries. llvm-svn: 138313
-