blob: ff5ff4e68aec1cb2746751a86afa8f057b123f2b [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 -fsyntax-only -verify %s
Andy Gibbs8e8fb3b2012-10-19 12:44:48 +00002// expected-no-diagnostics
Steve Naroff8bfd1b82009-03-26 16:01:08 +00003
4typedef unsigned char BOOL;
5
6@interface NSObject {
7 id isa;
8}
9+new;
10+alloc;
11-init;
12-autorelease;
13@end
14
15@interface NSAutoreleasePool : NSObject
16- drain;
17@end
18
19@interface A : NSObject {
20@package
21 id object;
22}
23@end
24
25@interface B : NSObject
26- (BOOL)containsSelf:(A*)a;
27@end
28
29@implementation A
30@end
31
32@implementation B
33- (BOOL)containsSelf:(A*)a {
34 return a->object == self;
35}
36@end
37
Chris Lattnere0303582010-01-09 20:43:19 +000038void NSLog(id, ...);
39
Steve Naroff8bfd1b82009-03-26 16:01:08 +000040int main (int argc, const char * argv[]) {
41 NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
42 A *a = [[A new] autorelease];
43 B *b = [[B new] autorelease];
44 NSLog(@"%s", [b containsSelf:a] ? "YES" : "NO");
45 [pool drain];
46 return 0;
47}
48