3.10/10 says:
If a program attempts to access the stored value of an object through a glvalue of other than one of the following types the behavior is undefined:
However, the term "access" is not defined anywhere. In this context does it mean read, or read or modify ?
In the C standard it is unambiguously defined as read or modify. However in C++11 it seems to be used with different meanings at different times, for example:
1.9/8:
Access to volatile objects are evaluated strictly according to the rules of the abstract machine.
Clearly this is meant to be read or modify, however in many other places such as 1.10/24:
- access or modify a volatile object, or
it is used as if it only means read.