xref: /llvm-project/clang/test/CodeGenObjC/objc-read-weak-byref.m (revision 9466b49171dc4b21f56a48594fc82b1e52f5358a)
1// RUN: %clang_cc1 -fblocks -fobjc-gc -triple x86_64-apple-darwin -fobjc-runtime=macosx-fragile-10.5 -emit-llvm %s -o - | \
2// RUN: FileCheck %s
3// RUN: %clang_cc1 -fblocks -fobjc-gc -triple i386-apple-darwin -fobjc-runtime=macosx-fragile-10.5 -emit-llvm %s -o - | \
4// RUN: FileCheck %s
5
6@interface NSObject
7- copy;
8@end
9
10int main(void) {
11    NSObject *object = 0;
12    __weak __block NSObject* weak_object = object;
13    void (^callback) (void) = [^{
14        if (weak_object)
15                [weak_object copy];
16    } copy];
17    callback();
18    return 0;
19}
20
21// CHECK: call ptr @objc_read_weak
22// CHECK: call ptr @objc_read_weak
23