(output_local_subroutine_die): Use the function name
authorRichard Stallman <rms@gnu.org>
Tue, 23 Nov 1993 09:18:25 +0000 (09:18 +0000)
committerRichard Stallman <rms@gnu.org>
Tue, 23 Nov 1993 09:18:25 +0000 (09:18 +0000)
from its symbol_ref, not DECL_ASSEMBLER_NAME.

From-SVN: r6142

gcc/dwarfout.c

index 1300afd..70dc51e 100644 (file)
@@ -3557,8 +3557,22 @@ output_local_subroutine_die (arg)
       if (TREE_ASM_WRITTEN (decl))
        {
          char label[MAX_ARTIFICIAL_LABEL_BYTES];
+         rtx x;
+         char *fnname;
 
-         low_pc_attribute (IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)));
+         /* Get the function's name, as described by its RTL.
+            This may be different from the DECL_NAME name used
+             in the source file.  */
+
+         x = DECL_RTL (decl);
+         if (GET_CODE (x) != MEM)
+           abort ();
+         x = XEXP (x, 0);
+         if (GET_CODE (x) != SYMBOL_REF)
+           abort ();
+         fnname = XSTR (x, 0);
+
+         low_pc_attribute (fnname);
          sprintf (label, FUNC_END_LABEL_FMT, current_funcdef_number);
          high_pc_attribute (label);
          sprintf (label, BODY_BEGIN_LABEL_FMT, current_funcdef_number);