Public Comment Number PC-UK0170 ISO/IEC CD 9899 (SC22N2620) Public Comment =========================================== Date: 1998-03-26 Author: N.M Maclaren Author Affiliation: Self Postal Address: University of Cambridge, Computer Laboratory, New Museums Site, Pembroke Street, Cambridge CB3 3QG, United Kingdom E-mail Address: Telephone Number: +44 1223 334761 Fax Number: +44 1223 334679 Number of individual comments: 1 Comment 1. Category: Request for information/clarification Committee Draft subsection: 5.1.2.3 Title: Ordering of sequence points Detailed description: Paragraphs 2, 4 and 6 refer to the previous and next (or subsequent) sequence points, but a expression parse tree does not have a canonical ordering. Statements do, but they are irrelevant in this context. This has caused considerable confusion with C89 in a fair number of obscure but realistic constructions, as well in perverse ones like the following: (a,++b,a)+(a,++b,a) I suggest adding a paragraph saying something like: The ordering of sequence points within an expression is only partially specified by the syntax rules and operator precedences, and an implementation may reorder expressions in any way that is compatible with those. A strictly conforming program shall not rely on any ordering of sequence points that is not required by the syntax rules and operator precedences. I believe that this is normative in the sense that it makes it clear that relying on any parse ordering is not strictly conforming, but that is probably what was always meant.