diff options
| author | aph <aph@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-09-29 14:13:17 +0000 |
|---|---|---|
| committer | aph <aph@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-09-29 14:13:17 +0000 |
| commit | e4aa85d64ed67e2a964bd302539e5e5500b69dcc (patch) | |
| tree | 7af8b87d4be1496aa3c1819ffeff459a6be5d46c | |
| parent | 83e38fddcf292ad97b5e38bb28a7ed3bb5375510 (diff) | |
| download | ppe42-gcc-e4aa85d64ed67e2a964bd302539e5e5500b69dcc.tar.gz ppe42-gcc-e4aa85d64ed67e2a964bd302539e5e5500b69dcc.zip | |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88289 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/java/ChangeLog | 9 | ||||
| -rw-r--r-- | gcc/java/decl.c | 2 | ||||
| -rw-r--r-- | gcc/java/parse.y | 3 |
3 files changed, 11 insertions, 3 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 5651350501d..cd5b84fcd77 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -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: diff --git a/gcc/java/decl.c b/gcc/java/decl.c index f6c03a5bb7a..573fa2c9b08 100644 --- a/gcc/java/decl.c +++ b/gcc/java/decl.c @@ -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, diff --git a/gcc/java/parse.y b/gcc/java/parse.y index 847a5325a01..e3dab6ae7aa 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -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; |

