| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
to RetainCountChecker...and clean up the file while I'm at it.
llvm-svn: 139002
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 138649
|
|
|
|
|
|
| |
a level of indirection to handle GC vs. non-GC.
llvm-svn: 138538
|
|
|
|
|
|
| |
(These bug types may have just been leaked before...!)
llvm-svn: 138532
|
|
|
|
|
|
|
|
| |
RetainReleaseChecker.
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
|
|
|
|
| |
llvm-svn: 138526
|
|
|
|
|
|
| |
non-void function")
llvm-svn: 138510
|
|
|
|
|
|
| |
in trunk.
llvm-svn: 138508
|
|
|
|
| |
llvm-svn: 138506
|
|
|
|
|
|
| |
Cameron.
llvm-svn: 138477
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
CFDictionaryCreate.
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
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Hopefully a better fix coming soon. See comment for more details.
llvm-svn: 138432
|
|
|
|
|
|
| |
138405. Ended up unrelated to any problems.
llvm-svn: 138431
|
|
|
|
|
|
| |
test because this particular circumstance requires an impossible series of events, but this is future-proofing.)
llvm-svn: 138430
|
|
|
|
|
|
| |
issue seems to have been with the uninitialized variable fixed in 138424; a fix for another Heisencrasher coming soon.
llvm-svn: 138426
|
|
|
|
| |
llvm-svn: 138424
|
|
|
|
|
|
|
|
| |
variables closer to their uses. No functionality change."
This reverts commit d02b4af7bd6ca4a743c7074d64e205d718aa221d.
llvm-svn: 138420
|
|
|
|
|
|
|
|
| |
CFRefCount. Unfortunately, CFRefReport still is. No functionality change."
This reverts commit e3fb7e428b7ba0d5d902dfe3f165d70e09b03a15.
llvm-svn: 138419
|
|
|
|
|
|
| |
This reverts commit 6886a92640f5bffc972f67c0a1f302d6c6e7c322.
llvm-svn: 138405
|
|
|
|
| |
llvm-svn: 138390
|
|
|
|
|
|
| |
Unfortunately, CFRefReport still is. No functionality change.
llvm-svn: 138388
|
|
|
|
|
|
| |
closer to their uses. No functionality change.
llvm-svn: 138382
|
|
|
|
|
|
| |
RetainReleaseChecker, and then explicitly provide the summary log when creating CFRefReports. No functionality change.
llvm-svn: 138374
|
|
|
|
|
|
| |
RetainReleaseChecker. No functionality change.
llvm-svn: 138370
|
|
|
|
|
|
| |
RetainReleaseChecker. No functionality change.
llvm-svn: 138365
|
|
|
|
|
|
| |
RetainReleaseChecker. Tweak CFRefReport to reflect that fact that ReturnStmt checks are pre-statement, not post-statement. No intended functionality change.
llvm-svn: 138358
|
|
|
|
|
|
| |
RetainReleaseChecker.
llvm-svn: 138353
|
|
|
|
|
|
| |
functions/messages. This is a minor saving of memory but doesn't seem to cost any performance.
llvm-svn: 138320
|
|
|
|
|
|
| |
since it no longer, uh, evaluates call summaries.
llvm-svn: 138313
|
|
|
|
|
|
| |
ArgEffects from CFRefCount to RetainReleaseChecker. No intended functionality change.
llvm-svn: 138309
|
|
|
|
|
|
| |
renamed into ExtraText, to the diagnostic without subclassing BugReport.
llvm-svn: 138272
|
|
|
|
|
|
| |
CFRefReportVisitors.
llvm-svn: 138259
|
|
|
|
|
|
| |
from CFRefCount to RetainReleaseChecker. No intended functionality change.
llvm-svn: 138223
|
|
|
|
|
|
| |
seems to result in a minor performance hit, but I think that will go away again once we eliminate TransferFuncs from function calls entirely.
llvm-svn: 138220
|
|
|
|
| |
llvm-svn: 138215
|
|
|
|
|
|
| |
no need for a flag, at least not right now.
llvm-svn: 138212
|
|
|
|
| |
llvm-svn: 138211
|
|
|
|
|
|
| |
CFRefCount to NoReturnFunctionChecker. No functionality change intended.
llvm-svn: 138210
|
|
|
|
|
|
| |
endOfPath diagnostic piece from BugReport to BugReporterVisitor. Switch CFRefCount to use visitors in order to generate the endOfPath piece.
llvm-svn: 138184
|
|
|
|
|
|
| |
BugReport no longer needs to inherit from BugReporterVisitor.
llvm-svn: 138142
|
|
|
|
|
|
|
|
| |
BugReporterContext to BugReport.
One API change: I added BugReporter as an additional parameter to the BugReporterVisitor::VisitNode() method to allow visitors register other visitors with the report on the fly (while processing a node). This functionality is used by NilReceiverVisitor, which registers TrackNullOrUndefValue when the receiver is null.
llvm-svn: 138001
|
|
|
|
|
|
| |
functionality they provided into their parent BugReport. The only functional changes are: made getRanges() non const - it adds default range to Ranges if none are supplied, made getStmt() private, which was another FIXME.
llvm-svn: 137894
|
|
|
|
|
|
| |
RetainReleaseChecker. This is mostly a textual move and required no supporting changes. No functionality change intended.
llvm-svn: 137874
|
|
|
|
|
|
| |
bunch of others I haven't touched.
llvm-svn: 137867
|