On Wed Jan 15 2014 at 6:17:50 PM, Aaron Ballman <[email protected]>
wrote:

> This patch implements the ability to distinguish between attributes
> explicitly written at the request of the user, and attributes
> implicitly generated to assist in bookkeeping by the compiler. It
> additionally removes the optional nature of the spelling list index
> when creating attributes. These two things go hand in hand because the
> spelling of the attribute is semantically important in some cases.
>
> All attributes now receive a table-generated factory function named
> CreateImplicit. This function creates a new instance of the attribute,
> and flags it as being implicitly created. This attribute is then
> inserted into the AST as normal, but consumers of the AST are able to
> check whether the attribute was implicitly generated, if it suits
> them. Currently, no AST consumer cares (outside of the AST dumper, for
> testing purposes), but the expectation is that this will change.
>

>
If the attribute has distinct spellings (where distinct is defined as
> "differing in more than just spelling varieties and leading/trailing
> underscores), it also receives a Spelling enumeration. This allows
> spelling-specific implicit attributes to be created without relying on
> fragile mechanisms.
>

This looks great, thanks!

It looks like this patch marks the AsmLabelAttr as always being implicit
(but maybe I'm misreading). I don't think that's the best choice; it
corresponds to something the user explicitly wrote in the source code, and
is our only AST representation of that thing. (It should probably also be
given a Keyword spelling.)
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to