| /* APPLE LOCAL file radar 5988451 */ |
| /* { dg-options "-mmacosx-version-min=10.5 -ObjC++ -fblocks" { target *-*-darwin* } } */ |
| /* { dg-do compile } */ |
| |
| #import <Cocoa/Cocoa.h> |
| typedef struct dispatch_queue_s *dispatch_queue_t; |
| typedef struct dispatch_item_s *dispatch_item_t; |
| |
| typedef void (^dispatch_legacy_block_t)(dispatch_item_t item); |
| |
| void my_dispatch_call(dispatch_queue_t queue, |
| dispatch_legacy_block_t work, |
| dispatch_legacy_block_t completion); |
| |
| void dispatch_apply_wait(dispatch_legacy_block_t work, |
| unsigned iterations, |
| void *context); |
| |
| |
| |
| @interface TestController : NSObject { |
| |
| } |
| |
| -(IBAction) test:(id)sender; |
| |
| @end |
| |
| @implementation TestController |
| |
| -(IBAction)test:(id)sender |
| { |
| dispatch_queue_t queue; |
| |
| my_dispatch_call(queue, |
| ^(dispatch_item_t item) { |
| dispatch_apply_wait(^(dispatch_item_t item) { |
| [NSValue valueWithPointer:self]; |
| }, |
| 10,NULL); |
| }, |
| ^(dispatch_item_t item) {NSLog(@"test");}); |
| } |
| |
| |
| @end |