This is the mail archive of the
mailing list for the GCC project.
Re: Volatile MEMs in statement expressions and functions inlined as trees
- From: Gabriel Dos Reis <gdr at codesourcery dot com>
- To: Linus Torvalds <torvalds at transmeta dot com>
- Cc: Gabriel Dos Reis <gdr at codesourcery dot com>, Alexandre Oliva <aoliva at redhat dot com>, Richard Henderson <rth at redhat dot com>, <gcc-patches at gcc dot gnu dot org>
- Date: 14 Dec 2001 21:55:46 +0100
- Subject: Re: Volatile MEMs in statement expressions and functions inlined as trees
- Organization: CodeSourcery, LLC
- References: <Pine.LNX.email@example.com>
Linus Torvalds <firstname.lastname@example.org> writes:
| On 14 Dec 2001, Gabriel Dos Reis wrote:
| > Linus Torvalds <email@example.com> writes:
| > [...]
| > | So when the C++ standard says
| > |
| > | The result has the type of the left side.
| > | The result has the value of the value stored.
| > | The result is an lvalue.
| > |
| > | these are not mutually incompatible. In particular, that middle part is
| > | _not_ overridden (or made invalid) by the last part.
| > Certainly, since the lvalue has a value which is the value stored.
| Bzzt, you lose.
| Not with volatile memory.
No, for volatile-memory, the implementation has to define what its
means by access.
| Re-loading the value from memory is _not_ the same as "value stored".
The re-loading is a feature of the chain assignment for volatile-memory.