]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/SemaObjC/ivar-access-package.m
Update clang to r89205.
[FreeBSD/FreeBSD.git] / test / SemaObjC / ivar-access-package.m
1 // RUN: clang-cc -fsyntax-only -verify %s
2
3 typedef 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
37 int main (int argc, const char * argv[]) {
38     NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
39     A *a = [[A new] autorelease];
40     B *b = [[B new] autorelease];
41     NSLog(@"%s", [b containsSelf:a] ? "YES" : "NO");
42     [pool drain];
43     return 0;
44 }
45