summaryrefslogtreecommitdiff
path: root/gcc/dbxout.c
diff options
context:
space:
mode:
authordpatel <dpatel@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-13 20:12:35 +0000
committerdpatel <dpatel@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-13 20:12:35 +0000
commitcd3034ab64310b3c8532da4a17a4d5c0c758a714 (patch)
tree9aaff1c9a8381ed4f6691a1116a56384ffbe669d /gcc/dbxout.c
parent5c423bd6696aa8fb11afb300cef94d89c06afff7 (diff)
downloadgcc-cd3034ab64310b3c8532da4a17a4d5c0c758a714.tar.gz
PR debug/7078
* dbxout.c (dbxout_symbol_name): Emit mangled names for NAMESPACE_DECL memebers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75815 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/dbxout.c')
-rw-r--r--gcc/dbxout.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/gcc/dbxout.c b/gcc/dbxout.c
index 4971be819d1..2c6ff7b56e2 100644
--- a/gcc/dbxout.c
+++ b/gcc/dbxout.c
@@ -1,6 +1,6 @@
/* Output dbx-format symbol table information from GNU compiler.
Copyright (C) 1987, 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+ 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of GCC.
@@ -2614,9 +2614,11 @@ dbxout_symbol_name (tree decl, const char *suffix, int letter)
{
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
+ if (DECL_CONTEXT (decl)
+ && (TYPE_P (DECL_CONTEXT (decl))
+ || TREE_CODE (DECL_CONTEXT (decl)) == NAMESPACE_DECL))
+ /* One slight hitch: if this is a VAR_DECL which is a class member
+ or a namespace 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));