1 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -fobjc-arc -x objective-c %s.result 2 // RUN: arcmt-test --args -triple x86_64-apple-darwin10 -fsyntax-only -x objective-c %s > %t 3 // RUN: diff %t %s.result 4 5 #include "Common.h" 6 7 @interface myController : NSObject 8 -(id)test:(id)x; 9 @end 10 11 #define MY_MACRO1(x) 12 #define MY_MACRO2(x) (void)x 13 14 @implementation myController 15 -(id) test:(id) x { 16 [[x retain] release]; 17 return [[x retain] autorelease]; 18 } 19 20 -(void)dealloc 21 { 22 id array, array_already_empty; 23 for (id element in array_already_empty) { 24 } 25 26 [array release]; 27 ; 28 29 int b, b_array_already_empty; 30 if (b) 31 [array release]; 32 if (b_array_already_empty) ; 33 34 if (b) { 35 [array release]; 36 } 37 if (b_array_already_empty) { 38 } 39 40 if (b) 41 MY_MACRO1(array); 42 if (b) 43 MY_MACRO2(array); 44 } 45 @end 46