aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/parse.y
diff options
context:
space:
mode:
authorAnthony Green <green@cygnus.com>2000-01-16 23:56:06 +0000
committerAnthony Green <green@gcc.gnu.org>2000-01-16 23:56:06 +0000
commitc52b57714b25f9cdfd4977325a68b2bf62b07de3 (patch)
tree19ee2fec6dfa4cd54b604ad5600c0519440c831a /gcc/java/parse.y
parent2ce7461bd00a2b5941a0311e11affe766ffbd7af (diff)
downloadgcc-c52b57714b25f9cdfd4977325a68b2bf62b07de3.zip
gcc-c52b57714b25f9cdfd4977325a68b2bf62b07de3.tar.gz
gcc-c52b57714b25f9cdfd4977325a68b2bf62b07de3.tar.bz2
parse.y (build_string_concatenation): Only use StringBuffer(String) shortcut if String arg is constant.
2000-01-16 Anthony Green <green@cygnus.com> * parse.y (build_string_concatenation): Only use StringBuffer(String) shortcut if String arg is constant. From-SVN: r31450
Diffstat (limited to 'gcc/java/parse.y')
-rw-r--r--gcc/java/parse.y6
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/java/parse.y b/gcc/java/parse.y
index 0c2f6b8..8563508 100644
--- a/gcc/java/parse.y
+++ b/gcc/java/parse.y
@@ -10218,9 +10218,9 @@ build_string_concatenation (op1, op2)
if (!IS_CRAFTED_STRING_BUFFER_P (op1))
{
/* Two solutions here:
- 1) OP1 is a string reference, we call new StringBuffer(OP1)
- 2) OP1 is something else, we call new StringBuffer().append(OP1). */
- if (JSTRING_TYPE_P (TREE_TYPE (op1)))
+ 1) OP1 is a constant string reference, we call new StringBuffer(OP1)
+ 2) OP1 is something else, we call new StringBuffer().append(OP1). */
+ if (TREE_CONSTANT (op1) && JSTRING_TYPE_P (TREE_TYPE (op1)))
op1 = BUILD_STRING_BUFFER (op1);
else
{