• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)10 dispatch_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()29 void foo() {
30   PS p2;
31 }
32