[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / CodeGenObjC / objc2-weak-block-call.m
blob8519b13a5eacff168c067a9f105ba635e74631d7
1 // RUN: %clang_cc1 -fblocks -fobjc-gc -triple x86_64-apple-darwin -fobjc-runtime=macosx-fragile-10.5 -emit-llvm %s -o - | FileCheck -check-prefix CHECK-LP64 %s
2 // RUN: %clang_cc1 -fblocks -fobjc-gc -triple i386-apple-darwin -fobjc-runtime=macosx-fragile-10.5 -emit-llvm %s -o - | FileCheck -check-prefix CHECK-LP32 %s
4 @interface MyView
5 - (void)MyView_sharedInit;
6 @end
8 void foo(MyView *(^obj)(void)) ;
10 @implementation MyView
11 - (void)MyView_sharedInit {
12     
13     __block __weak MyView *weakSelf = self;
14     foo(
15     ^{
16         return weakSelf;
17     });
20 @end
22 // CHECK-LP64: call ptr @objc_read_weak
23 // CHECK-LP32: call ptr @objc_read_weak