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 | |
10 | int main() { |
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 i8* @objc_read_weak |
22 | // CHECK: call i8* @objc_read_weak |
23 | |