dump.c (dequeue_and_dump): Dump HANDLERs and SAVE_EXPRs.

* dump.c (dequeue_and_dump): Dump HANDLERs and SAVE_EXPRs.  Dump
	CLEANUP_P for a TRY_BLOCK.
	* ir.texi: Document SAVE_EXPR.

From-SVN: r30218
This commit is contained in:
Mark Mitchell 1999-10-27 18:19:17 +00:00 committed by Mark Mitchell
parent e05e2395bd
commit a2edce31a6
3 changed files with 22 additions and 1 deletions

View File

@ -1,3 +1,9 @@
1999-10-27 Mark Mitchell <mark@codesourcery.com>
* dump.c (dequeue_and_dump): Dump HANDLERs and SAVE_EXPRs. Dump
CLEANUP_P for a TRY_BLOCK.
* ir.texi: Document SAVE_EXPR.
Tue Oct 26 23:29:56 1999 Jeffrey A Law (law@cygnus.com)
* call.c (build_over_call): Check that the built-in function is

View File

@ -678,6 +678,12 @@ dequeue_and_dump (di)
dump_next_stmt (di, t);
break;
case HANDLER:
dump_stmt (di, t);
dump_child ("body", HANDLER_BODY (t));
dump_next_stmt (di, t);
break;
case IF_STMT:
dump_stmt (di, t);
dump_child ("cond", IF_COND (t));
@ -707,6 +713,8 @@ dequeue_and_dump (di)
case TRY_BLOCK:
dump_stmt (di, t);
if (CLEANUP_P (t))
dump_string (di, "cleanup");
dump_child ("body", TRY_STMTS (t));
dump_child ("hdlr", TRY_HANDLERS (t));
dump_next_stmt (di, t);
@ -770,6 +778,7 @@ dequeue_and_dump (di)
case INDIRECT_REF:
case THROW_EXPR:
case CLEANUP_POINT_EXPR:
case SAVE_EXPR:
/* These nodes are unary, but do not have code class `1'. */
dump_child ("op 0", TREE_OPERAND (t, 0));
break;

View File

@ -1897,7 +1897,13 @@ storage is initialized to zero.
@item SAVE_EXPR
FIXME: Describe.
A @code{SAVE_EXPR} represents an expression (possibly involving
side-effects) that is used more than once. The side-effects should
occur only the first time the expression is evaluated. Subsequent uses
should juse reuse the computed value. The first operand to the
@code{SAVE_EXPR} is the expression to evaluate. The side-effects should
be executed where the @code{SAVE_EXPR} is first encountered in a
depth-first preorder traversal of the expression tree.
@item TARGET_EXPR
A @code{TARGET_EXPR} represents a temporary object. The first operand