commit | cd940a1e13e588a43973cd7ae33b5c33a3062739 | [log] [tgz] |
---|---|---|
author | John McCall <rjmccall@apple.com> | Mon Dec 06 06:10:02 2010 +0000 |
committer | John McCall <rjmccall@apple.com> | Mon Dec 06 06:10:02 2010 +0000 |
tree | 0e252caddabd8025cb89eae60011e4a67fb65a97 | |
parent | 01b2e4e3e2fbd60e62539f7e8e8b99575fa8a5b0 [diff] |
__block variables require us to evaluate the RHS of an assignment before the LHS, or else the pointer might be invalid. This is kindof dumb, but go ahead and make sure we're doing that for l-value scalar assignment, which fixes a miscompile of obj-c++.dg/block-seq.mm. Leave a FIXME for how to solve this problem for agg __blocks. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120992 91177308-0d34-0410-b5e6-96231b3b80d8