This is the mail archive of the
mailing list for the GCC project.
Re: Volatile MEMs in statement expressions and functions inlined astrees
- From: Jason Merrill <jason at redhat dot com>
- To: Linus Torvalds <torvalds at transmeta dot com>
- Cc: Alexandre Oliva <aoliva at redhat dot com>, Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>, <schwab at suse dot de>, <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 07 Dec 2001 19:13:38 +0000
- Subject: Re: Volatile MEMs in statement expressions and functions inlined astrees
- References: <Pine.LNX.email@example.com>
>>>>> "Linus" == Linus Torvalds <firstname.lastname@example.org> writes:
> On Fri, 7 Dec 2001, Jason Merrill wrote:
>> To write it another way, the C++ expression
>> q = p = 0
>> is equivalent to the C expression
>> q = *(p = 0, &p)
>> Should that not load from p?
> Ehh.. Take it one step further: according to you, the C++ expression
> p = 0;
> is equivalent to the C expression
> *(p = 0, &p)
No. It is equivalent to the C expression
(p = 0, &p)
the dereference-equivalent is added by the lvalue-to-rvalue conversion.