--
On 7 Nov 2002 at 16:36, Trei, Peter wrote:
> The 'volatile' keyword seems to have poorly defined
> behaviour.
"Volatile" memory typically both receives input from outside
the abstract machine, and generates output outside the abstract
machine. Indeed the expected reason to write to volatile
memory is because it generates effects outside the abstract
machine.
If the optimizer ever optimizes away a write to volatile
memory, device drivers will fail. Most device drivers are
written in C. If anyone ever produces a C compiler in which
"volatile" does not do what we want, not only are they out of
spec, but smoke will start coming out of hardware when the
device drivers are recompiled.
--digsig
James A. Donald
6YeGpsZR+nOTh/cGwvITnSR3TdzclVpR0+pr3YYQdkG
kEh2eDIEzpFnafz1M2n+bEgPvpgJoMG5yeNBElma
4DJ2e1VU89ubCetOzWnz76JuUZBdhHHlg/JLf9Xju