23 lines
		
	
	
		
			524 B
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			524 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 {{cannot jump}}
 | |
| 
 | |
|   @autoreleasepool { // expected-note {{jump bypasses auto release push of @autoreleasepool block}}
 | |
|         void *tmp = objc_autoreleasepool_push();
 | |
|         L:
 | |
|         autoreleasepool_pop(tmp);
 | |
|         @autoreleasepool {
 | |
|           return;
 | |
|         }
 | |
|   }
 | |
| }
 | |
| @end
 | |
| 
 |