aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>1999-10-04 09:07:53 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>1999-10-04 09:07:53 +0000
commit783feeb0345506e257cc83d5dd1c8ac7b359cbf8 (patch)
tree33b89b37e7bc341d76361e18e0cbdf068ebc0b5e /gcc
parent37f88e3ea0d4548ac3f8c06a24b0d7e257385ae4 (diff)
downloadgcc-783feeb0345506e257cc83d5dd1c8ac7b359cbf8.zip
gcc-783feeb0345506e257cc83d5dd1c8ac7b359cbf8.tar.gz
gcc-783feeb0345506e257cc83d5dd1c8ac7b359cbf8.tar.bz2
tree.c (make_node): Set TREE_SIDE_EFFECTS for expressions that are always have side-effects.
* tree.c (make_node): Set TREE_SIDE_EFFECTS for expressions that are always have side-effects. From-SVN: r29798
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree.c21
2 files changed, 26 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3dc292b..6f3504e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Mon Oct 4 02:12:41 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * tree.c (make_node): Set TREE_SIDE_EFFECTS for expressions that
+ are always have side-effects.
+
Sun Oct 3 14:14:16 1999 Jeffrey A Law (law@cygnus.com)
* cppinit.c (is_idchar initializer): Tighten tests for when
diff --git a/gcc/tree.c b/gcc/tree.c
index 25e2680..221afba 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -1078,6 +1078,27 @@ make_node (code)
case 'c':
TREE_CONSTANT (t) = 1;
break;
+
+ case 'e':
+ switch (code)
+ {
+ case INIT_EXPR:
+ case MODIFY_EXPR:
+ case VA_ARG_EXPR:
+ case RTL_EXPR:
+ case PREDECREMENT_EXPR:
+ case PREINCREMENT_EXPR:
+ case POSTDECREMENT_EXPR:
+ case POSTINCREMENT_EXPR:
+ /* All of these have side-effects, no matter what their
+ operands are. */
+ TREE_SIDE_EFFECTS (t) = 1;
+ break;
+
+ default:
+ break;
+ }
+ break;
}
return t;