diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/java/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/java/parse.y | 4 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 19beaaa..e999ddb 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,9 @@ +2003-11-11 Tom Tromey <tromey@redhat.com> + + PR java/12915: + * parse.y (merge_string_cste): Handle case where we have a + pointer that happens to be zero, not null_pointer_node. + 2003-11-10 Tom Tromey <tromey@redhat.com> * jcf-parse.c (classify_zip_file): Correctly compare 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. */ |