23 lines
		
	
	
		
			538 B
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			538 B
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
 | 
						|
 | 
						|
void *objc_autoreleasepool_push();
 | 
						|
void autoreleasepool_pop(void*);
 | 
						|
 | 
						|
@interface AUTORP @end
 | 
						|
 | 
						|
@implementation AUTORP
 | 
						|
- (void) unregisterTask:(id) task {
 | 
						|
  goto L;	// expected-error {{goto into protected scope}}
 | 
						|
 | 
						|
  @autoreleasepool { // expected-note {{jump bypasses auto release push of @autoreleasepool block}}
 | 
						|
        void *tmp = objc_autoreleasepool_push();
 | 
						|
        L:
 | 
						|
        autoreleasepool_pop(tmp);
 | 
						|
        @autoreleasepool {
 | 
						|
          return;
 | 
						|
        }
 | 
						|
  }
 | 
						|
}
 | 
						|
@end
 | 
						|
 |