On Tue, Oct 15, 2002 at 12:09:56PM +1000, Herbert Xu wrote: > On Mon, Oct 14, 2002 at 07:01:46PM -0400, Daniel Jacobowitz wrote: > > > > > My copy of C99 says: > > > > > > 5 The least requirements on a conforming implementation are: > > > - At sequence points, volatile objects are stable in the sense that > > > previou > > > s accesses are > > > complete and subsequent accesses have not yet occurred. > > > > Only volatile objects are required to be stable. I believe that if "j" > > That's right. However, there is a sequence point between i++ and > j=6, so the previous access to i should be completed at that point.
But the value of J is not required to coordinate with any sequence points in the implementation, only in the abstract machine... I have (6.7.3 #6) Furthermore, at every sequence point the value last stored in the object shall agree with that prescribed by the abstract machine, except as modified by the unknown factors mentioned previously.114) What constitutes an access to an object that has volatile-qualified type is implementation- defined. But that paragraph explicitly applies only to volatile qualified types. -- Daniel Jacobowitz MontaVista Software Debian GNU/Linux Developer