| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
'BugReporterVisitor'. This simplifies callbacks from BugReporter to BugReports
(via VisitNode). It also lays the foundation for arbitrary visitor "call backs"
that can be registered to a BugReporterContext as a PathDiagnostic is
constructed. These call backs can help operate as separate "experts" that can
work on constructed pieces of a PathDiagnostic for which they possess special
knowledge.
llvm-svn: 71121
|
|
|
|
|
|
|
|
|
|
| |
- Update the old StoreManager::CastRegion to strip off 'ElementRegions' when
casting to void* (Zhongxing: please validate)
- Pass-by-reference argument invalidation logic in CFRefCount.cpp:
- Strip ElementRegions when the ElementRegion is just a 'raw data' view
on top of the underlying typed region.
llvm-svn: 71094
|
|
|
|
| |
llvm-svn: 70990
|
|
|
|
| |
llvm-svn: 70952
|
|
|
|
| |
llvm-svn: 70940
|
|
|
|
| |
llvm-svn: 70897
|
|
|
|
|
|
|
|
|
|
|
| |
'objc_ownership_cfretain' -> 'cf_ownership_retain'
'objc_ownership_cfrelease' -> 'cf_ownership_release'
Motivation: Core Foundation objects can be used in isolation from Objective-C,
and this forces users to reason about the separate semantics of CF objects. More
Sema support pending.
llvm-svn: 70884
|
|
|
|
|
|
| |
Need to add Sema support.
llvm-svn: 70873
|
|
|
|
|
|
| |
separate method.
llvm-svn: 70870
|
|
|
|
| |
llvm-svn: 70869
|
|
|
|
|
|
|
| |
- Fix retain checker test failures.
- Update retain checker to have annotations override default summary effects, not completely redefine them.
llvm-svn: 70828
|
|
|
|
|
|
|
| |
which is returned instead of a null pointer. This helps centralize
the logic concerning "default effects".
llvm-svn: 70826
|
|
|
|
|
|
|
| |
We never compare summaries by their pointers, and we create only a
handful of them when analyzing a given function.
llvm-svn: 70824
|
|
|
|
|
|
|
|
|
| |
"copy" in their name should be treated as owned
For methods that follow the "fundamental rule" and return Core
Foundation objects, treat those objects as owned by the caller.
llvm-svn: 70665
|
|
|
|
|
|
| |
it much easier to clean up the summary generation logic with annotations.
llvm-svn: 70660
|
|
|
|
| |
llvm-svn: 70657
|
|
|
|
|
|
| |
occurs in GC mode.
llvm-svn: 70638
|
|
|
|
|
|
| |
'objc_ownership_release' to the effects on receivers.
llvm-svn: 70507
|
|
|
|
| |
llvm-svn: 70475
|
|
|
|
|
|
| |
matching ObjCMethodDecl exists in the @interface.
llvm-svn: 70474
|
|
|
|
|
|
| |
ObjCInterfaceDecl, not before.
llvm-svn: 70473
|
|
|
|
|
|
|
| |
an owned object, consult its summary instead of inspecting the selector. This
picks up annotations, and is just more general.
llvm-svn: 70429
|
|
|
|
| |
llvm-svn: 70420
|
|
|
|
| |
llvm-svn: 70412
|
|
|
|
|
|
|
| |
(those diffs are just code moving) and move the logic for "return of owned
object" leak reporting to EvalReturnStmt.
llvm-svn: 70399
|
|
|
|
|
|
| |
method currently being analyzed.
llvm-svn: 70388
|
|
|
|
| |
llvm-svn: 70387
|
|
|
|
|
|
| |
ObjCMessageExpr.
llvm-svn: 70369
|
|
|
|
| |
llvm-svn: 70358
|
|
|
|
|
|
|
| |
on ObjCMessageExpr. This will enable us to use it elsewhere. This should not
change any functionality.
llvm-svn: 70352
|
|
|
|
|
|
| |
to add 'CFMakeCollectable' semantics to a method.
llvm-svn: 70336
|
|
|
|
| |
llvm-svn: 70313
|
|
|
|
| |
llvm-svn: 70293
|
|
|
|
|
|
|
| |
'objc_ownership_cfrelease'. These are the 'release' equivalents of
'objc_ownership_retain' and 'objc_ownership_cfretain' respectively.
llvm-svn: 70235
|
|
|
|
|
|
| |
treated as "not owned" objects.
llvm-svn: 70232
|
|
|
|
|
|
|
|
| |
as 'objc_ownership_cfretain' except that the method acts like a CFRetain instead
of a [... retain] (important in GC modes). Checker support is wired up, but
currently only for Objective-C message expressions (not function calls).
llvm-svn: 70218
|
|
|
|
|
|
| |
can't track down.
llvm-svn: 70155
|
|
|
|
|
|
|
| |
users to specify that a method's argument is visibly retained (reference count
incremented).
llvm-svn: 70008
|
|
|
|
| |
llvm-svn: 70002
|
|
|
|
|
|
| |
involving an NSAnimation object delegating its release to a delegate method.
llvm-svn: 69992
|
|
|
|
|
|
| |
change.
llvm-svn: 69985
|
|
|
|
|
|
|
| |
delegates. When a reference counted object is passed as to a 'void*' argument to
a method stop tracking the reference count.
llvm-svn: 69984
|
|
|
|
| |
llvm-svn: 69983
|
|
|
|
|
|
|
|
|
|
|
| |
- Fix summary lookup for class methods to now use the (optional)
ObjCInterfaceDecl associated with a message expression. This removes a
long-standing FIXME.
- Partial fix for <rdar://problem/6062730> by stop tracking objects that
are passed to [NSObject performSelector]. These methods are often used
for delegates, which the analyzer doesn't reason about well yet.
llvm-svn: 69982
|
|
|
|
|
|
| |
functionality change.
llvm-svn: 69936
|
|
|
|
| |
llvm-svn: 69929
|
|
|
|
|
|
| |
This was preventing the checker from tracking return objects referenced by 'id'.
llvm-svn: 69922
|
|
|
|
|
|
| |
object references as tracked objects.
llvm-svn: 69915
|
|
|
|
|
|
|
|
| |
extend the number of objects tracked by the retain/release checker by assuming
that all class and instance methods should follow Cocoa object "getter" and
"alloc/new" conventions.
llvm-svn: 69908
|
|
|
|
|
|
| |
get FunctionDecl with more general utility method.
llvm-svn: 69570
|