> On Jul 23, 2015, at 10:01 PM, AlexDenisov <[email protected]> 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 <[email protected]> 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 >> [email protected] >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits > _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
