diff options
author | Steve Ellcey <sje@cup.hp.com> | 2002-12-11 20:41:43 +0000 |
---|---|---|
committer | Steve Ellcey <sje@gcc.gnu.org> | 2002-12-11 20:41:43 +0000 |
commit | 9a3873b48fc6ff48d136c22fd05ef94366956123 (patch) | |
tree | 6fb25e06419b5a22c541753382ca730b32586cad /gcc/config/ia64/ia64.c | |
parent | 9a4816af1e99c66823fe71c67f60fe3b7f61b37d (diff) | |
download | gcc-9a3873b48fc6ff48d136c22fd05ef94366956123.zip gcc-9a3873b48fc6ff48d136c22fd05ef94366956123.tar.gz gcc-9a3873b48fc6ff48d136c22fd05ef94366956123.tar.bz2 |
ia64.c (ia64_hpux_asm_file_end): Don't send stripped name to globalize_label or assemble_name.
* config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
name to globalize_label or assemble_name.
From-SVN: r60046
Diffstat (limited to 'gcc/config/ia64/ia64.c')
-rw-r--r-- | gcc/config/ia64/ia64.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index daddb86..68bbbc8 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -8141,16 +8141,19 @@ ia64_hpux_asm_file_end (file) { while (extern_func_head) { - const char *const real_name = - (* targetm.strip_name_encoding) (extern_func_head->name); - tree decl = get_identifier (real_name); + char *real_name; + tree decl; - if (decl && ! TREE_ASM_WRITTEN (decl) && TREE_SYMBOL_REFERENCED (decl)) + real_name = (* targetm.strip_name_encoding) (extern_func_head->name); + tree decl = maybe_get_identifier (real_name); + + if (!decl || ! TREE_ASM_WRITTEN (decl) && TREE_SYMBOL_REFERENCED (decl)) { - TREE_ASM_WRITTEN (decl) = 1; - (*targetm.asm_out.globalize_label) (file, real_name); + if (decl) + TREE_ASM_WRITTEN (decl) = 1; + (*targetm.asm_out.globalize_label) (file, extern_func_head->name); fprintf (file, "%s", TYPE_ASM_OP); - assemble_name (file, real_name); + assemble_name (file, extern_func_head->name); putc (',', file); fprintf (file, TYPE_OPERAND_FMT, "function"); putc ('\n', file); |