ISO/IEC JTC1 SC22 WG21
N4266 /
CWG 1657 /
EWG 113
Richard Smith
richard@metafoo.co.uk
2014-11-05
Change in 7.2 (dcl.enum) paragraph 1:
[...]enumerator: identifier attribute-specifier-seqoptThe optional attribute-specifier-seq in the enum-head and the opaque-enum-declaration appertains to the enumeration; the attributes in that attribute-specifier-seq are thereafter considered attributes of the enumeration whenever it is named. [...]
Change in 7.2 (dcl.enum) paragraph 2:
[...] The identifiers in an enumerator-list are declared as constants, and can appear wherever constants are required. An enumerator-definition with = gives the associated enumerator the value indicated by the constant-expression. If the first enumerator has no initializer, the value of the corresponding constant is zero. An enumerator-definition without an initializer gives the enumerator the value obtained by increasing the value of the previous enumerator by one. [ Example: … ] The optional attribute-specifier-seq in an enumerator appertains to that enumerator.
Change in 7.3 (namespace.def) paragraph 1:
[...]original-namespace-definition: inlineopt namespace attribute-specifier-seqopt identifier { namespace-body } extension-namespace-definition: inlineopt namespace attribute-specifier-seqopt original-namespace-name { namespace-body } unnamed-namespace-definition: inlineopt namespace attribute-specifier-seqopt { namespace-body } namespace-body: declaration-seqopt
Add a new paragraph after 7.3 (namespace.def) paragraph 7:
The optional attribute-specifier-seq in an original-namespace-definition or extension-namespace-definition appertains to the namespace being defined or extended.
Change in 7.3.1.1 (namespace.unnamed) paragraph 1:
An unnamed-namespace-definition behaves as if it were replaced byinlineopt namespace unique { /* empty body */ } using namespace unique ; namespace attribute-specifier-seq unique { namespace-body }where inline appears if and only if it appears in the unnamed-namespace-definition, all occurrences of unique in a translation unit are replaced by the same identifier, and this identifier differs from all other identifiers in the entire program. [Footnote: …] The optional attribute-specifier-seq in the unnamed-namespace-definition appertains to unique.
Change in 7.6.5 (dcl.attr.deprecated) paragraph 2:
The attribute may be applied to the declaration of a class, a typedef-name, a variable, a non-static data member, a function, a namespace, an enumeration, an enumerator, or a template specialization.