diff options
Diffstat (limited to 'test/Analysis/unused-ivars.m')
-rw-r--r-- | test/Analysis/unused-ivars.m | 131 |
1 files changed, 0 insertions, 131 deletions
diff --git a/test/Analysis/unused-ivars.m b/test/Analysis/unused-ivars.m deleted file mode 100644 index 8f12d9b18a7d..000000000000 --- a/test/Analysis/unused-ivars.m +++ /dev/null @@ -1,131 +0,0 @@ -// RUN: %clang_analyze_cc1 -fblocks -analyzer-checker=osx.cocoa.UnusedIvars -verify -Wno-objc-root-class %s - -//===--- BEGIN: Delta-debugging reduced headers. --------------------------===// - -@protocol NSObject -- (id)retain; -- (oneway void)release; -@end -@interface NSObject <NSObject> {} -- (id)init; -+ (id)alloc; -@end - -//===--- END: Delta-debugging reduced headers. ----------------------------===// - -// This test case tests the basic functionality of the unused ivar test. -@interface TestA { -@private - int x; // expected-warning {{Instance variable 'x' in class 'TestA' is never used}} -} -@end -@implementation TestA @end - -// This test case tests whether the unused ivar check handles blocks that -// reference an instance variable. (<rdar://problem/7075531>) -@interface TestB : NSObject { -@private - id _ivar; // no-warning -} -@property (readwrite,retain) id ivar; -@end - -@implementation TestB -- (id)ivar { - __attribute__((__blocks__(byref))) id value = ((void*)0); - void (^b)() = ^{ value = _ivar; }; - b(); - return value; -} - -- (void)setIvar:(id)newValue { - void (^b)() = ^{ [_ivar release]; _ivar = [newValue retain]; }; - b(); -} -@end - -//===----------------------------------------------------------------------===// -// <rdar://problem/6260004> Detect that ivar is in use, if used in category -// in the same file as the implementation -//===----------------------------------------------------------------------===// - -@protocol Protocol6260004 -- (id) getId; -@end - -@interface RDar6260004 { -@private - id x; // no-warning -} -@end -@implementation RDar6260004 @end -@implementation RDar6260004 (Protocol6260004) -- (id) getId { - return x; -} -@end - -//===----------------------------------------------------------------------===// -// <rdar://problem/7254495> - ivars referenced by lexically nested functions -// should not be flagged as unused -//===----------------------------------------------------------------------===// - -@interface RDar7254495 { -@private - int x; // no-warning -} -@end - -@implementation RDar7254495 -int radar_7254495(RDar7254495 *a) { - return a->x; -} -@end - -//===----------------------------------------------------------------------===// -// <rdar://problem/7353683> - consult attribute((unused)) to silence warnings -// about unused instance variables -//===----------------------------------------------------------------------===// - -@interface RDar7353683 { -@private - id x __attribute__((unused)); -} -@end - -@implementation RDar7353683 -@end -//===----------------------------------------------------------------------===// -// <rdar://problem/8481311> Unused bitfield ivars trigger cause weird -// diagnostic: "Instance variable '' in class..." -//===----------------------------------------------------------------------===// - -@interface RDar8481311 { -@private - unsigned bitfield:1; // expected-warning {{Instance variable 'bitfield' in class 'RDar8481311' is never used}} -} -@end - -@implementation RDar8481311 -@end - -@class NSString; -@interface Radar11059352_1 { -@private - NSString *_pathString; -} -@property (readonly, strong) NSString *pathString; -@end - -@interface Radar11059352 { -@private -Radar11059352_1 *_workspacePath; -} -@end - -@implementation Radar11059352 - -- (void)useWorkspace { - NSString *workspacePathString = _workspacePath.pathString; -} -@end
\ No newline at end of file |