Use of the English term “attributes” is confusing
6.2 [basic.def]
Gabriel Dos Reis

Created on 2017-12-05.00:00:00 last changed 1 month ago


Date: 2018-10-15.00:00:00

Notes from the October, 2018 teleconference:

These points are addressed by further work on the modules TS.

Date: 2017-12-05.00:00:00

The English word “attributes” is used occasionally in the Standard to refer to general characteristics rather than to the constructs described by the attribute syntactic nonterminal. For example, 6.2 [basic.def] paragraph 1 says,

A declaration (Clause Clause 9 [dcl.dcl]) may introduce one or more names into a translation unit or redeclare names introduced by previous declarations. If so, the declaration specifies the interpretation and attributes of these names.

A similar use occurs in 6.5 [basic.lookup] paragraph 1:

Only after name lookup, function overload resolution (if applicable) and access checking have succeeded are the attributes introduced by the name's declaration used further in expression processing (Clause Clause 7 [expr]).

These nonspecific uses of the term are potentially confusing and should be replaced, possibly with a specification of which “attributes” are intended.

Perhaps less confusing, although in a similar vein, is 11.4.10 [class.bit] paragraph 1:

The bit-field attribute is not part of the type of the class member.

The use of the term here should also be reconsidered.

Date User Action Args
2020-12-15 00:00:00adminsetmessages: + msg6255
2017-12-05 00:00:00admincreate