OSDN Git Service

* tree.c (make_node): Set TREE_SIDE_EFFECTS for expressions that
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 4 Oct 1999 09:07:53 +0000 (09:07 +0000)
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 4 Oct 1999 09:07:53 +0000 (09:07 +0000)
are always have side-effects.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29798 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/tree.c

index 3dc292b..6f3504e 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 25e2680..221afba 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;