This issue has been automatically converted from the original issue lists and some formatting may not have been preserved.
Authors: Clive D.W. Feather <clive@demon.net>, UK C Panel
Date: 2001-09-07
Submitted against: C99
Status: Closed
Converted from: summary-c99.htm, dr_277.htm
Consider the code:
for (enum fred { jim, sheila = 10 } i = jim; i < sheila; i++)
// loop body
6.8.5#3 reads:
[#3] The declaration part of a
forstatement shall only declare identifiers for objects having storage classautoorregister.
Does this wording forbid the declaration of tag fred - since it is not an
object - or is fred not covered by that wording because it is not an object ?
Change 6.8.5#3 to one of:
[#3] The declaration part of a
forstatement shall only declare identifiers for objects; any object so declared shall have storage classautoorregister.
or:
[#3] Any object whose identifier is declarared in the declaration part of a
forstatement shall have storage classautoorregister.
Comment from WG14 on 2002-03-07:
The intent is clear enough; fred, jim, and sheila are all identifiers
which do not denote objects with auto or register storage classes, and are
not allowed in this context.