1f51a89d39
These were ignored by git accidentally. We want ALL OF THEM since they all came in the llvm/clang source distribution.
50 lines
909 B
Objective-C
50 lines
909 B
Objective-C
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -fobjc-arc -x objective-c %s.result
|
|
// RUN: arcmt-test --args -triple x86_64-apple-darwin10 -fsyntax-only -x objective-c %s > %t
|
|
// RUN: diff %t %s.result
|
|
// DISABLE: mingw32
|
|
|
|
typedef unsigned char BOOL;
|
|
|
|
@interface NSObject {
|
|
id isa;
|
|
}
|
|
+new;
|
|
+alloc;
|
|
-init;
|
|
-autorelease;
|
|
@end
|
|
|
|
@interface NSAutoreleasePool : NSObject
|
|
- drain;
|
|
@end
|
|
|
|
@interface A : NSObject {
|
|
@package
|
|
id object;
|
|
}
|
|
@end
|
|
|
|
@interface B : NSObject
|
|
- (BOOL)containsSelf:(A*)a;
|
|
@end
|
|
|
|
@implementation A
|
|
@end
|
|
|
|
@implementation B
|
|
- (BOOL)containsSelf:(A*)a {
|
|
return a->object == self;
|
|
}
|
|
@end
|
|
|
|
void NSLog(id, ...);
|
|
|
|
int main (int argc, const char * argv[]) {
|
|
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
|
|
A *a = [[A new] autorelease];
|
|
B *b = [[B new] autorelease];
|
|
NSLog(@"%s", [b containsSelf:a] ? "YES" : "NO");
|
|
[pool drain];
|
|
return 0;
|
|
}
|