WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH] i386 linux: make 32-bit PAE kernel work when bui


On 14 Mar 2006, at 12:40, Jan Beulich wrote:

I'm not sure this is correct - the standard, in section 5.1.2.3, says

"Accessing a volatile object, modifying an object, modifying a file, or calling a function that does any of those operations are all side effects, which are changes in the state of the execution environment. Evaluation of an expression may produce side effects. At certain specified points in the execution sequence called sequence points, all side effects of previous evaluations shall be complete and no side effects of subsequent evaluations
shall have taken place."

As we're talking about modifying an object, this being considered a side-effect means it
must have been carried out by the time the ; is (logically) reached.

See 5.1.2.3.5 and then the examples 5.1.2.3.8 and 5.1.2.3.9 (particularly the first sentence, which summarises the guarantee provided by an aggressive optimising C compiler).

The standard is really not clear in this respect, but I take 5.1.2.3.2 to apply to the abstract machine, and not necessarily an implementation. But I am not a compiler writer. :-)

 -- Keir


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel