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