diff options
author | Devang Patel <dpatel@apple.com> | 2004-01-13 12:12:35 -0800 |
---|---|---|
committer | Devang Patel <dpatel@gcc.gnu.org> | 2004-01-13 12:12:35 -0800 |
commit | a4d8ec652b4ebc18b2ac56aac881993b8ba42fb4 (patch) | |
tree | 9aaff1c9a8381ed4f6691a1116a56384ffbe669d | |
parent | bfaba7a9c354ab688a552596cbf37d1c21081c36 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/dbxout.c | 10 |
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)); |