[clang] Handle __declspec() attributes in using
[llvm-project.git] / clang / test / ARCMT / atautorelease-3.m
blob87b80af9350eb0274452d0f38d6a5386994bf1f9
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
5 @interface NSAutoreleasePool
6 - drain;
7 +new;
8 +alloc;
9 -init;
10 -autorelease;
11 - release;
12 @end
14 void NSLog(id, ...);
16 void test1(int x) {
17   // All this stuff get removed since nothing is happening inside.
18   NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
19   NSAutoreleasePool *chunkPool = [[NSAutoreleasePool alloc] init];
20   while (x) {
21     chunkPool = [[NSAutoreleasePool alloc] init];
22     [chunkPool release];
23   }
25   [chunkPool drain];
26   [pool drain];
29 void test2(int x) {
30   NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
31   NSAutoreleasePool *chunkPool = [[NSAutoreleasePool alloc] init];
32   while (x) {
33     chunkPool = [[NSAutoreleasePool alloc] init];
34     ++x;
35     [chunkPool release];
36   }
38   [chunkPool drain];
39   [pool drain];