summaryrefslogtreecommitdiffstats
path: root/gcc/java
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/java')
-rw-r--r--gcc/java/ChangeLog7
-rw-r--r--gcc/java/expr.c12
-rw-r--r--gcc/java/java-tree.h1
-rw-r--r--gcc/java/lang.c2
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
OpenPOWER on IntegriCloud