diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-02-09 09:54:36 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-02-09 09:54:36 +0000 |
commit | cf6b103ecba3ec845e82cac95ce2693954438eec (patch) | |
tree | 2e7796711ab7dc7b1bc13550933b9b8d077c098e /gcc/tree.def | |
parent | f7bac623609f2c8ed2dbebebe91001b675a035e1 (diff) | |
download | gcc-cf6b103ecba3ec845e82cac95ce2693954438eec.tar.gz |
PR c++/25979
* tree.def: Elaborate on difference from MODIFY_EXPR.
* doc/c-tree.texi (INIT_EXPR): Likewise.
* gimplify.c (internal_get_tmp_var): Use INIT_EXPR.
(gimplify_decl_expr, gimplify_init_ctor_eval): Likewise.
(gimplify_target_expr): Likewise.
(gimplify_cond_expr): Remove target handling.
(gimplify_modify_expr): Don't clobber INIT_EXPR code here.
(gimplify_expr): Clobber it here.
(gimplify_modify_expr_rhs): Push assignment into COND_EXPR here.
Do return slot optimization if we have an INIT_EXPR.
PR tree-opt/24365
* tree-inline.c (declare_return_variable): Also clear
DECL_COMPLEX_GIMPLE_REG_P as needed in the modify_dest case.
PR c++/16405
* gimplify.c (gimplify_modify_expr_rhs): Re-enable *& handling.
PR middle-end/22439
* gimplify.c (gimplify_one_sizepos): Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110789 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree.def')
-rw-r--r-- | gcc/tree.def | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree.def b/gcc/tree.def index bc227e20346..14c15a76d5c 100644 --- a/gcc/tree.def +++ b/gcc/tree.def @@ -465,7 +465,8 @@ DEFTREECODE (COMPOUND_EXPR, "compound_expr", tcc_expression, 2) DEFTREECODE (MODIFY_EXPR, "modify_expr", tcc_expression, 2) /* Initialization expression. Operand 0 is the variable to initialize; - Operand 1 is the initializer. */ + Operand 1 is the initializer. This differs from MODIFY_EXPR in that any + reference to the referent of operand 0 within operand 1 is undefined. */ DEFTREECODE (INIT_EXPR, "init_expr", tcc_expression, 2) /* For TARGET_EXPR, operand 0 is the target of an initialization, |