diff options
Diffstat (limited to 'gcc/config/pa/pa.c')
-rw-r--r-- | gcc/config/pa/pa.c | 21 |
1 files changed, 1 insertions, 20 deletions
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 8cdd43e115d..c74fb62af05 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -5674,9 +5674,6 @@ output_millicode_call (insn, call_dest) } extern struct obstack permanent_obstack; -extern struct obstack *saveable_obstack; -extern struct obstack *rtl_obstack; -extern struct obstack *current_obstack; /* INSN is either a function call. It may have an unconditional jump in its delay slot. @@ -5792,16 +5789,8 @@ output_call (insn, call_dest, sibcall) not found on the list, create a new entry on the list. */ if (deferred_plabels == NULL || i == n_deferred_plabels) { - struct obstack *ambient_obstack = current_obstack; - struct obstack *ambient_rtl_obstack = rtl_obstack; const char *real_name; - /* Any RTL we create here needs to live until the end of - the compilation unit and therefore must live on the - permanent obstack. */ - current_obstack = &permanent_obstack; - rtl_obstack = &permanent_obstack; - if (deferred_plabels == 0) deferred_plabels = (struct deferred_plabel *) xmalloc (1 * sizeof (struct deferred_plabel)); @@ -5817,10 +5806,6 @@ output_call (insn, call_dest, sibcall) strlen (name) + 1); strcpy (deferred_plabels[i].name, name); - /* Switch back to normal obstack allocation. */ - current_obstack = ambient_obstack; - rtl_obstack = ambient_rtl_obstack; - /* Gross. We have just implicitly taken the address of this function, mark it as such. */ STRIP_NAME_ENCODING (real_name, name); @@ -5965,11 +5950,7 @@ hppa_encode_label (sym, permanent) int len = strlen (str); char *newstr; - if (ggc_p) - newstr = ggc_alloc_string (NULL, len + 1); - else - newstr = obstack_alloc ((permanent ? &permanent_obstack : saveable_obstack), - len + 2); + newstr = ggc_alloc_string (NULL, len + 1); if (str[0] == '*') *newstr++ = *str++; |