blob: 286a8e715e0d3f1aabe8a28c7c6690b8c9b41a04 [file] [log] [blame]
John McCalld1e40d52011-10-02 01:16:38 +00001// 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
John McCall8f0e8d22011-06-15 23:25:17 +00003// 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 {
Argyrios Kyrtzidise0e40762011-07-14 21:26:49 +000016 [[x retain] release];
John McCall8f0e8d22011-06-15 23:25:17 +000017 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