[cfe-commits] C++0x Attributes Patch - INCOMPLETE
rideau3 at gmail.com
Fri Sep 4 16:29:17 PDT 2009
After a near-disaster, I figured I should make sure any important work I
have unsaved is kept somewhere where It's not going to be lost to a
single hard drive crash. So I'm going to post my mostly-complete
attributes patch here - you guys can also review it this way (or, if
you're crazy enough, try it out).
- Attributes are not supported after the declarator-id in a declaration
- Attributes anywhere in a declaration apply to the entire declaration
(e.g. int * [[noreturn]] foo (); is a noreturn function, even though it
should error out because [[noreturn]] is being applied to a pointer).
- [[align(type)]] is not supported
- Attributes are allowed in front of function definitions, like they
are on declarations. This is in contrast to the draft, but I believe the
committee will make this legal in the next draft
- The [[final]] attribute has the behavior suggested by a core language
issue (no time to look it up, sorry), rather than the draft (it prevents
any class from deriving from it, rather than making all virtual
- No non-standard attributes are currently supported with C++0x syntax.
- [[carries_dependency]] is ignored, and does not error out if applied
to the wrong type.
- I probably broke several style rules.
Sean "coppro" Hunt
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 75160 bytes
Desc: not available
More information about the cfe-commits