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.y8
1 files changed, 2 insertions, 6 deletions
diff --git a/gcc/java/parse.y b/gcc/java/parse.y
index e422c85..a35e6dc 100644
--- a/gcc/java/parse.y
+++ b/gcc/java/parse.y
@@ -13070,11 +13070,7 @@ do_merge_string_cste (cste, string, string_len, after)
const char *old = TREE_STRING_POINTER (cste);
int old_len = TREE_STRING_LENGTH (cste);
int len = old_len + string_len;
- char *new;
-
- cste = make_node (STRING_CST);
- TREE_STRING_LENGTH (cste) = len;
- new = TREE_STRING_POINTER (cste) = ggc_alloc (len+1);
+ char *new = alloca (len+1);
if (after)
{
@@ -13087,7 +13083,7 @@ do_merge_string_cste (cste, string, string_len, after)
memcpy (&new [old_len], string, string_len);
}
new [len] = '\0';
- return cste;
+ return build_string (len, new);
}
/* Tries to merge OP1 (a STRING_CST) and OP2 (if suitable). Return a