r243048 - Add documentation for the objc_boxable attribute
John McCall
rjmccall at apple.com
Thu Jul 23 22:02:11 PDT 2015
> On Jul 23, 2015, at 10:01 PM, AlexDenisov <1101.debian at gmail.com> wrote:
> Added a bit more documentation for objc_boxable.
> Could you, please, check it in the release_37?
This is fine by me, but I think technically you might need Richard’s approval.
John.
>
>> On 23 Jul 2015, at 23:53, Alex Denisov <1101.debian at gmail.com> wrote:
>>
>> Author: alexdenisov
>> Date: Thu Jul 23 16:53:13 2015
>> New Revision: 243048
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=243048&view=rev
>> Log:
>> Add documentation for the objc_boxable attribute
>>
>> Modified:
>> cfe/trunk/include/clang/Basic/Attr.td
>> cfe/trunk/include/clang/Basic/AttrDocs.td
>>
>> Modified: cfe/trunk/include/clang/Basic/Attr.td
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Attr.td?rev=243048&r1=243047&r2=243048&view=diff
>> ==============================================================================
>> --- cfe/trunk/include/clang/Basic/Attr.td (original)
>> +++ cfe/trunk/include/clang/Basic/Attr.td Thu Jul 23 16:53:13 2015
>> @@ -1143,7 +1143,7 @@ def ObjCRuntimeName : Attr {
>> def ObjCBoxable : Attr {
>> let Spellings = [GNU<"objc_boxable">];
>> let Subjects = SubjectList<[Record], ErrorDiag, "ExpectedStructOrUnion">;
>> - let Documentation = [Undocumented];
>> + let Documentation = [ObjCBoxableDocs];
>> }
>>
>> def OptimizeNone : InheritableAttr {
>>
>> Modified: cfe/trunk/include/clang/Basic/AttrDocs.td
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/AttrDocs.td?rev=243048&r1=243047&r2=243048&view=diff
>> ==============================================================================
>> --- cfe/trunk/include/clang/Basic/AttrDocs.td (original)
>> +++ cfe/trunk/include/clang/Basic/AttrDocs.td Thu Jul 23 16:53:13 2015
>> @@ -492,6 +492,34 @@ can only be placed before an @protocol o
>> }];
>> }
>>
>> +def ObjCBoxableDocs : Documentation {
>> + let Category = DocCatFunction;
>> + let Content = [{
>> +Structs and unions marked with the ``objc_boxable`` attribute can be used
>> +with the Objective-C boxed expression syntax, ``@(...)``.
>> +
>> +**Usage**: ``__attribute__((objc_boxable))``. This attribute
>> +can only be placed on a declaration of a trivially-copyable struct or union:
>> +
>> +.. code-block:: objc
>> +
>> + struct __attribute__((objc_boxable)) some_struct {
>> + int i;
>> + };
>> + union __attribute__((objc_boxable)) some_union {
>> + int i;
>> + float f;
>> + };
>> + typedef struct __attribute__((objc_boxable)) _some_struct some_struct;
>> +
>> + // ...
>> +
>> + some_struct ss;
>> + NSValue *boxed = @(ss);
>> +
>> + }];
>> +}
>> +
>> def AvailabilityDocs : Documentation {
>> let Category = DocCatFunction;
>> let Content = [{
>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
More information about the cfe-commits
mailing list