aboutsummaryrefslogtreecommitdiff
path: root/gcc/stmt.c
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>1999-05-19 03:54:49 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>1999-05-19 03:54:49 +0000
commit1483bddbc8ac81700a3ccd699a6ca6587d9a9712 (patch)
tree64ec22c9f840b99c27e5cc204fe99be474223e56 /gcc/stmt.c
parent5458582593fe80311b1589fa2a1d3eca4cee39a6 (diff)
downloadgcc-1483bddbc8ac81700a3ccd699a6ca6587d9a9712.zip
gcc-1483bddbc8ac81700a3ccd699a6ca6587d9a9712.tar.gz
gcc-1483bddbc8ac81700a3ccd699a6ca6587d9a9712.tar.bz2
stmt.c (expand_return): Call start_cleanup_deferral and end_cleanup_deferral around conditional code.
* stmt.c (expand_return): Call start_cleanup_deferral and end_cleanup_deferral around conditional code. From-SVN: r27018
Diffstat (limited to 'gcc/stmt.c')
-rw-r--r--gcc/stmt.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/stmt.c b/gcc/stmt.c
index 41bc736..9c8a716 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -2703,6 +2703,7 @@ expand_return (retval)
tree expr;
do_jump (TREE_OPERAND (retval_rhs, 0), label, NULL_RTX);
+ start_cleanup_deferral ();
expr = build (MODIFY_EXPR, TREE_TYPE (TREE_TYPE (current_function_decl)),
DECL_RESULT (current_function_decl),
TREE_OPERAND (retval_rhs, 1));
@@ -2715,6 +2716,7 @@ expand_return (retval)
TREE_OPERAND (retval_rhs, 2));
TREE_SIDE_EFFECTS (expr) = 1;
expand_return (expr);
+ end_cleanup_deferral ();
return;
}