ia64.c (ia64_hpux_asm_file_end): Don't send stripped name to globalize_label or assem...
authorSteve Ellcey <sje@cup.hp.com>
Wed, 11 Dec 2002 20:41:43 +0000 (20:41 +0000)
committerSteve Ellcey <sje@gcc.gnu.org>
Wed, 11 Dec 2002 20:41:43 +0000 (20:41 +0000)
* 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
gcc/config/ia64/ia64.c

index f2f70b0a163900897ad43f62e18af3ccb2bdda70..7b4b91d7a4e6e289a13342152bcb45f35ab47289 100644 (file)
@@ -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
index daddb86a5531b1223f1935b6db522bce286831ca..68bbbc877564fdd38e9a0519bf1b1cf21500a94a 100644 (file)
@@ -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);