The flags we're supposed to write into a byref struct are *not* the
commitb79274c2f9e7403d7e257ac98b663550b63023b3
authorJohn McCall <rjmccall@apple.com>
Fri, 18 Feb 2011 02:58:31 +0000 (18 02:58 +0000)
committerJohn McCall <rjmccall@apple.com>
Fri, 18 Feb 2011 02:58:31 +0000 (18 02:58 +0000)
tree4f69ecb9ac890652811517653db350a93dcc24c2
parent76a11f8abd26c4c3d5f90f201962122b7b6d3e84
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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125823 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGDecl.cpp
test/CodeGenObjC/blocks-2.m
test/CodeGenObjC/blocks.m