From 3ae54b2f4100886dfca35355c04482fe5d1a8053 Mon Sep 17 00:00:00 2001 From: Michael Gottesman Date: Fri, 22 Feb 2013 00:16:48 +0000 Subject: [PATCH] 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 --- clang/docs/AutomaticReferenceCounting.rst | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/clang/docs/AutomaticReferenceCounting.rst b/clang/docs/AutomaticReferenceCounting.rst index 385b51fb1922..8993bc7b6b17 100644 --- a/clang/docs/AutomaticReferenceCounting.rst +++ b/clang/docs/AutomaticReferenceCounting.rst @@ -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);``