r243048 - Add documentation for the objc_boxable attribute

Hans Wennborg hans at chromium.org
Fri Jul 24 08:58:33 PDT 2015


Merged to 3.7 in r243112.

Thanks,
Hans

On Thu, Jul 23, 2015 at 11:07 PM, Richard Smith <richard at metafoo.co.uk> wrote:
> Fine by me too :)
>
> On Jul 23, 2015 10:58 PM, "John McCall" <rjmccall at apple.com> wrote:
>>
>> > 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