summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis
Commit message (Collapse)AuthorAgeFilesLines
* Support StringLiteralVal when comparing LVal types.Ted Kremenek2008-05-121-0/+2
| | | | llvm-svn: 50979
* Rename IsPointerType to LVal::IsLValType, and update CFRefCount::EvalSummary ↵Ted Kremenek2008-05-093-17/+17
| | | | | | to use IsLValType when conjuring symbols for return values (this fixes a bug with an assertion firing in the analyzer when two qualified objective-c types were compared). llvm-svn: 50924
* Added support for "drain".Ted Kremenek2008-05-071-0/+4
| | | | llvm-svn: 50831
* Expand the CF retain checker to allow the Create/Get rule to apply to anyTed Kremenek2008-05-071-52/+57
| | | | | | | | | | | | function that returns a CFxxxRef, not just functions whose name begins with CF. This implements <rdar://problem/5917879>. Added test case for this feature. Updated calls to CStrInCStrNoCase to swap their arguments, per compatibility with strcasestr. llvm-svn: 50829
* Flip order of arguments to CStrInStrNoCase.Ted Kremenek2008-05-071-2/+2
| | | | llvm-svn: 50824
* Use llvm::CStrInCStrNoCase instead of strcasestr, since the latter is not ↵Ted Kremenek2008-05-071-2/+4
| | | | | | | | portable. Correctly check if the result of CStrInCStrNoCase is NULL to generate summaries; before we were inverting the condition. llvm-svn: 50822
* copy-paste: NS types are not typedefs.Ted Kremenek2008-05-071-7/+5
| | | | llvm-svn: 50817
* Do not treat **instance** methods "copyWithZone:" and "mutableCopyWithZone:" ↵Ted Kremenek2008-05-071-18/+1
| | | | | | from NSObject as allocators. llvm-svn: 50802
* Be less promiscuous with generating summaries for "new", "copy", "create".Ted Kremenek2008-05-071-3/+3
| | | | llvm-svn: 50798
* Added auto-summary generation for createXXX, copyXXX, newXXX methods.Ted Kremenek2008-05-071-16/+12
| | | | llvm-svn: 50795
* Don't report leaks for autoreleased objects.Ted Kremenek2008-05-061-42/+21
| | | | llvm-svn: 50777
* More comments.Ted Kremenek2008-05-061-73/+72
| | | | | | "#if 0" out some assumptions when auto-generating method summaries. llvm-svn: 50772
* Experiment with not converting bug names to lower case.Ted Kremenek2008-05-061-11/+38
| | | | llvm-svn: 50753
* More refactorings in GeneratePathDiagnostic: use ExecutionContinues to displayTed Kremenek2008-05-061-14/+28
| | | | | | "Execution continues..." message, which does a better job at handling corner cases. llvm-svn: 50751
* Generate "stop" summaries for selectors involving receivers whose type is ↵Ted Kremenek2008-05-061-19/+92
| | | | | | not NSxxxx. llvm-svn: 50721
* Use strncmp correctly.Ted Kremenek2008-05-061-3/+3
| | | | llvm-svn: 50715
* Make string comparison legible and remove buffer overrun introduced by typo.Ted Kremenek2008-05-061-2/+2
| | | | llvm-svn: 50714
* String comparison cleanups.Ted Kremenek2008-05-061-1/+1
| | | | | | Added test case. llvm-svn: 50711
* Fix logic error in string processing.Ted Kremenek2008-05-061-1/+1
| | | | llvm-svn: 50710
* Remove assertion.Ted Kremenek2008-05-061-1/+0
| | | | llvm-svn: 50709
* Use EvalSummary to process message expressions, thereby unifying the checkerTed Kremenek2008-05-061-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 Kremenek2008-05-061-7/+43
| | | | llvm-svn: 50700
* Expand summaries to include "Receiver" effects.Ted Kremenek2008-05-061-16/+40
| | | | llvm-svn: 50697
* Added initialization code to generate initial set of ObjC method summaries ↵Ted Kremenek2008-05-061-3/+22
| | | | | | (non-instance methods). llvm-svn: 50690
* Added code to generate initial set of summaries for instance methods.Ted Kremenek2008-05-061-17/+55
| | | | llvm-svn: 50689
* Add summary generation for "initXXX" methods.Ted Kremenek2008-05-051-5/+47
| | | | llvm-svn: 50684
* Make CF retain diagnostics more succinct.Ted Kremenek2008-05-051-4/+5
| | | | | | In a leak's "name", indicate GC or non-GC bugs. llvm-svn: 50680
* Emit dead store warnings for ++ and -- operators.Ted Kremenek2008-05-051-8/+24
| | | | llvm-svn: 50679
* Initial work on refactoring the CFRefCount checker so that it is moreTed Kremenek2008-05-051-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 Kremenek2008-05-051-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 Kremenek2008-05-051-23/+63
| | | | llvm-svn: 50657
* Minor refactorings/cleanups in CF retain checker and added support for ↵Ted Kremenek2008-05-051-93/+68
| | | | | | | | NSMakeCollectable. Added test case for NSMakeCollectable. llvm-svn: 50653
* When reporting branch conditions that evaluate to an uninitialized value,Ted Kremenek2008-05-051-5/+77
| | | | | | | | | | highlight the most nested subexpression that appears most responsible (giving the user better diagnostic feedback). Updated test cases to illustrate this feature. Implements: <rdar://problem/5880443> llvm-svn: 50647
* Rename member variable.Ted Kremenek2008-05-021-4/+4
| | | | llvm-svn: 50597
* Improved diagnostics for leaks: now we report which variable was leaked.Ted Kremenek2008-05-021-5/+33
| | | | llvm-svn: 50588
* When running the reference count checker twice (GC and non-GC mode), only emitTed Kremenek2008-05-021-4/+8
| | | | | | basic warnings (dead stores, null dereferences) on the first pass. llvm-svn: 50584
* Really noreturn on exceptions.Ted Kremenek2008-05-021-3/+3
| | | | llvm-svn: 50579
* Fix copy-paste bug.Ted Kremenek2008-05-011-1/+1
| | | | llvm-svn: 50557
* Remove no longer valid assertion.Ted Kremenek2008-05-011-4/+0
| | | | llvm-svn: 50556
* Added line number diagnostics to indicate the allocation site of the leaked ↵Ted Kremenek2008-05-012-7/+55
| | | | | | object. llvm-svn: 50553
* Do not highlight bogus ranges for leaks.Ted Kremenek2008-05-013-41/+67
| | | | llvm-svn: 50549
* Correctly invalidate reference count state when passing objects by reference ↵Ted Kremenek2008-05-012-3/+44
| | | | | | in message expressions we don't understand. llvm-svn: 50541
* Added temporary fix for Obj-C exception handling in the static analyzer: ↵Ted Kremenek2008-05-011-4/+72
| | | | | | treat these as panic functions. llvm-svn: 50535
* Renamed static method.Ted Kremenek2008-05-011-4/+4
| | | | llvm-svn: 50533
* Added __assert_rtn to list of panic functions.Ted Kremenek2008-05-011-0/+4
| | | | llvm-svn: 50530
* Added ziperr as a panic function. Eventually inter-procedural analysisTed Kremenek2008-05-011-0/+5
| | | | | | should catch this one easily. llvm-svn: 50526
* When processing "release", "retain", and "autorelease" messages return theTed Kremenek2008-05-011-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 Kremenek2008-05-011-15/+42
| | | | llvm-svn: 50512
* added preliminary diagnostics in scan-build results to denote whetherTed Kremenek2008-04-302-6/+59
| | | | | | a CF memory leak occurred with GC enabled, etc. llvm-svn: 50507
* More cleanups with ObjCQualifiedIdType in the static analyzer.Ted Kremenek2008-04-302-9/+10
| | | | llvm-svn: 50503
OpenPOWER on IntegriCloud