This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 115e. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.

2024-11-11


951. Problems with attribute-specifiers

Section: 9.12  [dcl.attr]     Status: CD2     Submitter: Sean Hunt     Date: 5 August, 2009

[Voted into WP at March, 2010 meeting as document N3067.]

There are a number of problems with the treatment of attributes in the current draft. One issue is the failure to permit attributes to appear at various points in the grammar at which one might plausibly expect them:

Another group of problems is the failure to specify to what a given attribute-specifier appertains:

There is also a problem in the specification of the interpretation of an initial attribute-specifier. 9.3.4 [dcl.meaning] paragraph 5 says,

In a declaration attribute-specifieropt T attribute-specifieropt D where D is an unadorned identifier the type of this identifier is “T”. The first optional attribute-specifier appertains to the entity being declared.

This wording only covers the case where the declarator is a simple identifier. It leaves unspecified the meaning of the initial attribute-specifier with more complex declarators for pointers, references, functions, and arrays.

Finally, something needs to be said about the case where attribute-specifiers occur in both the initial position and following the declarator-id: is this permitted, and if so, under what constraints?

(See also issue 968.)

Proposed resolution (February, 2010):

See paper PL22.16/10-0023 = WG21 N3033.