diff options
Diffstat (limited to 'clang/test/CodeGen/debug-info-crash.c')
-rw-r--r-- | clang/test/CodeGen/debug-info-crash.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/clang/test/CodeGen/debug-info-crash.c b/clang/test/CodeGen/debug-info-crash.c new file mode 100644 index 0000000..f04548b --- /dev/null +++ b/clang/test/CodeGen/debug-info-crash.c @@ -0,0 +1,31 @@ +// REQUIRES: x86-registered-target +// RUN: %clang_cc1 -triple i386-apple-darwin10 -fblocks -g -S %s -o - + +// rdar://7590323 +typedef struct dispatch_queue_s *dispatch_queue_t; +__attribute__((visibility("default"))) +extern struct dispatch_queue_s _dispatch_main_q; +typedef struct dispatch_item_s *dispatch_item_t; +typedef void (^dispatch_legacy_block_t)(dispatch_item_t); +dispatch_item_t LEGACY_dispatch_call(dispatch_queue_t dq, + dispatch_legacy_block_t dispatch_block, + dispatch_legacy_block_t callback_block) { + dispatch_queue_t lq = _dispatch_queue_get_current() ?: (&_dispatch_main_q); + dispatch_async(dq, ^{ + if (callback_block) { + dispatch_async(lq, ^{ + } + ); + } + } + ); +} + +// radar://9008853 +typedef struct P { + int x; +} PS; +# 1 "" +void foo() { + PS p2; +} |