summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/ia64/ia64.c17
2 files changed, 15 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f2f70b0a163..7b4b91d7a4e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2002-12-09 Steve Ellcey <sje@cup.hp.com>
+
+ * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
+ name to globalize_label or assemble_name.
+
Wed Dec 11 20:15:19 2002 J"orn Rennecke <joern.rennecke@superh.com>
* sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index daddb86a553..68bbbc87756 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);