This is the mail archive of the
gcc-patches@gcc.gnu.org
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>, <gcc-patches at gcc dot gnu dot org>
- Date: 13 Dec 2001 23:41:37 +0100
- Subject: Re: Volatile MEMs in statement expressions and functions inlined as trees
- Organization: CodeSourcery, LLC
- References: <Pine.LNX.4.33.0112131354310.1851-100000@penguin.transmeta.com>
Linus Torvalds <torvalds@transmeta.com> writes:
[...]
| But if you do not think that it is the definition for the rvalue, then
| what meaning _do_ you attribute to the sentence
|
| "The result of the assignment operation is the value stored in the
| left operand after the assignment has taken place"
That quote is incomplete. The above bullet goes on saying:
"the result is an lvalue."
| I'm saying that I read it as "result" == "rvalue" == "value of assignment
| expression".
That can't be since it in direct conflict with the rest of the
sentence (5.17/1) which I reproduce for completeness:
There are several assignment operators, all of which group
right-to-left. All require a modifiable lvalue as their left operand,
and the type of an assignment expression is that of its left
operand. The result of the assignment operation is the value stored in
the left operand after the assignment has taken place; the result is
an lvalue.
-- Gaby