Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Generate "stop" summaries for selectors involving receivers whose type is ↵ | Ted Kremenek | 2008-05-06 | 1 | -19/+92 |
| | | | | | | not NSxxxx. llvm-svn: 50721 | ||||
* | Use strncmp correctly. | Ted Kremenek | 2008-05-06 | 1 | -3/+3 |
| | | | | llvm-svn: 50715 | ||||
* | Make string comparison legible and remove buffer overrun introduced by typo. | Ted Kremenek | 2008-05-06 | 1 | -2/+2 |
| | | | | llvm-svn: 50714 | ||||
* | String comparison cleanups. | Ted Kremenek | 2008-05-06 | 1 | -1/+1 |
| | | | | | | Added test case. llvm-svn: 50711 | ||||
* | Fix logic error in string processing. | Ted Kremenek | 2008-05-06 | 1 | -1/+1 |
| | | | | llvm-svn: 50710 | ||||
* | Remove assertion. | Ted Kremenek | 2008-05-06 | 1 | -1/+0 |
| | | | | llvm-svn: 50709 | ||||
* | Use EvalSummary to process message expressions, thereby unifying the checker | Ted Kremenek | 2008-05-06 | 1 | -135/+64 |
| | | | | | | | | | | | | logic for function calls and message expressions. Use the following heuristic to infer "allocating" instance methods: [ClassName classWithXXX] allocates an object Update testcase to reflect this heuristic. llvm-svn: 50708 | ||||
* | Added receiver effects to EvalSummary. | Ted Kremenek | 2008-05-06 | 1 | -7/+43 |
| | | | | llvm-svn: 50700 | ||||
* | Expand summaries to include "Receiver" effects. | Ted Kremenek | 2008-05-06 | 1 | -16/+40 |
| | | | | llvm-svn: 50697 | ||||
* | Added initialization code to generate initial set of ObjC method summaries ↵ | Ted Kremenek | 2008-05-06 | 1 | -3/+22 |
| | | | | | | (non-instance methods). llvm-svn: 50690 | ||||
* | Added code to generate initial set of summaries for instance methods. | Ted Kremenek | 2008-05-06 | 1 | -17/+55 |
| | | | | llvm-svn: 50689 | ||||
* | Add summary generation for "initXXX" methods. | Ted Kremenek | 2008-05-05 | 1 | -5/+47 |
| | | | | llvm-svn: 50684 | ||||
* | Make CF retain diagnostics more succinct. | Ted Kremenek | 2008-05-05 | 1 | -4/+5 |
| | | | | | | In a leak's "name", indicate GC or non-GC bugs. llvm-svn: 50680 | ||||
* | Initial work on refactoring the CFRefCount checker so that it is more | Ted Kremenek | 2008-05-05 | 1 | -108/+184 |
| | | | | | | generic and handles reference counts for NSObjects. llvm-svn: 50674 | ||||
* | Improve leak diagnostics to not report a leak on the same line where | Ted Kremenek | 2008-05-05 | 1 | -16/+80 |
| | | | | | | | | | | | | | | | | the object was last used. This can be confusing to users. For example: // 'y' is leaked x = foo(y); instead: x = foo(y); // 'y' is leaked llvm-svn: 50661 | ||||
* | Improved leak diagnostics. | Ted Kremenek | 2008-05-05 | 1 | -23/+63 |
| | | | | llvm-svn: 50657 | ||||
* | Minor refactorings/cleanups in CF retain checker and added support for ↵ | Ted Kremenek | 2008-05-05 | 1 | -93/+68 |
| | | | | | | | | NSMakeCollectable. Added test case for NSMakeCollectable. llvm-svn: 50653 | ||||
* | Improved diagnostics for leaks: now we report which variable was leaked. | Ted Kremenek | 2008-05-02 | 1 | -5/+33 |
| | | | | llvm-svn: 50588 | ||||
* | When running the reference count checker twice (GC and non-GC mode), only emit | Ted Kremenek | 2008-05-02 | 1 | -4/+8 |
| | | | | | | basic warnings (dead stores, null dereferences) on the first pass. llvm-svn: 50584 | ||||
* | Fix copy-paste bug. | Ted Kremenek | 2008-05-01 | 1 | -1/+1 |
| | | | | llvm-svn: 50557 | ||||
* | Remove no longer valid assertion. | Ted Kremenek | 2008-05-01 | 1 | -4/+0 |
| | | | | llvm-svn: 50556 | ||||
* | Added line number diagnostics to indicate the allocation site of the leaked ↵ | Ted Kremenek | 2008-05-01 | 1 | -3/+53 |
| | | | | | | object. llvm-svn: 50553 | ||||
* | Do not highlight bogus ranges for leaks. | Ted Kremenek | 2008-05-01 | 1 | -2/+23 |
| | | | | llvm-svn: 50549 | ||||
* | Correctly invalidate reference count state when passing objects by reference ↵ | Ted Kremenek | 2008-05-01 | 1 | -3/+38 |
| | | | | | | in message expressions we don't understand. llvm-svn: 50541 | ||||
* | Renamed static method. | Ted Kremenek | 2008-05-01 | 1 | -4/+4 |
| | | | | llvm-svn: 50533 | ||||
* | When processing "release", "retain", and "autorelease" messages return the | Ted Kremenek | 2008-05-01 | 1 | -5/+5 |
| | | | | | | | lval passed as an argument. Fix: Inverted diagnostic messages. llvm-svn: 50513 | ||||
* | Added support for "autorelease" message in CF ref. count checker. | Ted Kremenek | 2008-05-01 | 1 | -15/+42 |
| | | | | llvm-svn: 50512 | ||||
* | added preliminary diagnostics in scan-build results to denote whether | Ted Kremenek | 2008-04-30 | 1 | -6/+52 |
| | | | | | | a CF memory leak occurred with GC enabled, etc. llvm-svn: 50507 | ||||
* | Teach more of the static analyzer about ObjCQualifiedIdType. | Ted Kremenek | 2008-04-30 | 1 | -1/+2 |
| | | | | llvm-svn: 50494 | ||||
* | Teach the static analysis engine about ObjCQualifiedIdType. | Ted Kremenek | 2008-04-30 | 1 | -2/+1 |
| | | | | llvm-svn: 50493 | ||||
* | Update typestate logic to support GC-mode. | Ted Kremenek | 2008-04-29 | 1 | -3/+8 |
| | | | | llvm-svn: 50396 | ||||
* | Implement semantics of CFMakeCollectable for the CF-reference count checker. | Ted Kremenek | 2008-04-29 | 1 | -29/+65 |
| | | | | llvm-svn: 50395 | ||||
* | Provide the option to run the CF-retain checker in GC enabled mode. | Ted Kremenek | 2008-04-29 | 1 | -4/+6 |
| | | | | | | The transfer functions for the checker don't do anything special yet in GC mode. llvm-svn: 50394 | ||||
* | Do a better job at computing dead symbols. | Ted Kremenek | 2008-04-25 | 1 | -15/+5 |
| | | | | | | | | | Implemented support for better localized leaks in the CF reference count checker. Now leaks should be flagged close to where they occur. This should implement the desired functionality in <rdar://problem/5879592>, although the diagnostics still need to be improved. llvm-svn: 50241 | ||||
* | Add preliminary support for flagging leaks around when they happen (doesn't ↵ | Ted Kremenek | 2008-04-24 | 1 | -2/+70 |
| | | | | | | work yet). llvm-svn: 50237 | ||||
* | CF reference count checker: handle variadic functions that allocate CF objects. | Ted Kremenek | 2008-04-24 | 1 | -56/+54 |
| | | | | | | | | | This fixes <rdar://problem/5886141>. Part of this change resulted in creating sparser summaries. I also added some more comments and did some minor code cleanups. llvm-svn: 50214 | ||||
* | Fixed: <rdar://problem/5881148> | Ted Kremenek | 2008-04-23 | 1 | -2/+2 |
| | | | | | | | | | | Problem: In the recently refactored VisitDeref (which processes dereferences), we were incorrectly skipping the node just generated for the subexpression of the dereference. This was a horrible regression. llvm-svn: 50176 | ||||
* | Added lval type (and tracking) for StringLiterals. | Ted Kremenek | 2008-04-22 | 1 | -0/+2 |
| | | | | llvm-svn: 50109 | ||||
* | Generalize caching mechanism for bugs reports. Now individual BugTypes | Ted Kremenek | 2008-04-18 | 1 | -2/+2 |
| | | | | | | | | can decide the policy on how to cache related bugs. This allows us to properly to handle warning about multiple leaks in the same location in the ref count checker (not yet done). llvm-svn: 49918 | ||||
* | Added "GetErrorNodes()" to BugType so that -trim-egraph can recognize errors | Ted Kremenek | 2008-04-18 | 1 | -5/+53 |
| | | | | | | | | from registered BugTypes. This helps with debugging. Add detection of NULL values in ref count checker; this suppresses false positives. llvm-svn: 49912 | ||||
* | Fixed bug in GREndPathNodeBuilder: only return a node if it wasn't in the ↵ | Ted Kremenek | 2008-04-18 | 1 | -0/+4 |
| | | | | | | node cache. llvm-svn: 49907 | ||||
* | More grammar fixes. | Ted Kremenek | 2008-04-18 | 1 | -2/+8 |
| | | | | llvm-svn: 49895 | ||||
* | Fix plurality debacle. | Ted Kremenek | 2008-04-18 | 1 | -1/+1 |
| | | | | llvm-svn: 49894 | ||||
* | Added path diagnostics for reference counts. | Ted Kremenek | 2008-04-18 | 1 | -9/+101 |
| | | | | llvm-svn: 49892 | ||||
* | BugReport::VisitNode now takes BugReporter& instead of ASTContext&. | Ted Kremenek | 2008-04-18 | 1 | -99/+155 |
| | | | | | | | | Shuffled around code in CFRefCount to better pair classes with implementation, and started adding subclasses of RangedBugReport to handle better diagnostics for reference count bugs. llvm-svn: 49889 | ||||
* | Simplified internal logic of BugReporter, consolidating EmitWarning and | Ted Kremenek | 2008-04-18 | 1 | -3/+3 |
| | | | | | | | | EmitPathWarning into one method. We now properly handle emitting warnings without a PathDiagnosticClient when the warning does not involve a particular statement. llvm-svn: 49884 | ||||
* | Hook up reporting reference count memory leaks to the BugReporter mechanism. | Ted Kremenek | 2008-04-17 | 1 | -0/+31 |
| | | | | llvm-svn: 49879 | ||||
* | Added transfer function support for ReturnStmt to support detecting leaks | Ted Kremenek | 2008-04-17 | 1 | -33/+160 |
| | | | | | | involving objects that are returned but have an excessive reference count. llvm-svn: 49861 | ||||
* | CF ref. count checker: Register memory leaks at the end of a path. | Ted Kremenek | 2008-04-16 | 1 | -31/+84 |
| | | | | llvm-svn: 49824 | ||||
* | Small tweaks to EvalStore: pass an "RVal" instead of "LVal" for the TargetLV to | Ted Kremenek | 2008-04-16 | 1 | -6/+61 |
| | | | | | | represent possible stores to "Unknown." llvm-svn: 49811 |