aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-gimple.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2004-06-08 09:29:57 -0700
committerRichard Henderson <rth@gcc.gnu.org>2004-06-08 09:29:57 -0700
commit7187798577a9a9035d1d492d1686217ff5ca30d7 (patch)
tree916bbf6a5966ddcddcc46c35c1346ae0899e2b22 /gcc/tree-gimple.c
parentde101ad2f75511c715a846770e3cd446e49f882c (diff)
downloadgcc-7187798577a9a9035d1d492d1686217ff5ca30d7.zip
gcc-7187798577a9a9035d1d492d1686217ff5ca30d7.tar.gz
gcc-7187798577a9a9035d1d492d1686217ff5ca30d7.tar.bz2
gimple-low.c (struct lower_data): Replace the_return_label and one_return_stmt with return_statements.
* gimple-low.c (struct lower_data): Replace the_return_label and one_return_stmt with return_statements. (lower_function_body): Process the entire list of return_statements. (lower_return_expr): Check source value before unifying return_exprs. * gimplify.c (gimplify_return_expr): Force the use of a temporary for !aggregate_value_p. * tree-gimple.c: Update RETURN_EXPR grammer. From-SVN: r82768
Diffstat (limited to 'gcc/tree-gimple.c')
-rw-r--r--gcc/tree-gimple.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/tree-gimple.c b/gcc/tree-gimple.c
index 4643ac6..d3231c0 100644
--- a/gcc/tree-gimple.c
+++ b/gcc/tree-gimple.c
@@ -79,7 +79,9 @@ Boston, MA 02111-1307, USA. */
GOTO_EXPR
op0 -> LABEL_DECL | '*' ID
| RETURN_EXPR
- op0 -> RESULT_DECL | NULL_TREE
+ op0 -> NULL_TREE
+ | RESULT_DECL
+ | MODIFY_EXPR -> RESULT_DECL, varname
| THROW_EXPR? do we need/want such a thing for opts, perhaps
to generate an ERT_THROW region? I think so.
Hmm...this would only work at the GIMPLE level, where we know that