On Mon, Apr 14, 2014 at 9:21 AM, Aaron Ballman <[email protected]>wrote:

> On Fri, Apr 11, 2014 at 5:40 PM, Aaron Ballman <[email protected]>
> wrote:
> > On Fri, Apr 11, 2014 at 5:38 PM, Richard Smith <[email protected]>
> wrote:
> >> Thanks for doing this!
> >>
> >> Looks like this won't reject the ill-formed construct [[deprecated()]].
> >> (Both [[gnu::deprecated()]] and __attribute__((deprecated())) are OK,
> IIRC.)
> >
> > Good point! I'll add that on my TODO list. :-)
>
> Fixed in r206186, but I have a question -- I think
> IsBuiltInOrStandardCXX11Attribute should actually be implemented more
> in terms of the scope name. If there's no scope name, it must be a
> standard C++ attribute. If the scope name is clang, then it is one of
> our built-in attributes and we can reason about it. But anything else
> doesn't qualify. Would you agree with the attached patch?


Seems like this function is really now just checking whether an attribute
can be repeated within the same attribute list? I don't see why that rule
should necessarily apply to all clang:: attributes, and there are some
capability-related attributes where it almost certainly should not apply.

Maybe this should be another tablegen-generated property?
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to