1 // RUN: %clang_cc1 -fobjc-exceptions -fblocks -fsyntax-only -fobjc-arc -x objective-c %s.result
2 // RUN: arcmt-test --args -triple x86_64-apple-darwin10 -fobjc-exceptions -fblocks -fsyntax-only -x objective-c %s > %t
3 // RUN: diff %t %s.result
9 id IhaveSideEffect(void);
12 - (BOOL)isEqual:(id)object;
14 - (oneway void)release;
17 @interface NSObject <NSObject> {}
20 @interface Foo : NSObject {
23 @property (retain) id bar;
38 [IhaveSideEffect() release];
66 void block_test(Foo *p) {
67 id (^B)(void) = ^(void) {
69 id (^IB)(void) = ^(void) {
80 #define RELEASE_MACRO(x) [x release]
81 #define RELEASE_MACRO2(x) RELEASE_MACRO(x)
90 static id internal_var = 0;
92 + (void)setIt:(id)newone {
93 if (internal_var != newone) {
94 [internal_var release];
95 internal_var = [newone retain];