From 9a3873b48fc6ff48d136c22fd05ef94366956123 Mon Sep 17 00:00:00 2001
From: Steve Ellcey <sje@cup.hp.com>
Date: Wed, 11 Dec 2002 20:41:43 +0000
Subject: [PATCH] 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
---
 gcc/ChangeLog          |  5 +++++
 gcc/config/ia64/ia64.c | 17 ++++++++++-------
 2 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f2f70b0a1639..7b4b91d7a4e6 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 daddb86a5531..68bbbc877564 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);
-- 
GitLab