diff options
| author | John McCall <rjmccall@apple.com> | 2011-02-18 02:58:31 +0000 |
|---|---|---|
| committer | John McCall <rjmccall@apple.com> | 2011-02-18 02:58:31 +0000 |
| commit | a9a2e8a58db182b56362240790ffa5887f7f32bf (patch) | |
| tree | 416a1864237eb138ffbd29f2bf8ccbe875f55095 /clang/test/CodeGenObjC/blocks-2.m | |
| parent | e10f36db2f32987562079c83b2e1b66e7575258c (diff) | |
| download | bcm5719-llvm-a9a2e8a58db182b56362240790ffa5887f7f32bf.tar.gz bcm5719-llvm-a9a2e8a58db182b56362240790ffa5887f7f32bf.zip | |
The flags we're supposed to write into a byref struct are *not* the
_Block_object_* flags; it's just BLOCK_HAS_COPY_DISPOSE or not.
Also, we don't need to chase forwarding pointers prior to calling
_Block_object_dispose; _Block_object_dispose in fact already does
this.
rdar://problem/9006315
llvm-svn: 125823
Diffstat (limited to 'clang/test/CodeGenObjC/blocks-2.m')
| -rw-r--r-- | clang/test/CodeGenObjC/blocks-2.m | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/clang/test/CodeGenObjC/blocks-2.m b/clang/test/CodeGenObjC/blocks-2.m index 8754ff7c3f4..38b86356099 100644 --- a/clang/test/CodeGenObjC/blocks-2.m +++ b/clang/test/CodeGenObjC/blocks-2.m @@ -26,16 +26,12 @@ void test1() { // CHECK: invoke void @{{.*}}test1_help test1_help(^{ n = 20; }); - // CHECK: [[FORWARDING:%.*]] = getelementptr inbounds [[N_T]]* [[N]], i32 0, i32 1 - // CHECK-NEXT: [[T0:%.*]] = load [[N_T]]** [[FORWARDING]] - // CHECK-NEXT: [[T1:%.*]] = bitcast [[N_T]]* [[T0]] to i8* + // CHECK: [[T1:%.*]] = bitcast [[N_T]]* [[N]] to i8* // CHECK-NEXT: call void @_Block_object_dispose(i8* [[T1]], i32 8) // CHECK-NEXT: ret void // CHECK: call i8* @llvm.eh.exception() - // CHECK: [[FORWARDING:%.*]] = getelementptr inbounds [[N_T]]* [[N]], i32 0, i32 1 - // CHECK-NEXT: [[T0:%.*]] = load [[N_T]]** [[FORWARDING]] - // CHECK-NEXT: [[T1:%.*]] = bitcast [[N_T]]* [[T0]] to i8* + // CHECK: [[T1:%.*]] = bitcast [[N_T]]* [[N]] to i8* // CHECK-NEXT: call void @_Block_object_dispose(i8* [[T1]], i32 8) // CHECK: call void @_Unwind_Resume_or_Rethrow( } |

