]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Backport changes to set TREE_SIDE_EFFECTS automatically to 2.95 branch
authorBernd Schmidt <bernds@redhat.co.uk>
Thu, 11 Jan 2001 17:53:42 +0000 (17:53 +0000)
committerBernd Schmidt <bernds@gcc.gnu.org>
Thu, 11 Jan 2001 17:53:42 +0000 (17:53 +0000)
From-SVN: r38912

gcc/ChangeLog
gcc/tree.c

index 3d40878c4fa4c624ffc32f5011f44566586e1028..dc923e29be3996433378cdda5bbccf2593e31609 100644 (file)
@@ -1,3 +1,13 @@
+2001-01-11  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       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.
+
+       Mon Oct  4 02:12:41 1999  Mark Mitchell  <mark@codesourcery.com>
+       * tree.c (make_node): Set TREE_SIDE_EFFECTS for expressions that
+       always have side-effects.
+
 2001-01-01  Bernd Schmidt  <bernds@redhat.co.uk>
 
        * version.c: Bump.
index 5e29d2f9115bfa27195ed09ff4725a1833579af0..b6cdf7bebf8882b400c38d488aa7b52155a78353 100644 (file)
@@ -1121,6 +1121,26 @@ make_node (code)
     case 'c':
       TREE_CONSTANT (t) = 1;
       break;
+
+     case 'e':
+      switch (code)
+       {
+       case INIT_EXPR:
+       case MODIFY_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;
@@ -3107,6 +3127,24 @@ build1 (code, type, node)
        TREE_RAISES (t) = 1;
     }
 
+  switch (code)
+    {
+     case INIT_EXPR:
+     case MODIFY_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;
 }