summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Add placeholder code in the static analyzer for MemberExprs involving struct ↵Ted Kremenek2008-04-301-10/+45
| | | | | | temporaries. llvm-svn: 50502
* Add workaround for __builtin_offsetof in the static analyzer.Ted Kremenek2008-04-301-0/+6
| | | | llvm-svn: 50500
* Provide SizeOfAlignTypeExpr workaround in the static analyzer for taking the ↵Ted Kremenek2008-04-301-0/+6
| | | | | | sizeof of a ObjCInterfaceType. llvm-svn: 50499
* Support implicit casts from pointers to references.Ted Kremenek2008-04-301-1/+7
| | | | llvm-svn: 50498
* When creating LVals for array entries, canonicalize entries with a 0 index.Ted Kremenek2008-04-301-1/+9
| | | | llvm-svn: 50497
* Teach more of the static analyzer about ObjCQualifiedIdType.Ted Kremenek2008-04-304-15/+9
| | | | llvm-svn: 50494
* Teach the static analysis engine about ObjCQualifiedIdType.Ted Kremenek2008-04-302-10/+13
| | | | llvm-svn: 50493
* Add conjured symbols for decl initializations.Ted Kremenek2008-04-301-3/+22
| | | | | | Add db_error as panic function. llvm-svn: 50489
* Handle lval::ArrayOffset and lval::FieldOffset in EvalNE and EvalEQ.Ted Kremenek2008-04-301-0/+10
| | | | llvm-svn: 50486
* Invalidate old subexpression bindings when binding UnknownVal.Ted Kremenek2008-04-301-3/+7
| | | | llvm-svn: 50466
* Simplify RemoveDeadBindings.Ted Kremenek2008-04-291-17/+9
| | | | llvm-svn: 50458
* Add lval::ArrayOffset, which represent the locations of entries in an array.Ted Kremenek2008-04-294-62/+75
| | | | llvm-svn: 50453
* Added lval::FieldOffset, which represents symbolic lvalues for field offsets ↵Ted Kremenek2008-04-294-28/+39
| | | | | | | | from other Lvalues. This removes the failure in null-deref-ps.c (test suite). llvm-svn: 50449
OpenPOWER on IntegriCloud