1 // REQUIRES: x86-registered-target 2 // RUN: %clang_cc1 -std=c89 -triple i386-apple-darwin10 -fblocks -debug-info-kind=limited -S %s -o - 3 4 typedef struct dispatch_queue_s *dispatch_queue_t; 5 __attribute__((visibility("default"))) 6 extern struct dispatch_queue_s _dispatch_main_q; 7 typedef struct dispatch_item_s *dispatch_item_t; 8 typedef void (^dispatch_legacy_block_t)(dispatch_item_t); 9 void LEGACY_dispatch_call(dispatch_queue_t dq, 10 dispatch_legacy_block_t dispatch_block, 11 dispatch_legacy_block_t callback_block) { 12 dispatch_queue_t lq = _dispatch_queue_get_current() ?: (&_dispatch_main_q); 13 dispatch_async(dq, ^{ 14 if (callback_block) { 15 dispatch_async(lq, ^{ 16 } 17 ); 18 } 19 } 20 ); 21 } 22 23 typedef struct P { 24 int x; 25 } PS; 26 # 1 "" 27 void foo(void) { 28 PS p2; 29 } 30