summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/Analysis/CFRefCount.cpp10
-rw-r--r--clang/test/Analysis/NSPanel.m2
2 files changed, 9 insertions, 3 deletions
diff --git a/clang/lib/Analysis/CFRefCount.cpp b/clang/lib/Analysis/CFRefCount.cpp
index 95df6b4c1c3..4473dbf0869 100644
--- a/clang/lib/Analysis/CFRefCount.cpp
+++ b/clang/lib/Analysis/CFRefCount.cpp
@@ -1184,8 +1184,10 @@ void RetainSummaryManager::InitializeMethodSummaries() {
// 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()));
+ RetainSummary *NoTrackYet = getPersistentSummary(RetEffect::MakeNoRet());
+
+ addClassMethSummary("NSWindow", "alloc", NoTrackYet);
+
#if 0
RetainSummary *NSWindowSumm =
@@ -1200,6 +1202,10 @@ void RetainSummaryManager::InitializeMethodSummaries() {
// For NSPanel (which subclasses NSWindow), allocated objects are not
// self-owned.
+ // FIXME: For now we don't track NSPanels. object for the same reason
+ // as for NSWindow objects.
+ addClassMethSummary("NSPanel", "alloc", NoTrackYet);
+
addInstMethSummary("NSPanel", InitSumm, "initWithContentRect",
"styleMask", "backing", "defer", NULL);
diff --git a/clang/test/Analysis/NSPanel.m b/clang/test/Analysis/NSPanel.m
index 8f8f5626b3f..c4d4c22540f 100644
--- a/clang/test/Analysis/NSPanel.m
+++ b/clang/test/Analysis/NSPanel.m
@@ -82,7 +82,7 @@ extern NSString *NSWindowDidBecomeKeyNotification;
}
- (void)myMethod2
{
- NSPanel *panel = [[NSPanel alloc] initWithContentRect:NSMakeRect(0, 0, 200, 200) styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:(BOOL)1]; // expected-warning{{leak}}
+ NSPanel *panel = [[NSPanel alloc] initWithContentRect:NSMakeRect(0, 0, 200, 200) styleMask:NSBorderlessWindowMask backing:NSBackingStoreBuffered defer:(BOOL)1]; // no-warning
[panels addObject:panel];
}
OpenPOWER on IntegriCloud