]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/SemaObjC/autoreleasepool.m
Vendor import of clang RELEASE_360/rc1 tag r226102 (effectively, 3.6.0 RC1):
[FreeBSD/FreeBSD.git] / test / SemaObjC / autoreleasepool.m
1 // RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
2
3 void *objc_autoreleasepool_push();
4 void autoreleasepool_pop(void*);
5
6 @interface AUTORP @end
7
8 @implementation AUTORP
9 - (void) unregisterTask:(id) task {
10   goto L;       // expected-error {{cannot jump}}
11
12   @autoreleasepool { // expected-note {{jump bypasses auto release push of @autoreleasepool block}}
13         void *tmp = objc_autoreleasepool_push();
14         L:
15         autoreleasepool_pop(tmp);
16         @autoreleasepool {
17           return;
18         }
19   }
20 }
21 @end
22