aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.def
diff options
context:
space:
mode:
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>2001-11-21 23:32:03 +0000
committerRichard Kenner <kenner@gcc.gnu.org>2001-11-21 18:32:03 -0500
commitc11c10d87b229fc9bfa4a1e0a5a342e3344f737d (patch)
treec9328a6f72e26ab58f5c08b5f144508cc16878e1 /gcc/tree.def
parent2e7d5318fc0902a682ef1a2b1e43df40f7f3de29 (diff)
downloadgcc-c11c10d87b229fc9bfa4a1e0a5a342e3344f737d.zip
gcc-c11c10d87b229fc9bfa4a1e0a5a342e3344f737d.tar.gz
gcc-c11c10d87b229fc9bfa4a1e0a5a342e3344f737d.tar.bz2
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
Diffstat (limited to 'gcc/tree.def')
-rw-r--r--gcc/tree.def7
1 files changed, 6 insertions, 1 deletions
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.