<p dir="ltr">Fine by me too :)</p>
<div class="gmail_quote">On Jul 23, 2015 10:58 PM, "John McCall" <<a href="mailto:rjmccall@apple.com">rjmccall@apple.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">> On Jul 23, 2015, at 10:01 PM, AlexDenisov <<a href="mailto:1101.debian@gmail.com">1101.debian@gmail.com</a>> wrote:<br>
> Added a bit more documentation for objc_boxable.<br>
> Could you, please, check it in the release_37?<br>
<br>
This is fine by me, but I think technically you might need Richard’s approval.<br>
<br>
John.<br>
<br>
><br>
>> On 23 Jul 2015, at 23:53, Alex Denisov <<a href="mailto:1101.debian@gmail.com">1101.debian@gmail.com</a>> wrote:<br>
>><br>
>> Author: alexdenisov<br>
>> Date: Thu Jul 23 16:53:13 2015<br>
>> New Revision: 243048<br>
>><br>
>> URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject-3Frev-3D243048-26view-3Drev&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=7nuoH3zAY_N4GC40lxhuGOZbQOnYPqYv2fs8-JV0xEw&s=ckCyTeuqkPgvPGFBVvhYmD7277pNhpruFEZSKoK0B70&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=243048&view=rev</a><br>
>> Log:<br>
>> Add documentation for the objc_boxable attribute<br>
>><br>
>> Modified:<br>
>>   cfe/trunk/include/clang/Basic/Attr.td<br>
>>   cfe/trunk/include/clang/Basic/AttrDocs.td<br>
>><br>
>> Modified: cfe/trunk/include/clang/Basic/Attr.td<br>
>> URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_include_clang_Basic_Attr.td-3Frev-3D243048-26r1-3D243047-26r2-3D243048-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=7nuoH3zAY_N4GC40lxhuGOZbQOnYPqYv2fs8-JV0xEw&s=_mhGSu75FRUgzIr3UMiZPRaJ2DyszeiBXt2ga2y3Qac&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Attr.td?rev=243048&r1=243047&r2=243048&view=diff</a><br>
>> ==============================================================================<br>
>> --- cfe/trunk/include/clang/Basic/Attr.td (original)<br>
>> +++ cfe/trunk/include/clang/Basic/Attr.td Thu Jul 23 16:53:13 2015<br>
>> @@ -1143,7 +1143,7 @@ def ObjCRuntimeName : Attr {<br>
>> def ObjCBoxable : Attr {<br>
>>  let Spellings = [GNU<"objc_boxable">];<br>
>>  let Subjects = SubjectList<[Record], ErrorDiag, "ExpectedStructOrUnion">;<br>
>> -  let Documentation = [Undocumented];<br>
>> +  let Documentation = [ObjCBoxableDocs];<br>
>> }<br>
>><br>
>> def OptimizeNone : InheritableAttr {<br>
>><br>
>> Modified: cfe/trunk/include/clang/Basic/AttrDocs.td<br>
>> URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_include_clang_Basic_AttrDocs.td-3Frev-3D243048-26r1-3D243047-26r2-3D243048-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=7nuoH3zAY_N4GC40lxhuGOZbQOnYPqYv2fs8-JV0xEw&s=TVDcwlEx2tajawLr4jn0YN0fO7wQZ_AzHZ7NtCmyVks&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/AttrDocs.td?rev=243048&r1=243047&r2=243048&view=diff</a><br>
>> ==============================================================================<br>
>> --- cfe/trunk/include/clang/Basic/AttrDocs.td (original)<br>
>> +++ cfe/trunk/include/clang/Basic/AttrDocs.td Thu Jul 23 16:53:13 2015<br>
>> @@ -492,6 +492,34 @@ can only be placed before an @protocol o<br>
>>    }];<br>
>> }<br>
>><br>
>> +def ObjCBoxableDocs : Documentation {<br>
>> +    let Category = DocCatFunction;<br>
>> +    let Content = [{<br>
>> +Structs and unions marked with the ``objc_boxable`` attribute can be used<br>
>> +with the Objective-C boxed expression syntax, ``@(...)``.<br>
>> +<br>
>> +**Usage**: ``__attribute__((objc_boxable))``. This attribute<br>
>> +can only be placed on a declaration of a trivially-copyable struct or union:<br>
>> +<br>
>> +.. code-block:: objc<br>
>> +<br>
>> +  struct __attribute__((objc_boxable)) some_struct {<br>
>> +    int i;<br>
>> +  };<br>
>> +  union __attribute__((objc_boxable)) some_union {<br>
>> +    int i;<br>
>> +    float f;<br>
>> +  };<br>
>> +  typedef struct __attribute__((objc_boxable)) _some_struct some_struct;<br>
>> +<br>
>> +  // ...<br>
>> +<br>
>> +  some_struct ss;<br>
>> +  NSValue *boxed = @(ss);<br>
>> +<br>
>> +    }];<br>
>> +}<br>
>> +<br>
>> def AvailabilityDocs : Documentation {<br>
>>  let Category = DocCatFunction;<br>
>>  let Content = [{<br>
>><br>
>><br>
>> _______________________________________________<br>
>> cfe-commits mailing list<br>
>> <a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
><br>
<br>
</blockquote></div>