blob: 4f7b554f4547a9cf1cc3b7e3f944ce2da6f0a890 [file] [log] [blame]
Fariborz Jahanian263c4de2010-02-10 23:34:57 +00001// RUN: %clang_cc1 -fblocks -fobjc-gc -triple x86_64-apple-darwin -S %s -o %t-64.s
2// RUN: FileCheck -check-prefix LP64 --input-file=%t-64.s %s
3// RUN: %clang_cc1 -fblocks -fobjc-gc -triple i386-apple-darwin -S %s -o %t-32.s
4// RUN: FileCheck -check-prefix LP32 --input-file=%t-32.s %s
5
6@interface MyView
7- (void)MyView_sharedInit;
8@end
9
10void foo(MyView *(^obj)(void)) ;
11
12@implementation MyView
13- (void)MyView_sharedInit {
14
15 __block __weak MyView *weakSelf = self;
16 foo(
17 ^{
18 return weakSelf;
19 });
20
21}
22@end
23
24// CHECK-LP64: callq _objc_read_weak
25// CHECK-LP64: callq _objc_read_weak
26
Chris Lattner398e6b92010-09-22 06:09:31 +000027// CHECK-LP32: calll L_objc_read_weak
28// CHECK-LP32: calll L_objc_read_weak
Fariborz Jahanian263c4de2010-02-10 23:34:57 +000029