From eab3f38f804d6d636a8f8e5ed5918dd8f7cc809d Mon Sep 17 00:00:00 2001 From: Andrew Haley Date: Wed, 29 Sep 2004 14:13:17 +0000 Subject: [PATCH] re PR java/17007 (Inconsistent builtin attributes set by Java front end) 2004-09-29 Andrew Haley 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. From-SVN: r88289 --- gcc/java/ChangeLog | 9 +++++++++ gcc/java/decl.c | 2 ++ 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 + + 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 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; -- 2.30.2