summaryrefslogtreecommitdiff
path: root/gcc/cp/cp-lang.c
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2009-10-26 20:18:26 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2009-10-26 20:18:26 +0000
commit709be7ff7011587d1edfb75d34e5f0dedae260a1 (patch)
treed897a3792fd374638d8f857ebbc1edebe9ae2500 /gcc/cp/cp-lang.c
parente8c9f615d3856ee3d8635e8ec92bbd2fa2cfa3a9 (diff)
downloadgcc-709be7ff7011587d1edfb75d34e5f0dedae260a1.tar.gz
PR debug/41828
* cp-lang.c (cxx_dwarf_name): Return NULL instead of <anonymous ...> for anonymous aggregate names. * dwarf2out.c (add_pubname, add_pubtype, generic_parameter_die, add_name_and_src_coords_attributes, gen_namespace_die, dwarf2out_set_name): Handle dwarf2_name returning NULL. * g++.dg/debug/dwarf2/anonname1.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153568 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/cp-lang.c')
-rw-r--r--gcc/cp/cp-lang.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/cp/cp-lang.c b/gcc/cp/cp-lang.c
index d84325d291b..8aa01e24d39 100644
--- a/gcc/cp/cp-lang.c
+++ b/gcc/cp/cp-lang.c
@@ -137,6 +137,9 @@ cxx_dwarf_name (tree t, int verbosity)
{
gcc_assert (DECL_P (t));
+ if (DECL_NAME (t)
+ && (ANON_AGGRNAME_P (DECL_NAME (t)) || LAMBDANAME_P (DECL_NAME (t))))
+ return NULL;
if (verbosity >= 2)
return decl_as_string (t,
TFF_DECL_SPECIFIERS | TFF_UNQUALIFIED_NAME