diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2006-12-05 17:26:05 +0000 |
---|---|---|
committer | Aldy Hernandez <aldyh@gcc.gnu.org> | 2006-12-05 17:26:05 +0000 |
commit | 07beea0df36b29ef9acb27111eac0b0e92e181a5 (patch) | |
tree | 32d3ee1ddfcad180d619d756a84eeb0df779a6a2 /gcc/stmt.c | |
parent | 3b8aab767b942e122caf583493d7cd858c091cde (diff) | |
download | gcc-07beea0df36b29ef9acb27111eac0b0e92e181a5.zip gcc-07beea0df36b29ef9acb27111eac0b0e92e181a5.tar.gz gcc-07beea0df36b29ef9acb27111eac0b0e92e181a5.tar.bz2 |
Merge gimple-tuples-branch into mainline.
From-SVN: r119546
Diffstat (limited to 'gcc/stmt.c')
-rw-r--r-- | gcc/stmt.c | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -1362,6 +1362,9 @@ expand_expr_stmt (tree exp) tree type; value = expand_expr (exp, const0_rtx, VOIDmode, 0); + if (GIMPLE_TUPLE_P (exp)) + type = void_type_node; + else type = TREE_TYPE (exp); /* If all we do is reference a volatile value in memory, @@ -1415,6 +1418,7 @@ warn_if_unused_value (tree exp, location_t locus) case PREDECREMENT_EXPR: case POSTDECREMENT_EXPR: case MODIFY_EXPR: + case GIMPLE_MODIFY_STMT: case INIT_EXPR: case TARGET_EXPR: case CALL_EXPR: @@ -1582,10 +1586,10 @@ expand_return (tree retval) expand_null_return (); return; } - else if ((TREE_CODE (retval) == MODIFY_EXPR + else if ((TREE_CODE (retval) == GIMPLE_MODIFY_STMT || TREE_CODE (retval) == INIT_EXPR) - && TREE_CODE (TREE_OPERAND (retval, 0)) == RESULT_DECL) - retval_rhs = TREE_OPERAND (retval, 1); + && TREE_CODE (GENERIC_TREE_OPERAND (retval, 0)) == RESULT_DECL) + retval_rhs = GENERIC_TREE_OPERAND (retval, 1); else retval_rhs = retval; @@ -1604,7 +1608,7 @@ expand_return (tree retval) (and in expand_call). */ else if (retval_rhs != 0 - && TYPE_MODE (TREE_TYPE (retval_rhs)) == BLKmode + && TYPE_MODE (GENERIC_TREE_TYPE (retval_rhs)) == BLKmode && REG_P (result_rtl)) { int i; |