This is the mail archive of the
mailing list for the GCC project.
Re: Heads-up: volatile and C++
Gabriel Dos Reis wrote:
Seriously, could you give the Ada standardese even though I'm not
supposed to understand?
Here is the relevant RM quote
15 For an atomic object (including an atomic component) all reads and
updates of the object as a whole are indivisible.
16 For a volatile object all reads and updates of the object as a whole are
performed directly to memory.
17 Two actions are sequential (see 9.10) if each is the read or update of
the same atomic object.
18 If a type is atomic or volatile and it is not a by-copy type, then the
type is defined to be a by-reference type. If any subcomponent of a type is
atomic or volatile, then the type is defined to be a by-reference type.
19 If an actual parameter is atomic or volatile, and the corresponding
formal parameter is not, then the parameter is passed by copy.
20 The external effect of a program (see 1.1.3) is defined to include each
read and update of a volatile or atomic object. The implementation shall not
generate any memory reads or updates of atomic or volatile objects other than
those specified by the program.