Commit d252a515 by Mark Mitchell Committed by Mark Mitchell

c-tree.texi: Improve documentation for IF_STMTs and related conditional statements.

	* c-tree.texi: Improve documentation for IF_STMTs and related
	conditional statements.

From-SVN: r37015
parent 69881ed7
2000-10-23 Mark Mitchell <mark@codesourcery.com>
* c-tree.texi: Improve documentation for IF_STMTs and related
conditional statements.
2000-10-22 Mark Mitchell <mark@codesourcery.com> 2000-10-22 Mark Mitchell <mark@codesourcery.com>
* expr.c (do_preexpand_calls): Remove. * expr.c (do_preexpand_calls): Remove.
......
...@@ -1574,9 +1574,20 @@ always have pointer type. ...@@ -1574,9 +1574,20 @@ always have pointer type.
@item IF_STMT @item IF_STMT
Used to represent an @code{if} statement. The @code{IF_COND} is the Used to represent an @code{if} statement. The @code{IF_COND} is the
expression or statement used as the condition. If the condition is a expression.
statement, it will always be a @code{DECL_STMT}; the variable will then
be used as the condition. If the condition is a @code{TREE_LIST}, then the @code{TREE_PURPOSE} is
a statement (usually a @code{DECL_STMT}). Each time the coondition is
evaluated, the statement should be executed. Then, the
@code{TREE_VALUE} should be used as the conditional expression itself.
This representation is used to handle C++ code like this:
@example
if (int i = 7) ...
@end example
where there is a new local variable (or variables) declared within the
condition.
The @code{THEN_CLAUSE} represents the statement given by the @code{then} The @code{THEN_CLAUSE} represents the statement given by the @code{then}
condition, while the @code{ELSE_CLAUSE} represents the statement given condition, while the @code{ELSE_CLAUSE} represents the statement given
...@@ -1643,9 +1654,10 @@ cleanups must be executed in the reverse order in which they appear. ...@@ -1643,9 +1654,10 @@ cleanups must be executed in the reverse order in which they appear.
@item SWITCH_STMT @item SWITCH_STMT
Used to represent a @code{switch} statement. The @code{SWITCH_COND} is Used to represent a @code{switch} statement. The @code{SWITCH_COND} is
the expression on which the switch is occurring. (It may be either a the expression on which the switch is occurring. See the documentation
statement, or an expression.) The @code{SWITCH_BODY} is the body of the for an @code{IF_STMT} for more information on the representation used
switch statement. for the condition. The @code{SWITCH_BODY} is the body of the switch
statement.
@item TRY_BLOCK @item TRY_BLOCK
Used to represent a @code{try} block. The body of the try block is Used to represent a @code{try} block. The body of the try block is
...@@ -1665,9 +1677,9 @@ And, if an exception is thrown while the expression is executing, ...@@ -1665,9 +1677,9 @@ And, if an exception is thrown while the expression is executing,
@item WHILE_STMT @item WHILE_STMT
Used to represent a @code{while} loop. The @code{WHILE_COND} is the Used to represent a @code{while} loop. The @code{WHILE_COND} is the
termination condition for the loop. This condition may be either a termination condition for the loop. See the documentation for an
statement or an expression. If the condition is a statement, it will @code{IF_STMT} for more information on the representation used for the
always be a @code{DECL_STMT}; see @code{IF_STMT} for more information. condition.
The @code{WHILE_BODY} is the body of the loop. The @code{WHILE_BODY} is the body of the loop.
......
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