Galina Kistanova | 0ccb31c | 2011-06-03 22:24:54 +0000 | [diff] [blame] | 1 | // REQUIRES: x86-64-registered-target |
John McCall | 260611a | 2012-06-20 06:18:46 +0000 | [diff] [blame] | 2 | // RUN: %clang_cc1 -emit-llvm -fblocks -g -triple x86_64-apple-darwin10 -fobjc-runtime=macosx-fragile-10.5 %s -o - | FileCheck %s |
Devang Patel | 58dc5ca | 2011-05-02 20:37:08 +0000 | [diff] [blame] | 3 | extern void foo(void(^)(void)); |
4 | |||||
Eric Christopher | 87380aa | 2012-04-23 19:00:24 +0000 | [diff] [blame] | 5 | // CHECK: metadata !{i32 786478, i32 0, metadata !27, metadata !"__destroy_helper_block_", metadata !"__destroy_helper_block_", metadata !"", metadata !27, i32 24, metadata !37, i1 true, i1 true, i32 0, i32 0, null, i32 0, i1 false, void (i8*)* @__destroy_helper_block_, null, null, metadata !5, i32 24} ; [ DW_TAG_subprogram ] |
Devang Patel | 58dc5ca | 2011-05-02 20:37:08 +0000 | [diff] [blame] | 6 | |
7 | @interface NSObject { | ||||
8 | struct objc_object *isa; | ||||
9 | } | ||||
10 | @end | ||||
11 | |||||
12 | @interface A:NSObject @end | ||||
13 | @implementation A | ||||
14 | - (void) helper { | ||||
15 | int master = 0; | ||||
16 | __block int m2 = 0; | ||||
17 | __block int dbTransaction = 0; | ||||
18 | int (^x)(void) = ^(void) { (void) self; | ||||
19 | (void) master; | ||||
20 | (void) dbTransaction; | ||||
21 | m2++; | ||||
22 | return m2; | ||||
23 | |||||
24 | }; | ||||
25 | master = x(); | ||||
26 | } | ||||
27 | @end | ||||
28 | |||||
29 | void foo(void(^x)(void)) {} | ||||
30 |