diff options
author | Richard Henderson <rth@gcc.gnu.org> | 1999-10-04 16:57:47 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 1999-10-04 16:57:47 -0700 |
commit | 1fef02f64a6dd30c90d829df4de8b8706e4e3c02 (patch) | |
tree | 20e436ee3b77b4492f29da18678815fee347348a /gcc | |
parent | 8a693bd0bbd4a31a457cbd1a8692eeed60c1fb32 (diff) | |
download | gcc-1fef02f64a6dd30c90d829df4de8b8706e4e3c02.zip gcc-1fef02f64a6dd30c90d829df4de8b8706e4e3c02.tar.gz gcc-1fef02f64a6dd30c90d829df4de8b8706e4e3c02.tar.bz2 |
tree.c (build1): Set TREE_SIDE_EFFECTS for expressions that always have side-effects.
* tree.c (build1): Set TREE_SIDE_EFFECTS for expressions that
always have side-effects. Use memset not bzero.
(make_node): Likewise.
From-SVN: r29817
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/tree.c | 27 |
2 files changed, 31 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a03ab5dd..a8a2734 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Mon Oct 4 16:56:11 1999 Richard Henderson <rth@cygnus.com> + + * tree.c (build1): Set TREE_SIDE_EFFECTS for expressions that + always have side-effects. Use memset not bzero. + (make_node): Likewise. + Mon Oct 4 16:22:20 1999 Mark Mitchell <mark@codesourcery.com> * stmt.c (expand_anon_union_decl): When any of the elements of the @@ -36,7 +42,7 @@ Mon Oct 4 02:31:20 1999 Mark Mitchell <mark@codesourcery.com> 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. + always have side-effects. Sun Oct 3 14:14:16 1999 Jeffrey A Law (law@cygnus.com) @@ -1028,7 +1028,7 @@ make_node (code) else { t = (tree) obstack_alloc (obstack, length); - bzero ((PTR) t, length); + memset ((PTR) t, 0, length); } #ifdef GATHER_STATISTICS @@ -3115,8 +3115,10 @@ build1 (code, type, node) if (ggc_p) t = ggc_alloc_tree (length); else - t = (tree) obstack_alloc (obstack, length); - bzero ((PTR) t, length); + { + t = (tree) obstack_alloc (obstack, length); + memset ((PTR) t, 0, length); + } #ifdef GATHER_STATISTICS tree_node_counts[(int)kind]++; @@ -3138,6 +3140,25 @@ build1 (code, type, node) TREE_RAISES (t) = 1; } + 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; + } + return t; } |