Added a footnote to the documentation for objc_storeStrong that makes it clear
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
diff --git a/clang/docs/AutomaticReferenceCounting.rst b/clang/docs/AutomaticReferenceCounting.rst
index 385b51f..8993bc7 100644
--- a/clang/docs/AutomaticReferenceCounting.rst
+++ b/clang/docs/AutomaticReferenceCounting.rst
@@ -2068,7 +2068,7 @@
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 @@
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);``