diff options
author | Richard Henderson <rth@redhat.com> | 2004-06-07 10:53:03 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2004-06-07 10:53:03 -0700 |
commit | f5a76aea0ddbb87fe8b4f64a283951d7e687b84c (patch) | |
tree | ae09b8f6224714650658af6382e87de0bae03de0 /gcc/tree-gimple.c | |
parent | 8cd0b81e9e372e8d7ff510d59e74e1a74616d773 (diff) | |
download | gcc-f5a76aea0ddbb87fe8b4f64a283951d7e687b84c.zip gcc-f5a76aea0ddbb87fe8b4f64a283951d7e687b84c.tar.gz gcc-f5a76aea0ddbb87fe8b4f64a283951d7e687b84c.tar.bz2 |
gimple-low.c (struct lower_data): Add the_return_label and one_return_stmt.
* gimple-low.c (struct lower_data): Add the_return_label and
one_return_stmt.
(lower_function_body): Initialize and use them.
(lower_return_expr): New.
(lower_stmt): Call it.
* gimplify.c (gimplify_return_expr): Force the argument to be either
null or a result_decl.
* tree-gimple.c: Update gimple grammer to match.
* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Deny
coalescing of result_decls.
testsuite/
* gcc.dg/tree-ssa/20030728-1.c: Fixup return value to not match
if temporaries.
From-SVN: r82701
Diffstat (limited to 'gcc/tree-gimple.c')
-rw-r--r-- | gcc/tree-gimple.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/gcc/tree-gimple.c b/gcc/tree-gimple.c index e749ec8..4643ac6 100644 --- a/gcc/tree-gimple.c +++ b/gcc/tree-gimple.c @@ -79,9 +79,7 @@ Boston, MA 02111-1307, USA. */ GOTO_EXPR op0 -> LABEL_DECL | '*' ID | RETURN_EXPR - op0 -> modify-stmt | NULL_TREE - (maybe -> RESULT_DECL | NULL_TREE? seems like some of expand_return - depends on getting a MODIFY_EXPR.) + op0 -> RESULT_DECL | NULL_TREE | 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 |