|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|