[PATCH] Declaring standard C++ attributes

Richard Smith metafoo at gmail.com
Wed Jan 29 12:45:59 PST 2014


I'm not really sure what this is for: don't we want to have a flag for
'cannot have parens' rather than 'is a standardized C++ attribute'? Also,
it seems easy to detect standard attributes: they're C++ attributes with no
scope token. We don't need to generate a flag for that.

It looks like this causes a regression: we start rejecting
[[deprecated("foo")]] with it, don't we?

On Wed Jan 29 2014 at 11:56:34 AM, Aaron Ballman <aaron at aaronballman.com>
wrote:

> This patch provides a declarative way to specify a standards-based
> C++11-style attribute using the StdCXX spelling class. It then removes
> a small, hard-coded list of standard attributes from the parser and
> uses a generated list to accomplish the same thing.
>
> Since C++11 attributes are not in the std:: namespace, this also
> removes the std:: variant from standards-based attributes. However, if
> the std:: namespace were to become part of the standard, it can be
> handled when flattening out the attributes in the same way that we do
> for GCC spellings.
>
> ~Aaron
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140129/15a3be65/attachment.html>


More information about the cfe-commits mailing list