aboutsummaryrefslogtreecommitdiff
path: root/lib/Analysis
AgeCommit message (Collapse)Author
2008-05-07Added auto-summary generation for createXXX, copyXXX, newXXX methods.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50795 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06Don't report leaks for autoreleased objects.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50777 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06More comments.Ted Kremenek
"#if 0" out some assumptions when auto-generating method summaries. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50772 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06Experiment with not converting bug names to lower case.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50753 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06More refactorings in GeneratePathDiagnostic: use ExecutionContinues to displayTed Kremenek
"Execution continues..." message, which does a better job at handling corner cases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50751 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06Generate "stop" summaries for selectors involving receivers whose type is ↵Ted Kremenek
not NSxxxx. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50721 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06Use strncmp correctly.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50715 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06Make string comparison legible and remove buffer overrun introduced by typo.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50714 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06String comparison cleanups.Ted Kremenek
Added test case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50711 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06Fix logic error in string processing.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50710 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06Remove assertion.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50709 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06Use EvalSummary to process message expressions, thereby unifying the checkerTed Kremenek
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50708 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06Added receiver effects to EvalSummary.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50700 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06Expand summaries to include "Receiver" effects.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50697 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06Added initialization code to generate initial set of ObjC method summaries ↵Ted Kremenek
(non-instance methods). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50690 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-06Added code to generate initial set of summaries for instance methods.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50689 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-05Add summary generation for "initXXX" methods.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50684 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-05Make CF retain diagnostics more succinct.Ted Kremenek
In a leak's "name", indicate GC or non-GC bugs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50680 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-05Emit dead store warnings for ++ and -- operators.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50679 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-05Initial work on refactoring the CFRefCount checker so that it is moreTed Kremenek
generic and handles reference counts for NSObjects. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50674 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-05Improve leak diagnostics to not report a leak on the same line where Ted Kremenek
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 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50661 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-05Improved leak diagnostics.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50657 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-05Minor refactorings/cleanups in CF retain checker and added support for ↵Ted Kremenek
NSMakeCollectable. Added test case for NSMakeCollectable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50653 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-05When reporting branch conditions that evaluate to an uninitialized value,Ted Kremenek
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> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50647 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-02Rename member variable.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50597 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-02Improved diagnostics for leaks: now we report which variable was leaked.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50588 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-02When running the reference count checker twice (GC and non-GC mode), only emitTed Kremenek
basic warnings (dead stores, null dereferences) on the first pass. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50584 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-02Really noreturn on exceptions.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50579 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-01Fix copy-paste bug.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50557 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-01Remove no longer valid assertion.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50556 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-01Added line number diagnostics to indicate the allocation site of the leaked ↵Ted Kremenek
object. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50553 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-01Do not highlight bogus ranges for leaks.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50549 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-01Correctly invalidate reference count state when passing objects by reference ↵Ted Kremenek
in message expressions we don't understand. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50541 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-01Added temporary fix for Obj-C exception handling in the static analyzer: ↵Ted Kremenek
treat these as panic functions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50535 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-01Renamed static method.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50533 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-01Added __assert_rtn to list of panic functions.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50530 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-01Added ziperr as a panic function. Eventually inter-procedural analysisTed Kremenek
should catch this one easily. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50526 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-01When processing "release", "retain", and "autorelease" messages return theTed Kremenek
lval passed as an argument. Fix: Inverted diagnostic messages. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50513 91177308-0d34-0410-b5e6-96231b3b80d8
2008-05-01Added support for "autorelease" message in CF ref. count checker.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50512 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-30added preliminary diagnostics in scan-build results to denote whetherTed Kremenek
a CF memory leak occurred with GC enabled, etc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50507 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-30More cleanups with ObjCQualifiedIdType in the static analyzer.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50503 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-30Add placeholder code in the static analyzer for MemberExprs involving struct ↵Ted Kremenek
temporaries. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50502 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-30Add workaround for __builtin_offsetof in the static analyzer.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50500 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-30Provide SizeOfAlignTypeExpr workaround in the static analyzer for taking the ↵Ted Kremenek
sizeof of a ObjCInterfaceType. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50499 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-30Support implicit casts from pointers to references.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50498 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-30When creating LVals for array entries, canonicalize entries with a 0 index.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50497 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-30Teach more of the static analyzer about ObjCQualifiedIdType.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50494 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-30Teach the static analysis engine about ObjCQualifiedIdType.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50493 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-30Add conjured symbols for decl initializations.Ted Kremenek
Add db_error as panic function. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50489 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-30Handle lval::ArrayOffset and lval::FieldOffset in EvalNE and EvalEQ.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50486 91177308-0d34-0410-b5e6-96231b3b80d8