c-semantics.c (build_stmt): Remove test of specific tree codes for TREE_SIDE_EFFECTS handling.

* c-semantics.c (build_stmt): Remove test of specific tree codes
	for TREE_SIDE_EFFECTS handling.

From-SVN: r98693
This commit is contained in:
Ian Lance Taylor 2005-04-25 01:18:23 +00:00 committed by Ian Lance Taylor
parent 9545759748
commit bbcfd969e6
2 changed files with 11 additions and 13 deletions

View File

@ -1,3 +1,8 @@
2005-04-24 Ian Lance Taylor <ian@airs.com>
* c-semantics.c (build_stmt): Remove test of specific tree codes
for TREE_SIDE_EFFECTS handling.
2005-04-24 Per Bothner <per@bothner.com>
* c-opts.c (finish_options): Make the line-number of the <built-in>

View File

@ -149,19 +149,12 @@ build_stmt (enum tree_code code, ...)
length = TREE_CODE_LENGTH (code);
SET_EXPR_LOCATION (ret, input_location);
/* Most statements have implicit side effects all on their own,
such as control transfer. For those that do, we'll compute
the real value of TREE_SIDE_EFFECTS from its arguments. */
switch (code)
{
case EXPR_STMT:
side_effects = false;
break;
default:
side_effects = true;
break;
}
/* TREE_SIDE_EFFECTS will already be set for statements with
implicit side effects. Here we make sure it is set for other
expressions by checking whether the parameters have side
effects. */
side_effects = false;
for (i = 0; i < length; i++)
{
tree t = va_arg (p, tree);
@ -170,7 +163,7 @@ build_stmt (enum tree_code code, ...)
TREE_OPERAND (ret, i) = t;
}
TREE_SIDE_EFFECTS (ret) = side_effects;
TREE_SIDE_EFFECTS (ret) |= side_effects;
va_end (p);
return ret;