From c11c10d87b229fc9bfa4a1e0a5a342e3344f737d Mon Sep 17 00:00:00 2001
From: Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
Date: Wed, 21 Nov 2001 23:32:03 +0000
Subject: expr.c (expand_expr, [...]): Refine slightly and also support
 TREE_ADDRESSABLE.

	* expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
	and also support TREE_ADDRESSABLE.
	* tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE.

From-SVN: r47249
---
 gcc/tree.def | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

(limited to 'gcc/tree.def')

diff --git a/gcc/tree.def b/gcc/tree.def
index c4f08cf..39ea31c 100644
--- a/gcc/tree.def
+++ b/gcc/tree.def
@@ -695,7 +695,12 @@ DEFTREECODE (NON_LVALUE_EXPR, "non_lvalue_expr", '1', 1)
    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.  */
+   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.  */
 DEFTREECODE (VIEW_CONVERT_EXPR, "view_convert_expr", '1', 1)
 
 /* Represents something we computed once and will use multiple times.
-- 
cgit v1.1

