From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12742 invoked by alias); 13 Jun 2011 02:48:06 -0000 Received: (qmail 12723 invoked by uid 22791); 13 Jun 2011 02:48:05 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,RFC_ABUSE_POST,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from qmta03.westchester.pa.mail.comcast.net (HELO qmta03.westchester.pa.mail.comcast.net) (76.96.62.32) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 13 Jun 2011 02:47:41 +0000 Received: from omta11.westchester.pa.mail.comcast.net ([76.96.62.36]) by qmta03.westchester.pa.mail.comcast.net with comcast id vEaJ1g0070mv7h053Enh0Q; Mon, 13 Jun 2011 02:47:41 +0000 Received: from up.mrs.kithrup.com ([24.4.193.8]) by omta11.westchester.pa.mail.comcast.net with comcast id vEnf1g0150BKwT43XEngwJ; Mon, 13 Jun 2011 02:47:41 +0000 Subject: Re: Is VIEW_CONVERT_EXPR an lvalue? (was Re: RFA (fold): PATCH for c++/49290 (folding *(T*)(ar+10))) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: Mike Stump In-Reply-To: Date: Mon, 13 Jun 2011 06:12:00 -0000 Cc: Jason Merrill , Richard Guenther , gcc-patches List , GCC Content-Transfer-Encoding: quoted-printable Message-Id: <27E63B18-5030-4040-AE79-390ED92868C0@comcast.net> References: <4DEDB98F.6010508@redhat.com> <4DEE2DCF.7020905@redhat.com> <4DEE3484.8030101@redhat.com> <4DF11FBC.3010304@redhat.com> <4DF223D4.3080700@redhat.com> <4DF22656.9050700@redhat.com> <4DF3C98B.6070006@redhat.com> To: Richard Guenther X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2011-06/txt/msg00959.txt.bz2 On Jun 12, 2011, at 4:03 AM, Richard Guenther wrote: > Btw, see tree.def which says >=20 > /* Represents viewing something of one type as being of a second type. > This corresponds to an "Unchecked Conversion" in Ada and roughly to > the idiom *(type2 *)&X in C. The only operand is the value to be > viewed as being of another type. It is undefined if the type of the > input and of the expression have different sizes. >=20 > This code may also be used within the LHS of a MODIFY_EXPR, in which > case no actual data motion may occur. TREE_ADDRESSABLE will be set in > this case and GCC must abort if it could not do the operation without > generating insns. */ I wasn't able to follow what this was trying to say. :-( No actual data m= otion may occur? The wording is weasely. Does it mean: Data motion does n= ot occur when used on the LHS of a MODIFY_EXPR? If so, it should just dire= ctly state it.