From 64dc53f34db1cea9ea657a32e72216baa3a524fb Mon Sep 17 00:00:00 2001
From: Mark Mitchell <mark@codesourcery.com>
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

