]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Patch to fix g++.other/local1.C.
authorJim Wilson <wilson@cygnus.com>
Wed, 13 May 1998 14:04:15 +0000 (14:04 +0000)
committerJim Wilson <wilson@gcc.gnu.org>
Wed, 13 May 1998 14:04:15 +0000 (07:04 -0700)
* varasm.c (make_decl_rtl): Revert April 1 change.
* alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
Get function name from the SYMBOL_REF in the DECL_RTL, not from
DECL_ASSEMBLER_NAME.
* i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
DECL_ASSEMBLER_NAME.

From-SVN: r19723

12 files changed:
gcc/ChangeLog
gcc/config/alpha/alpha.h
gcc/config/alpha/win-nt.h
gcc/config/arm/arm.h
gcc/config/i386/unix.h
gcc/config/i386/winnt.c
gcc/config/i960/i960.h
gcc/config/m68k/linux.h
gcc/config/pa/pa.h
gcc/config/sparc/sparc.h
gcc/config/vax/vax.h
gcc/varasm.c

index ecc751e4ac366776808667d4bbb1dd8216251ad0..8c5120380313a3896ff06578dbc3cea75597f474 100644 (file)
@@ -1,3 +1,13 @@
+1998-05-13  Jim Wilson  <wilson@cygnus.com>
+
+       * varasm.c (make_decl_rtl): Revert April 1 change.
+       * alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h,
+       m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK):
+       Get function name from the SYMBOL_REF in the DECL_RTL, not from
+       DECL_ASSEMBLER_NAME.
+       * i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of
+       DECL_ASSEMBLER_NAME.
+
 Wed May 13 13:09:19 1998  Jim Wilson  <wilson@cygnus.com>
 
        * i386.c (notice_update_cc, output_float_compare): Disable
index bb762fb0e2b047c82cae3aa78ef7f1c60702b131..b9a44d20a99680b42c485d424cdada34c059d28b 100644 (file)
@@ -2121,7 +2121,7 @@ literal_section ()                                                \
 
 #define ASM_OUTPUT_MI_THUNK(FILE, THUNK_FNDECL, DELTA, FUNCTION)       \
 do {                                                                   \
-  char *fn_name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (FUNCTION)); \
+  char *fn_name = XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0);             \
                                                                        \
   fprintf (FILE, "\t.ent ");                                           \
   assemble_name (FILE, alpha_function_name);                           \
index 30c8d6d07cd420321a826e84519009e8b70036e4..ca35925c0585a377e0f2c5fc884183840e00d07f 100644 (file)
@@ -139,7 +139,7 @@ Boston, MA 02111-1307, USA.  */
 #undef ASM_OUTPUT_MI_THUNK
 #define ASM_OUTPUT_MI_THUNK(FILE, THUNK_FNDECL, DELTA, FUNCTION)       \
 do {                                                                   \
-  char *fn_name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (FUNCTION)); \
+  char *fn_name = XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0);             \
                                                                        \
   fprintf (FILE, "\t.ent ");                                           \
   assemble_name (FILE, alpha_function_name);                           \
index dab507f2e79cd6b178d16cc32ff67762f5b8ec7c..8f4cb2021adae9c17a2dffd545c47405d18f609b 100644 (file)
@@ -1982,8 +1982,7 @@ do {                                                                      \
        }                                                               \
     }                                                                  \
   fputs ("\tb\t", FILE);                                               \
-  assemble_name (FILE,                                                 \
-                IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (FUNCTION)));  \
+  assemble_name (FILE, XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0));       \
   fputc ('\n', FILE);                                                  \
 } while (0)
 
index c74911c7107f6434d1c6e5c79cb5e8c6003aa079..47440ddd943df4aea685a7915218517d0c27b1ac 100644 (file)
@@ -179,15 +179,13 @@ do {                                                                            \
       output_asm_insn (AS1 (pop%L0,%0), xops);                               \
       output_asm_insn ("addl $_GLOBAL_OFFSET_TABLE_+[.-%P1],%0", xops);              \
       fprintf (FILE, "\tmovl ");                                             \
-      assemble_name                                                          \
-       (FILE, IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (FUNCTION)));          \
+      assemble_name (FILE, XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0));         \
       fprintf (FILE, "@GOT(%%ebx),%%ecx\n\tpopl %%ebx\n\tjmp *%%ecx\n");      \
     }                                                                        \
   else                                                                       \
     {                                                                        \
       fprintf (FILE, "\tjmp ");                                                      \
-      assemble_name                                                          \
-       (FILE, IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (FUNCTION)));          \
+      assemble_name (FILE, XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0));         \
       fprintf (FILE, "\n");                                                  \
     }                                                                        \
 } while (0)
index 8c35f3979c7bd4d74b9f97d8e0a2b331bf5bca81..bb663cec6c7f779f759aa052c50e496ee35f783e 100644 (file)
@@ -37,6 +37,8 @@ gen_stdcall_suffix (decl)
   tree decl;
 {
   int total = 0;
+  /* ??? This probably should use XSTR (XEXP (DECL_RTL (decl), 0), 0) instead
+     of DECL_ASSEMBLER_NAME.  */
   char *asmname = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl));
   char *newsym;
 
index ed07e9a485fc4a3f7fbda58551436f5f7484a07f..27967f09a6505d1d18916cb473636d4b94d09bc3 100644 (file)
@@ -1568,7 +1568,6 @@ do {                                                                      \
       fprintf (FILE, "\taddo r5,g0,g0\n");                             \
     }                                                                  \
   fprintf (FILE, "\tbx ");                                             \
-  assemble_name                                                                \
-    (FILE, IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (FUNCTION)));       \
+  assemble_name (FILE, XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0));       \
   fprintf (FILE, "\n");                                                        \
 } while (0);
index 4dfd56a97c3450e82c1d8972746b3ac6835ccd55..0df0bd8e575493738b63e0d9f1504dd130178c69 100644 (file)
@@ -375,15 +375,13 @@ do {                                                                      \
   if (flag_pic)                                                                \
     {                                                                  \
       fprintf (FILE, "\tbra.l ");                                      \
-      assemble_name                                                    \
-       (FILE, IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (FUNCTION)));    \
+      assemble_name (FILE, XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0));   \
       fprintf (FILE, "@PLTPC\n");                                      \
     }                                                                  \
   else                                                                 \
     {                                                                  \
       fprintf (FILE, "\tjmp ");                                                \
-      assemble_name                                                    \
-       (FILE, IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (FUNCTION)));    \
+      assemble_name (FILE, XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0));   \
       fprintf (FILE, "\n");                                            \
     }                                                                  \
 } while (0)
index a4b4974b3d12f67f2d027d91325e75d1365755f8..6f9c9be86b16fd7dff7285e75feffcfe93f2b903 100644 (file)
@@ -1126,8 +1126,7 @@ extern enum cmp_type hppa_branch_type;
 #endif
 
 #define ASM_OUTPUT_MI_THUNK(FILE, THUNK_FNDECL, DELTA, FUNCTION) \
-{ char *my_name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (THUNK_FNDECL)); \
-  char *target_name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (FUNCTION)); \
+{ char *target_name = XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0); \
   output_function_prologue (FILE, 0); \
   if (VAL_14_BITS_P (DELTA)) \
     fprintf (FILE, "\tb %s\n\tldo %d(%%r26),%%r26\n", target_name, DELTA); \
index 01f9d98a62c9c62da7901886a116ddf719069c54..fea8e9205f1f0adb91c677ec9fada965286ffd3e 100644 (file)
@@ -3075,25 +3075,21 @@ do {                                                                    \
        fprintf (FILE, "\tadd %%o0,%d,%%o0\n", DELTA);                  \
       fprintf (FILE, "\tmov %%o7,%%g1\n");                             \
       fprintf (FILE, "\tcall ");                                       \
-      assemble_name                                                    \
-       (FILE, IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (FUNCTION)));    \
+      assemble_name (FILE, XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0));   \
       fprintf (FILE, ",0\n");                                          \
     }                                                                  \
   else if (TARGET_CM_EMBMEDANY)                                                \
     {                                                                  \
       fprintf (FILE, "\tsetx ");                                       \
-      assemble_name                                                    \
-       (FILE, IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (FUNCTION)));    \
+      assemble_name (FILE, XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0));   \
       fprintf (FILE, ",%%g5,%%g1\n\tjmp %%g1\n");                      \
     }                                                                  \
   else                                                                 \
     {                                                                  \
       fprintf (FILE, "\tsethi %%hi(");                                 \
-      assemble_name                                                    \
-       (FILE, IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (FUNCTION)));    \
+      assemble_name (FILE, XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0));   \
       fprintf (FILE, "),%%g1\n\tjmp %%g1+%%lo(");                      \
-      assemble_name                                                    \
-       (FILE, IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (FUNCTION)));    \
+      assemble_name (FILE, XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0));   \
       fprintf (FILE, ")\n");                                           \
     }                                                                  \
   if (!TARGET_CM_EMBMEDANY || flag_pic)                                        \
index 1c96e1e7397a01399245ab03710c93077258d7b0..3b4c54999cce8dea8a357aaad9df193d37715188 100644 (file)
@@ -1225,7 +1225,7 @@ do {                                              \
   fprintf (FILE, "\t.word 0x0ffc\n");          \
   fprintf (FILE, "\taddl2 $%d,4(ap)\n", DELTA);        \
   fprintf (FILE, "\tjmp ");                    \
-  assemble_name (FILE, IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (FUNCTION))); \
+  assemble_name (FILE,  XSTR (XEXP (DECL_RTL (FUNCTION), 0), 0)); \
   fprintf (FILE, "+2\n");                      \
 } while (0)
 
index afdee7b78e5a5fcde18de7b511318201079d6dae..867ae1f17131efa3698f96b4aa9fe133b8b21431 100644 (file)
@@ -741,16 +741,6 @@ make_decl_rtl (decl, asmspec, top_level)
              ASM_FORMAT_PRIVATE_NAME (label, name, var_labelno);
              name = obstack_copy0 (saveable_obstack, label, strlen (label));
              var_labelno++;
-
-#if 0
-             /* ??? This results in incorrect stabs debug info for static
-                local variables.  */
-             /* We've changed the name by which this entity is
-                known.  In order that we can generate 
-                correct references to it, we update its
-                DECL_ASSEMBLER_NAME.  */
-             DECL_ASSEMBLER_NAME (decl) = get_identifier (name);
-#endif
            }
 
          if (name == 0)