>> Possibly, but I think the more interesting observation is listed in >> parenthesis: Can a volatile access ever alias a non-volatile access? > > I think the answer is no, Certainly Ada has compile time rules > carefully written to make this impossible.
gcc is not just an Ada compiler. Clearly, the answer has to be yes to support GNU C. And where is the standard for the language known as "GNU C"? One of the major problems with the GNU C extensions has been that they were done in an era where people weren't as precise as they are today regarding language definition and the interactions of features with each other and with optimizations. Obviously, Robert was giving Ada as an example of a language that *does* precisely give the answers to these questions, unlikely GNU C. Another interesting datapoint is clearly what the current C and C++ standards say on the matter. However, despite the legacy code issue, I wouldn't put too much import on the relatively informal definition of "GNU C".