summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2012-03-30 05:23:48 +0000
committerJohn McCall <rjmccall@apple.com>2012-03-30 05:23:48 +0000
commit100c6491c99e92f6b6e9551d0b0cfe3d65eb306b (patch)
treec7d29f068f59880c7b0991d83969071d71776189 /docs
parent5629646711d9c748feb1043a7df2d5ca7d1bdfc4 (diff)
Forbid the block and lambda copy-capture of __autoreleasing variables
in ARC, under the usual reasoning limiting the use of __autoreleasing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153725 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r--docs/AutomaticReferenceCounting.html4
1 files changed, 3 insertions, 1 deletions
diff --git a/docs/AutomaticReferenceCounting.html b/docs/AutomaticReferenceCounting.html
index ff65f3be48..1416df58e4 100644
--- a/docs/AutomaticReferenceCounting.html
+++ b/docs/AutomaticReferenceCounting.html
@@ -1006,7 +1006,9 @@ operation has a weak-unavailable type.</p>
<h1>Storage duration of <tt>__autoreleasing</tt> objects</h1>
<p>A program is ill-formed if it declares an <tt>__autoreleasing</tt>
-object of non-automatic storage duration.</p>
+object of non-automatic storage duration. A program is ill-formed
+if it captures an <tt>__autoreleasing</tt> object in a block or,
+unless by reference, in a C++11 lambda.</p>
<div class="rationale"><p>Rationale: autorelease pools are tied to the
current thread and scope by their nature. While it is possible to