mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-11 23:25:36 +08:00
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:
parent
9545759748
commit
bbcfd969e6
@ -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>
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user