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