This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 119b. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2026-02-21
(From submission #673.)
Subclause 6.1 [basic.pre] paragraph 3 specifies:
A name is an identifier (5.11 [lex.name]), conversion-function-id (11.4.8.3 [class.conv.fct]), operator-function-id (12.4 [over.oper]), or literal-operator-id (12.6 [over.literal]).
That seems to incorrectly include identifier labels per the grammar in 8.2 [stmt.label] paragraph 1 as well as attributes per the grammar in 9.13.1 [dcl.attr.grammar] paragraph 1.
Proposed resolution (2026-02-21):
Change in 6.1 [basic.pre] paragraph 3 as follows and add bullets:
A name is
- an identifier (5.11 [lex.name]) other than
- the identifier of a label (8.2 [stmt.label]) or literal-operator-id (12.6 [over.literal]),
- the identifier following a goto in a jump-statement (8.8.1 [stmt.jump.general]),
- any identifier in a module-name (10.1 [module.unit]) or attribute-token (9.13.1 [dcl.attr.grammar]), or
- a conversion-function-id (11.4.8.3 [class.conv.fct]),
- an operator-function-id (12.4 [over.oper]), or
- a literal-operator-id (12.6 [over.literal]).