Added a footnote to the documentation for objc_storeStrong that makes it clear
authorMichael Gottesman <mgottesman@apple.com>
Fri, 22 Feb 2013 00:16:48 +0000 (00:16 +0000)
committerMichael Gottesman <mgottesman@apple.com>
Fri, 22 Feb 2013 00:16:48 +0000 (00:16 +0000)
that a __strong object of block type is a valid argument to objc_storeStrong but
that an objc_retain and not an objc_retainBlock will be emitted.

llvm-svn: 175838

clang/docs/AutomaticReferenceCounting.rst

index 385b51f..8993bc7 100644 (file)
@@ -2068,7 +2068,7 @@ adequately aligned for a pointer.  ``value`` is null or a pointer to a valid
 object.
 
 Performs the complete sequence for assigning to a ``__strong`` object of
-non-block type.  Equivalent to the following code:
+non-block type [*]_.  Equivalent to the following code:
 
 .. code-block:: objc
 
@@ -2082,6 +2082,11 @@ non-block type.  Equivalent to the following code:
 
 Always returns ``value``.
 
+.. [*] This does not imply that a ``__strong`` object of block type is an
+   invalid argument to this function. Rather it implies that an ``objc_retain``
+   and not an ``objc_retainBlock`` operation will be emitted if the argument is
+   a block.
+
 .. _arc.runtime.objc_storeWeak:
 
 ``id objc_storeWeak(id *object, id value);``