aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/parse.y
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/java/parse.y')
-rw-r--r--gcc/java/parse.y4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/java/parse.y b/gcc/java/parse.y
index 448e0c8..fc4963d 100644
--- a/gcc/java/parse.y
+++ b/gcc/java/parse.y
@@ -13841,7 +13841,9 @@ merge_string_cste (tree op1, tree op2, int after)
string = boolean_true;
else if (op2 == boolean_false_node)
string = boolean_false;
- else if (op2 == null_pointer_node)
+ else if (op2 == null_pointer_node
+ || (integer_zerop (op2)
+ && TREE_CODE (TREE_TYPE (op2)) == POINTER_TYPE))
/* FIXME: null is not a compile-time constant, so it is only safe to
merge if the overall expression is non-constant. However, this
code always merges without checking the overall expression. */