// RUN: %clang_cc1 -fblocks -fsyntax-only -fobjc-arc -x objective-c %s.result | |
// RUN: arcmt-test --args -triple x86_64-apple-darwin10 -fblocks -fsyntax-only -x objective-c %s > %t | |
// RUN: diff %t %s.result | |
#include "Common.h" | |
id IhaveSideEffect(); | |
@interface Foo : NSObject { | |
id bar; | |
} | |
@property (strong) id bar; | |
-(id)test:(id)obj; | |
-(id)something; | |
@end | |
#define Something_Macro(key, comment) \ | |
[[Foo new] something] | |
@implementation Foo | |
@synthesize bar; | |
-(id)something {} | |
-(id)test:(id)obj { | |
id x = self.bar; | |
self.bar = obj; | |
Something_Macro(@"foo", "@bar"); | |
IhaveSideEffect(); | |
[self something]; | |
[self something]; | |
IhaveSideEffect(); | |
// do stuff with x; | |
return self; | |
} | |
- (id)test1 { | |
id x=0; | |
return (((x))); | |
} | |
@end | |
id foo (Foo *p) { | |
p = p; | |
return (p); | |
} | |
void block_tests(Foo *p) { | |
id (^B)() = ^() { | |
if (p) { | |
id (^IB)() = ^() { | |
id bar = p; | |
return bar; | |
}; | |
IB(); | |
} | |
return p; | |
}; | |
} |