blob: 28374cd16d78be77db54e1550db74b67c0db74b1 [file] [log] [blame]
Galina Kistanova0ccb31c2011-06-03 22:24:54 +00001// REQUIRES: x86-64-registered-target
Nick Lewycky98a92032011-10-27 07:11:43 +00002// RUN: %clang_cc1 -emit-llvm -fblocks -g -triple x86_64-apple-darwin10 -fobjc-fragile-abi %s -o - | FileCheck %s
Devang Patel58dc5ca2011-05-02 20:37:08 +00003extern void foo(void(^)(void));
4
Eric Christopherea320472012-04-03 00:44:15 +00005// CHECK: !40 = metadata !{i32 {{.*}}, i32 0, metadata !25, metadata !"__destroy_helper_block_", metadata !"__destroy_helper_block_", metadata !"", metadata !25, i32 24, metadata !41, i1 true, i1 true, i32 0, i32 0, null, i32 256, i1 false, void (i8*)* @__destroy_helper_block_, null, null, metadata !43, i32 24} ; [ DW_TAG_subprogram ]
Devang Patel58dc5ca2011-05-02 20:37:08 +00006
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
29void foo(void(^x)(void)) {}
30