diff options
author | Jason Merrill <jason@gcc.gnu.org> | 2000-09-22 15:10:58 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2000-09-22 15:10:58 -0400 |
commit | f9d99dd28899656ab73816f6d8a79e9787c36134 (patch) | |
tree | aa9e019ab9063aae58e26867fade97bbe9e62fcf | |
parent | f21653969f01b9142c2710cad3c4e91fa6b3fe0a (diff) | |
download | gcc-f9d99dd28899656ab73816f6d8a79e9787c36134.zip gcc-f9d99dd28899656ab73816f6d8a79e9787c36134.tar.gz gcc-f9d99dd28899656ab73816f6d8a79e9787c36134.tar.bz2 |
fix
From-SVN: r36574
-rw-r--r-- | gcc/dbxout.c | 18 |
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, |