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

2023-01-15


394. identifier-list is never defined

Section: Clause 15  [cpp]     Status: CD1     Submitter: Nicola Musatti     Date: 16 Dec 2002

[Voted into WP at October 2004 meeting.]

In Clause 15 [cpp], paragraph 1, the control-line non-terminal symbol is defined in terms of the identifier-list non-terminal, which is never defined within the standard document.

The same definition is repeated in A.13 [gram.cpp].

I suggest that the following definition is added to Clause 15 [cpp], paragraph 1, after the one for replacement-list:

This should be repeated again in A.13 [gram.cpp], again after the one for replacement-list. It might also be desirable to include a third repetition in 15.6 [cpp.replace], paragraph 9.

Proposed Resolution (Clark Nelson, Dec 2003):

In Clause 15 [cpp], paragraph 1, immediately before the definition of replacement-list, add:

If the correct TROFF macros are used, the definition will appear automatically in appendix A. It doesn't need to be repeated in 16.3p9.

With respect to the question of having the preprocessor description be synchronized with C99, this would fall into the category of a justified difference. (Other justified differences include those for Boolean expressions, alternative tokens, and terminology differences.)