2011-10-02 09:16:38 +08:00
|
|
|
// 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
|
2011-06-16 07:25:17 +08:00
|
|
|
// RUN: diff %t %s.result
|
2012-01-12 10:34:32 +08:00
|
|
|
// DISABLE: mingw32
|
2011-06-16 07:25:17 +08:00
|
|
|
|
|
|
|
#include "Common.h"
|
|
|
|
|
|
|
|
void NSLog(id, ...);
|
|
|
|
|
|
|
|
int main (int argc, const char * argv[]) {
|
|
|
|
|
|
|
|
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
|
|
|
|
|
|
|
|
if (argc) {
|
|
|
|
NSAutoreleasePool * pool = [NSAutoreleasePool new];
|
|
|
|
NSLog(@"%s", "YES");
|
|
|
|
[pool drain];
|
|
|
|
}
|
|
|
|
[pool drain];
|
|
|
|
|
|
|
|
NSAutoreleasePool * pool1 = [[NSAutoreleasePool alloc] init];
|
|
|
|
NSLog(@"%s", "YES");
|
|
|
|
[pool1 release];
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
void f(void) {
|
|
|
|
NSAutoreleasePool *pool1;
|
|
|
|
|
|
|
|
pool1 = [NSAutoreleasePool new];
|
|
|
|
int x = 4;
|
|
|
|
|
|
|
|
NSAutoreleasePool *pool2 = [[NSAutoreleasePool alloc] init];
|
|
|
|
++x;
|
|
|
|
[pool2 drain];
|
|
|
|
|
|
|
|
[pool1 release];
|
|
|
|
}
|
|
|
|
|
|
|
|
int UIApplicationMain(int argc, char *argv[]);
|
|
|
|
|
|
|
|
int main2(int argc, char *argv[]) {
|
|
|
|
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
|
|
|
|
int result = UIApplicationMain(argc, argv);
|
|
|
|
[pool release];
|
|
|
|
return result;
|
|
|
|
}
|
2011-07-27 13:28:18 +08:00
|
|
|
|
|
|
|
@interface Foo : NSObject
|
|
|
|
@property (assign) id myProp;
|
|
|
|
@end
|
|
|
|
|
|
|
|
@implementation Foo
|
|
|
|
@synthesize myProp;
|
|
|
|
|
|
|
|
-(void)test:(id)p {
|
|
|
|
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
|
|
|
|
[pool drain];
|
|
|
|
self.myProp = p;
|
|
|
|
}
|
|
|
|
@end
|