diff options
-rw-r--r-- | test/Analysis/MissingDealloc.m | 24 | ||||
-rw-r--r-- | test/Analysis/MissingDealloc_SEL.m | 30 |
2 files changed, 24 insertions, 30 deletions
diff --git a/test/Analysis/MissingDealloc.m b/test/Analysis/MissingDealloc.m index 1a3a408167..62a53047bc 100644 --- a/test/Analysis/MissingDealloc.m +++ b/test/Analysis/MissingDealloc.m @@ -3,8 +3,11 @@ typedef signed char BOOL; @protocol NSObject - (BOOL)isEqual:(id)object; @end @interface NSObject <NSObject> {} - (void)dealloc; +- (id)init; @end +typedef struct objc_selector *SEL; + // <rdar://problem/6380411>: 'myproperty' has kind 'assign' and thus the // assignment through the setter does not perform a release. @@ -21,3 +24,24 @@ typedef signed char BOOL; [super dealloc]; } @end + +//===------------------------------------------------------------------------=== +// Don't warn about iVars that are selectors. + +@interface TestSELs : NSObject { + SEL a; + SEL b; +} + +@end + +@implementation TestSELs // no-warning +- (id)init { + if( (self = [super init]) ) { + a = @selector(a); + b = @selector(b); + } + + return self; +} +@end diff --git a/test/Analysis/MissingDealloc_SEL.m b/test/Analysis/MissingDealloc_SEL.m deleted file mode 100644 index be3e0b7af8..0000000000 --- a/test/Analysis/MissingDealloc_SEL.m +++ /dev/null @@ -1,30 +0,0 @@ -// RUN: clang -warn-objc-missing-dealloc -verify %s - -typedef struct objc_selector *SEL; -typedef signed char BOOL; -typedef unsigned int NSUInteger; -typedef struct _NSZone NSZone; -@protocol NSObject -- (BOOL)isEqual:(id)object; -@end -@interface NSObject <NSObject> {} -- (id)init; -@end - -@interface TestSELs : NSObject { - SEL a; - SEL b; -} - -@end - -@implementation TestSELs // no-warning -- (id)init { - if( (self = [super init]) ) { - a = @selector(a); - b = @selector(b); - } - - return self; -} -@end |