aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2004-01-13 12:12:35 -0800
committerDevang Patel <dpatel@gcc.gnu.org>2004-01-13 12:12:35 -0800
commita4d8ec652b4ebc18b2ac56aac881993b8ba42fb4 (patch)
tree9aaff1c9a8381ed4f6691a1116a56384ffbe669d
parentbfaba7a9c354ab688a552596cbf37d1c21081c36 (diff)
downloadgcc-a4d8ec652b4ebc18b2ac56aac881993b8ba42fb4.zip
gcc-a4d8ec652b4ebc18b2ac56aac881993b8ba42fb4.tar.gz
gcc-a4d8ec652b4ebc18b2ac56aac881993b8ba42fb4.tar.bz2
re PR debug/7078 (stabs are not generated correctly with c++ namespaces are used)
PR debug/7078 * dbxout.c (dbxout_symbol_name): Emit mangled names for NAMESPACE_DECL memebers. From-SVN: r75815
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/dbxout.c10
2 files changed, 12 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index aafb532..4a6758b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-01-13 Devang Patel <dpatel@apple.com
+
+ PR debug/7078
+ * dbxout.c (dbxout_symbol_name): Emit mangled names for
+ NAMESPACE_DECL memebers.
+
2004-01-13 Andrew Pinski <pinskia@physics.uc.edu>
PR c++/12709
diff --git a/gcc/dbxout.c b/gcc/dbxout.c
index 4971be8..2c6ff7b 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));