From a4d8ec652b4ebc18b2ac56aac881993b8ba42fb4 Mon Sep 17 00:00:00 2001 From: Devang Patel Date: Tue, 13 Jan 2004 12:12:35 -0800 Subject: [PATCH] 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 --- gcc/ChangeLog | 6 ++++++ gcc/dbxout.c | 10 ++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index aafb532d3ac..4a6758b6aae 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-01-13 Devang Patel PR c++/12709 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)); -- 2.30.2