summaryrefslogtreecommitdiff
path: root/gcc/tree.def
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-11-21 23:32:03 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2001-11-21 23:32:03 +0000
commite58d0f170980a5ee62629915b8bf3814b8c5b3bc (patch)
treec9328a6f72e26ab58f5c08b5f144508cc16878e1 /gcc/tree.def
parentdc240c7432ee5d9c29fdedf980ac53c99dca9583 (diff)
downloadgcc-e58d0f170980a5ee62629915b8bf3814b8c5b3bc.tar.gz
* expr.c (expand_expr, case VIEW_CONVERT_EXPR): Refine slightly
and also support TREE_ADDRESSABLE. * tree.def (VIEW_CONVERT_EXPR): Document TREE_ADDRESSABLE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47249 138bc75d-0d04-0410-961f-82ee72b054a4
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 c4f08cf5f0d..39ea31c033b 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.