blob: 38598b1b421071bfc45310b0de4b16fdab412a44 [file] [log] [blame]
Mike Stumpf33651c2009-04-14 00:57:29 +00001// RUN: clang-cc %s -emit-llvm -o %t -fobjc-gc -fblocks &&
2// RUN: grep "_Block_object_dispose" %t | count 4 &&
Mike Stumpc0c0ef02009-04-10 23:09:55 +00003// RUN: grep "__copy_helper_block_" %t | count 2 &&
4// RUN: grep "__destroy_helper_block_" %t | count 2 &&
Mike Stumpf33651c2009-04-14 00:57:29 +00005// RUN: grep "__Block_byref_id_object_copy_" %t | count 2 &&
6// RUN: grep "__Block_byref_id_object_dispose_" %t | count 2 &&
Mike Stumpc0c0ef02009-04-10 23:09:55 +00007// RUN: grep "i32 135)" %t | count 0 &&
Mike Stumpf33651c2009-04-14 00:57:29 +00008// RUN: grep "_Block_object_assign" %t | count 3 &&
9// RUN: grep "objc_read_weak" %t | count 2 &&
10// RUN: grep "objc_assign_weak" %t | count 2
Mike Stumpc0c0ef02009-04-10 23:09:55 +000011
12@interface NSDictionary @end
13
14void test1(NSDictionary * dict) {
15 ^{ (void)dict; }();
16}
Mike Stumpf33651c2009-04-14 00:57:29 +000017
18@interface D
19@end
20
21void foo() {
22 __block __weak D *weakSelf;
23 D *l;
24 l = weakSelf;
25 weakSelf = l;
26}