OSDN Git Service

2004-09-29 Andrew Haley <aph@redhat.com>
authoraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 29 Sep 2004 14:13:17 +0000 (14:13 +0000)
committeraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 29 Sep 2004 14:13:17 +0000 (14:13 +0000)
        PR java/17007
        * parse.y (patch_binop): Don't mess with the TREE_SIDE_EFFECTS of the
        result of TRUNC_MOD_EXPR.
        (patch_unaryop): Likewise for CONVERT_EXPR, which may throw.
        * decl.c (java_init_decl_processing): Mark
        soft_lookupinterfacemethod_node and soft_instanceof_node pure.

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

gcc/java/ChangeLog
gcc/java/decl.c
gcc/java/parse.y

index 5651350..cd5b84f 100644 (file)
@@ -1,3 +1,12 @@
+2004-09-29  Andrew Haley  <aph@redhat.com>
+
+       PR java/17007
+       * parse.y (patch_binop): Don't mess with the TREE_SIDE_EFFECTS of the
+       result of TRUNC_MOD_EXPR.
+       (patch_unaryop): Likewise for CONVERT_EXPR, which may throw.
+       * decl.c (java_init_decl_processing): Mark
+       soft_lookupinterfacemethod_node and soft_instanceof_node pure.
+
 2004-09-28  Tom Tromey  <tromey@redhat.com>
 
        PR java/15710:
index f6c03a5..573fa2c 100644 (file)
@@ -986,6 +986,7 @@ java_init_decl_processing (void)
     = builtin_function ("_Jv_IsInstanceOf",
                        build_function_type (boolean_type_node, t),
                        0, NOT_BUILT_IN, NULL, NULL_TREE);
+  DECL_IS_PURE (soft_instanceof_node) = 1;
   t = tree_cons (NULL_TREE, object_ptr_type_node,
                 tree_cons (NULL_TREE, object_ptr_type_node, endlink));
   soft_checkarraystore_node
@@ -1000,6 +1001,7 @@ java_init_decl_processing (void)
                        build_function_type (ptr_type_node, t),
                        0, NOT_BUILT_IN, NULL, NULL_TREE);
 
+  DECL_IS_PURE (soft_lookupinterfacemethod_node) = 1;
   t = tree_cons (NULL_TREE, object_ptr_type_node,
                 tree_cons (NULL_TREE, ptr_type_node,
                            tree_cons (NULL_TREE, ptr_type_node, 
index 847a532..e3dab6a 100644 (file)
@@ -13277,8 +13277,6 @@ patch_binop (tree node, tree wfl_op1, tree wfl_op2)
        {
          tree mod = build_java_binop (TRUNC_MOD_EXPR, prom_type, op1, op2);
          COMPOUND_ASSIGN_P (mod) = COMPOUND_ASSIGN_P (node);
-         TREE_SIDE_EFFECTS (mod)
-           = TREE_SIDE_EFFECTS (op1) | TREE_SIDE_EFFECTS (op2);
          return mod;
        }
       break;
@@ -14153,7 +14151,6 @@ patch_unaryop (tree node, tree wfl_op)
       else
        {
          value = fold (value);
-         TREE_SIDE_EFFECTS (value) = TREE_SIDE_EFFECTS (op);
          return value;
        }
       break;