From 64dc53f34db1cea9ea657a32e72216baa3a524fb Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Mon, 6 Mar 2000 09:50:17 +0000 Subject: 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 --- gcc/tree.def | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'gcc/tree.def') diff --git a/gcc/tree.def b/gcc/tree.def index d691150..92bc594 100644 --- a/gcc/tree.def +++ b/gcc/tree.def @@ -689,11 +689,10 @@ DEFTREECODE (UNSAVE_EXPR, "unsave_expr", 'e', 1) /* Represents something whose RTL has already been expanded as a sequence which should be emitted when this expression is expanded. The first operand is the RTL to emit. It is the first of a chain - of insns. The second is the RTL expression for the result. If - RTL_EXPR_HAS_NO_SCOPE does not hold for this expression, then all - temporaries created within this RTL_EXPR (except for the - RTL_EXPR_RTL) are out-of-scope after the RTL_EXPR is expanded. (In - other words, their stack slots may be reused.) */ + of insns. The second is the RTL expression for the result. Any + temporaries created during the building of the RTL_EXPR can be + reused once the RTL_EXPR has been expanded, with the exception of + the RTL_EXPR_RTL. */ DEFTREECODE (RTL_EXPR, "rtl_expr", 'e', 2) /* & in C. Value is the address at which the operand's value resides. -- cgit v1.1