From 92d4501f96d2e4faaced90c19ca3b986c0875366 Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Wed, 13 May 1998 14:04:15 +0000 Subject: [PATCH] Patch to fix g++.other/local1.C. * 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 --- gcc/ChangeLog | 10 ++++++++++ gcc/config/alpha/alpha.h | 2 +- gcc/config/alpha/win-nt.h | 2 +- gcc/config/arm/arm.h | 3 +-- gcc/config/i386/unix.h | 6 ++---- gcc/config/i386/winnt.c | 2 ++ gcc/config/i960/i960.h | 3 +-- gcc/config/m68k/linux.h | 6 ++---- gcc/config/pa/pa.h | 3 +-- gcc/config/sparc/sparc.h | 12 ++++-------- gcc/config/vax/vax.h | 2 +- gcc/varasm.c | 10 ---------- 12 files changed, 26 insertions(+), 35 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ecc751e4ac3..8c512038031 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +1998-05-13 Jim Wilson + + * 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 * i386.c (notice_update_cc, output_float_compare): Disable diff --git a/gcc/config/alpha/alpha.h b/gcc/config/alpha/alpha.h index bb762fb0e2b..b9a44d20a99 100644 --- a/gcc/config/alpha/alpha.h +++ b/gcc/config/alpha/alpha.h @@ -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); \ diff --git a/gcc/config/alpha/win-nt.h b/gcc/config/alpha/win-nt.h index 30c8d6d07cd..ca35925c058 100644 --- a/gcc/config/alpha/win-nt.h +++ b/gcc/config/alpha/win-nt.h @@ -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); \ diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index dab507f2e79..8f4cb2021ad 100644 --- a/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h @@ -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) diff --git a/gcc/config/i386/unix.h b/gcc/config/i386/unix.h index c74911c7107..47440ddd943 100644 --- a/gcc/config/i386/unix.h +++ b/gcc/config/i386/unix.h @@ -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) diff --git a/gcc/config/i386/winnt.c b/gcc/config/i386/winnt.c index 8c35f3979c7..bb663cec6c7 100644 --- a/gcc/config/i386/winnt.c +++ b/gcc/config/i386/winnt.c @@ -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; diff --git a/gcc/config/i960/i960.h b/gcc/config/i960/i960.h index ed07e9a485f..27967f09a65 100644 --- a/gcc/config/i960/i960.h +++ b/gcc/config/i960/i960.h @@ -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); diff --git a/gcc/config/m68k/linux.h b/gcc/config/m68k/linux.h index 4dfd56a97c3..0df0bd8e575 100644 --- a/gcc/config/m68k/linux.h +++ b/gcc/config/m68k/linux.h @@ -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) diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h index a4b4974b3d1..6f9c9be86b1 100644 --- a/gcc/config/pa/pa.h +++ b/gcc/config/pa/pa.h @@ -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); \ diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h index 01f9d98a62c..fea8e9205f1 100644 --- a/gcc/config/sparc/sparc.h +++ b/gcc/config/sparc/sparc.h @@ -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) \ diff --git a/gcc/config/vax/vax.h b/gcc/config/vax/vax.h index 1c96e1e7397..3b4c54999cc 100644 --- a/gcc/config/vax/vax.h +++ b/gcc/config/vax/vax.h @@ -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) diff --git a/gcc/varasm.c b/gcc/varasm.c index afdee7b78e5..867ae1f1713 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -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) -- 2.30.2