summaryrefslogtreecommitdiffstats
path: root/gcc/config/rs6000/rs6000.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/rs6000/rs6000.c')
-rw-r--r--gcc/config/rs6000/rs6000.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index bbefa7e2a88..98fb376704f 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -5604,7 +5604,7 @@ rs6000_emit_prologue()
{
int i;
char rname[30];
- char *alloc_rname;
+ const char *alloc_rname;
rtvec p;
p = rtvec_alloc (2 + 64 - info->first_fp_reg_save);
@@ -6057,7 +6057,7 @@ rs6000_emit_epilogue(sibcall)
{
int i;
char rname[30];
- char *alloc_rname;
+ const char *alloc_rname;
sprintf (rname, "%s%d%s", RESTORE_FP_PREFIX,
info->first_fp_reg_save - 32, RESTORE_FP_SUFFIX);
@@ -7578,14 +7578,12 @@ rs6000_encode_section_info (decl)
{
size_t len1 = (DEFAULT_ABI == ABI_AIX) ? 1 : 2;
size_t len2 = strlen (XSTR (sym_ref, 0));
- char *str;
-
- str = ggc_alloc_string (NULL, len1 + len2);
+ char *str = alloca (len1 + len2 + 1);
str[0] = '.';
str[1] = '.';
memcpy (str + len1, XSTR (sym_ref, 0), len2 + 1);
- XSTR (sym_ref, 0) = str;
+ XSTR (sym_ref, 0) = ggc_alloc_string (str, len1 + len2);
}
}
else if (rs6000_sdata != SDATA_NONE
@@ -7625,13 +7623,11 @@ rs6000_encode_section_info (decl)
{
rtx sym_ref = XEXP (DECL_RTL (decl), 0);
size_t len = strlen (XSTR (sym_ref, 0));
- char *str;
+ char *str = alloca (len + 1);
- str = ggc_alloc_string (NULL, len + 1);
str[0] = '@';
memcpy (str + 1, XSTR (sym_ref, 0), len + 1);
-
- XSTR (sym_ref, 0) = str;
+ XSTR (sym_ref, 0) = ggc_alloc_string (str, len);
}
}
}
OpenPOWER on IntegriCloud