forked from OSchip/llvm-project
For now, do not track NSWindow objects and it's subclasses.
llvm-svn: 66107
This commit is contained in:
parent
458b6982d4
commit
00dfe30409
|
@ -645,6 +645,13 @@ private:
|
|||
void addNSObjectMethSummary(Selector S, RetainSummary *Summ) {
|
||||
ObjCMethodSummaries[S] = Summ;
|
||||
}
|
||||
|
||||
void addClassMethSummary(const char* Cls, const char* nullaryName,
|
||||
RetainSummary *Summ) {
|
||||
IdentifierInfo* ClsII = &Ctx.Idents.get(Cls);
|
||||
Selector S = GetNullarySelector(nullaryName, Ctx);
|
||||
ObjCClassMethodSummaries[ObjCSummaryKey(ClsII, S)] = Summ;
|
||||
}
|
||||
|
||||
void addInstMethSummary(const char* Cls, const char* nullaryName,
|
||||
RetainSummary *Summ) {
|
||||
|
@ -1150,6 +1157,11 @@ void RetainSummaryManager::InitializeMethodSummaries() {
|
|||
// self-own themselves. However, they only do this once they are displayed.
|
||||
// Thus, we need to track an NSWindow's display status.
|
||||
// This is tracked in <rdar://problem/6062711>.
|
||||
// See also http://llvm.org/bugs/show_bug.cgi?id=3714.
|
||||
addClassMethSummary("NSWindow", "alloc",
|
||||
getPersistentSummary(RetEffect::MakeNoRet()));
|
||||
|
||||
#if 0
|
||||
RetainSummary *NSWindowSumm =
|
||||
getPersistentSummary(RetEffect::MakeReceiverAlias(), StopTracking);
|
||||
|
||||
|
@ -1158,6 +1170,7 @@ void RetainSummaryManager::InitializeMethodSummaries() {
|
|||
|
||||
addInstMethSummary("NSWindow", NSWindowSumm, "initWithContentRect",
|
||||
"styleMask", "backing", "defer", "screen", NULL);
|
||||
#endif
|
||||
|
||||
// For NSPanel (which subclasses NSWindow), allocated objects are not
|
||||
// self-owned.
|
||||
|
|
|
@ -84,5 +84,6 @@ void f2b() {
|
|||
|
||||
|
||||
void f3() {
|
||||
NSWindow *window = [NSWindow alloc]; // expected-warning{{never read}} expected-warning{{leak}}
|
||||
// FIXME: For now we don't track NSWindow.
|
||||
NSWindow *window = [NSWindow alloc]; // expected-warning{{never read}}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue