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