aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@gcc.gnu.org>2000-09-22 15:10:58 -0400
committerJason Merrill <jason@gcc.gnu.org>2000-09-22 15:10:58 -0400
commitf9d99dd28899656ab73816f6d8a79e9787c36134 (patch)
treeaa9e019ab9063aae58e26867fade97bbe9e62fcf /gcc
parentf21653969f01b9142c2710cad3c4e91fa6b3fe0a (diff)
downloadgcc-f9d99dd28899656ab73816f6d8a79e9787c36134.zip
gcc-f9d99dd28899656ab73816f6d8a79e9787c36134.tar.gz
gcc-f9d99dd28899656ab73816f6d8a79e9787c36134.tar.bz2
fix
From-SVN: r36574
Diffstat (limited to 'gcc')
-rw-r--r--gcc/dbxout.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/gcc/dbxout.c b/gcc/dbxout.c
index 1be2025..18f0822 100644
--- a/gcc/dbxout.c
+++ b/gcc/dbxout.c
@@ -2215,11 +2215,19 @@ dbxout_symbol_name (decl, suffix, letter)
const char *suffix;
int letter;
{
- /* One slight hitch: if this is a VAR_DECL which is a static
- class member, we must put out the mangled name instead of the
- DECL_NAME. Note also that static member (variable) names DO NOT begin
- with underscores in .stabs directives. */
- const char *name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl));
+ const char *name;
+
+ if (DECL_CONTEXT (decl) && TYPE_P (DECL_CONTEXT (decl)))
+ /* One slight hitch: if this is a VAR_DECL which is a static
+ class member, we must put out the mangled name instead of the
+ DECL_NAME. Note also that static member (variable) names DO NOT begin
+ with underscores in .stabs directives. */
+ name = IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl));
+ else
+ /* ...but if we're function-local, we don't want to include the junk
+ added by ASM_FORMAT_PRIVATE_NAME. */
+ name = IDENTIFIER_POINTER (DECL_NAME (decl));
+
if (name == 0)
name = "(anon)";
fprintf (asmfile, "%s \"%s%s:", ASM_STABS_OP, name,