Commit 3651fb44 by Mark Mitchell Committed by Mark Mitchell

ir.texi: Document BIND_EXPR, LOOP_EXPR, and EXIT_EXPR.

	* ir.texi: Document BIND_EXPR, LOOP_EXPR, and EXIT_EXPR.
	* dump.c (dequeue_and_dump): Dump them.

From-SVN: r29835
parent cd6642cb
1999-10-05 Mark Mitchell <mark@codesourcery.com> 1999-10-05 Mark Mitchell <mark@codesourcery.com>
* ir.texi: Document LOOP_EXPR and EXIT_EXPR. * ir.texi: Document BIND_EXPR, LOOP_EXPR, and EXIT_EXPR.
* dump.c (dequeue_and_dump): Dump them.
* method.c (synthesize_method): Call setup_vtbl_ptr for destructors. * method.c (synthesize_method): Call setup_vtbl_ptr for destructors.
......
...@@ -903,6 +903,24 @@ dequeue_and_dump (di) ...@@ -903,6 +903,24 @@ dequeue_and_dump (di)
dump_child ("stmt", STMT_EXPR_STMT (t)); dump_child ("stmt", STMT_EXPR_STMT (t));
break; break;
case BIND_EXPR:
if (dump_children_p)
{
dump_child ("vars", TREE_OPERAND (t, 0));
dump_child ("body", TREE_OPERAND (t, 1));
}
break;
case LOOP_EXPR:
if (dump_children_p)
dump_child ("body", TREE_OPERAND (t, 0));
break;
case EXIT_EXPR:
if (dump_children_p)
dump_child ("cond", TREE_OPERAND (t, 0));
break;
case TARGET_EXPR: case TARGET_EXPR:
if (dump_children_p) if (dump_children_p)
{ {
......
...@@ -1466,6 +1466,7 @@ The @code{WHILE_BODY} is the body of the loop. ...@@ -1466,6 +1466,7 @@ The @code{WHILE_BODY} is the body of the loop.
@tindex CALL_EXPR @tindex CALL_EXPR
@tindex CONSTRUCTOR @tindex CONSTRUCTOR
@tindex STMT_EXPR @tindex STMT_EXPR
@tindex BIND_EXPR
@tindex LOOP_EXPR @tindex LOOP_EXPR
@tindex EXIT_EXPR @tindex EXIT_EXPR
@tindex ARRAY_REF @tindex ARRAY_REF
...@@ -1819,6 +1820,13 @@ contained in the expression; this is always a @code{COMPOUND_STMT}. The ...@@ -1819,6 +1820,13 @@ contained in the expression; this is always a @code{COMPOUND_STMT}. The
value of the expression is the value of the last sub-statement in the value of the expression is the value of the last sub-statement in the
@code{COMPOUND_STMT}. @code{COMPOUND_STMT}.
@item BIND_EXPR
These nodes represent local blocks. The first operand is a list of
temporary variables, connected via their @code{TREE_CHAIN} field. These
will never require cleanups. The scope of these variables is just the
body of the @code{BIND_EXPR}. The body of the @code{BIND_EXPR} is the
second operand.
@item LOOP_EXPR @item LOOP_EXPR
These nodes represent ``infinite'' loops. The @code{LOOP_EXPR_BODY} These nodes represent ``infinite'' loops. The @code{LOOP_EXPR_BODY}
represents the body of the loop. It should be executed forever, unless represents the body of the loop. It should be executed forever, unless
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment