tree.c (make_node): Set TREE_SIDE_EFFECTS for expressions that are always have side...
authorMark Mitchell <mark@codesourcery.com>
Mon, 4 Oct 1999 09:07:53 +0000 (09:07 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Mon, 4 Oct 1999 09:07:53 +0000 (09:07 +0000)
* tree.c (make_node): Set TREE_SIDE_EFFECTS for expressions that
are always have side-effects.

From-SVN: r29798

gcc/ChangeLog
gcc/tree.c

index 3dc292b9421e4aecf6400364e68d85990af46a0a..6f3504e5ec6842e86e5680234c6914d7cf04157f 100644 (file)
@@ -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
index 25e2680e1b3ee29ef2d1460a156b8eb9bb71b35a..221afba5184cf9458013e41a1ec41b0d1e2d60af 100644 (file)
@@ -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;