diff options
Diffstat (limited to 'gcc/java')
| -rw-r--r-- | gcc/java/ChangeLog | 7 | ||||
| -rw-r--r-- | gcc/java/expr.c | 12 | ||||
| -rw-r--r-- | gcc/java/java-tree.h | 1 | ||||
| -rw-r--r-- | gcc/java/lang.c | 2 |
4 files changed, 16 insertions, 6 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 8b5ef4ebac7..ae709011528 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,10 @@ +2002-04-04 Neil Booth <neil@daikokuya.demon.co.uk> + + * expr.c (truthvalue_conversion): Rename. Update. + (expand_compare): Update. + * java-tree.h (java_truthvalue_conversion): New. + * lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Redefine. + 2002-04-01 Neil Booth <neil@daikokuya.demon.co.uk> * java-tree.h (java_mark_addressable): New. diff --git a/gcc/java/expr.c b/gcc/java/expr.c index a4ecfb077c8..bba81d5e683 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -152,7 +152,7 @@ init_expr_processing() } tree -truthvalue_conversion (expr) +java_truthvalue_conversion (expr) tree expr; { /* It is simpler and generates better code to have only TRUTH_*_EXPR @@ -183,19 +183,19 @@ truthvalue_conversion (expr) case FLOAT_EXPR: case FFS_EXPR: /* These don't change whether an object is non-zero or zero. */ - return truthvalue_conversion (TREE_OPERAND (expr, 0)); + return java_truthvalue_conversion (TREE_OPERAND (expr, 0)); case COND_EXPR: /* Distribute the conversion into the arms of a COND_EXPR. */ return fold (build (COND_EXPR, boolean_type_node, TREE_OPERAND (expr, 0), - truthvalue_conversion (TREE_OPERAND (expr, 1)), - truthvalue_conversion (TREE_OPERAND (expr, 2)))); + java_truthvalue_conversion (TREE_OPERAND (expr, 1)), + java_truthvalue_conversion (TREE_OPERAND (expr, 2)))); case NOP_EXPR: /* If this is widening the argument, we can ignore it. */ if (TYPE_PRECISION (TREE_TYPE (expr)) >= TYPE_PRECISION (TREE_TYPE (TREE_OPERAND (expr, 0)))) - return truthvalue_conversion (TREE_OPERAND (expr, 0)); + return java_truthvalue_conversion (TREE_OPERAND (expr, 0)); /* fall through to default */ default: @@ -1656,7 +1656,7 @@ expand_compare (condition, value1, value2, target_pc) { tree target = lookup_label (target_pc); tree cond = fold (build (condition, boolean_type_node, value1, value2)); - expand_start_cond (truthvalue_conversion (cond), 0); + expand_start_cond (java_truthvalue_conversion (cond), 0); expand_goto (target); expand_end_cond (); } diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h index ae26b61cda1..84a2afb76ca 100644 --- a/gcc/java/java-tree.h +++ b/gcc/java/java-tree.h @@ -1045,6 +1045,7 @@ extern tree java_type_for_size PARAMS ((unsigned int, int)); extern tree java_unsigned_type PARAMS ((tree)); extern tree java_signed_type PARAMS ((tree)); extern tree java_signed_or_unsigned_type PARAMS ((int, tree)); +extern tree java_truthvalue_conversion PARAMS ((tree)); extern void add_assume_compiled PARAMS ((const char *, int)); extern tree lookup_class PARAMS ((tree)); extern tree lookup_java_constructor PARAMS ((tree, tree)); diff --git a/gcc/java/lang.c b/gcc/java/lang.c index 53e11beaed3..dbd41ee03c1 100644 --- a/gcc/java/lang.c +++ b/gcc/java/lang.c @@ -233,6 +233,8 @@ static int dependency_tracking = 0; #define LANG_HOOKS_MARK_ADDRESSABLE java_mark_addressable #undef LANG_HOOKS_EXPAND_EXPR #define LANG_HOOKS_EXPAND_EXPR java_expand_expr +#undef LANG_HOOKS_TRUTHVALUE_CONVERSION +#define LANG_HOOKS_TRUTHVALUE_CONVERSION java_truthvalue_conversion #undef LANG_HOOKS_DUP_LANG_SPECIFIC_DECL #define LANG_HOOKS_DUP_LANG_SPECIFIC_DECL java_dup_lang_specific_decl #undef LANG_HOOKS_DECL_PRINTABLE_NAME |

