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