xref: /minix3/external/bsd/llvm/dist/clang/test/SemaObjC/autoreleasepool.m (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
2
3void *objc_autoreleasepool_push();
4void 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
23