This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Is VIEW_CONVERT_EXPR an lvalue? (was Re: RFA (fold): PATCH for c++/49290 (folding *(T*)(ar+10)))


On Jun 12, 2011, at 4:03 AM, Richard Guenther wrote:
> Btw, see tree.def which says
> 
> /* 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.
> 
>   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 motion may occur?  The wording is weasely.  Does it mean: Data motion does not occur when used on the LHS of a MODIFY_EXPR?  If so, it should just directly state it.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]