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
