diff options
author | Tom Tromey <tromey@redhat.com> | 2003-11-11 20:20:07 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2003-11-11 20:20:07 +0000 |
commit | 5b84be73837bd61dc88a7a76fd68f90440dc2e49 (patch) | |
tree | 971140b336245b8620fd978e7b6c01d66c1b7c80 /gcc/java/parse.y | |
parent | ec629ef5a4869ae8ad18470b792bf7fce78ad01c (diff) | |
download | gcc-5b84be73837bd61dc88a7a76fd68f90440dc2e49.zip gcc-5b84be73837bd61dc88a7a76fd68f90440dc2e49.tar.gz gcc-5b84be73837bd61dc88a7a76fd68f90440dc2e49.tar.bz2 |
re PR java/12915 (Broken String concatenation)
PR java/12915:
* parse.y (merge_string_cste): Handle case where we have a
pointer that happens to be zero, not null_pointer_node.
From-SVN: r73461
Diffstat (limited to 'gcc/java/parse.y')
-rw-r--r-- | gcc/java/parse.y | 4 |
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. */ |