aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2000-03-06 09:50:17 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2000-03-06 09:50:17 +0000
commit64dc53f34db1cea9ea657a32e72216baa3a524fb (patch)
tree7f3c2d7139227eb4e97559a0a0454c54f36c4988 /gcc/expr.c
parent7b45d84d6003c363968fea7e52f12809c259cb83 (diff)
downloadgcc-64dc53f34db1cea9ea657a32e72216baa3a524fb.zip
gcc-64dc53f34db1cea9ea657a32e72216baa3a524fb.tar.gz
gcc-64dc53f34db1cea9ea657a32e72216baa3a524fb.tar.bz2
function.c (free_temps_for_rtl_expr): Don't free slots that have been pushed into a higher level.
* function.c (free_temps_for_rtl_expr): Don't free slots that have been pushed into a higher level. * expr.c (cplus_expand_expr, case STMT_EXPR): Don't set RTL_EXPR_HAS_NO_SCOPE after all. From-SVN: r32355
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 28b3b44..fb266e2 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -6306,13 +6306,8 @@ expand_expr (exp, target, tmode, modifier)
emit_insns (RTL_EXPR_SEQUENCE (exp));
RTL_EXPR_SEQUENCE (exp) = const0_rtx;
}
- if (RTL_EXPR_HAS_NO_SCOPE (exp))
- preserve_rtl_expr_temps (exp);
- else
- {
- preserve_rtl_expr_result (RTL_EXPR_RTL (exp));
- free_temps_for_rtl_expr (exp);
- }
+ preserve_rtl_expr_result (RTL_EXPR_RTL (exp));
+ free_temps_for_rtl_expr (exp);
return RTL_EXPR_RTL (exp);
case CONSTRUCTOR: