diff options
author | Jakub Jelinek <jakub@redhat.com> | 2009-10-26 21:18:26 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2009-10-26 21:18:26 +0100 |
commit | bde2d108c203ed057b7faa3daba72ecbe223c684 (patch) | |
tree | d897a3792fd374638d8f857ebbc1edebe9ae2500 /gcc/cp/cp-lang.c | |
parent | 20f2653ef0f7f2d33ec3e5ce389ab72d4216ec2a (diff) | |
download | gcc-bde2d108c203ed057b7faa3daba72ecbe223c684.zip gcc-bde2d108c203ed057b7faa3daba72ecbe223c684.tar.gz gcc-bde2d108c203ed057b7faa3daba72ecbe223c684.tar.bz2 |
re PR debug/41828 (DW_AT_name should not be present for anonymous aggregates)
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.
From-SVN: r153568
Diffstat (limited to 'gcc/cp/cp-lang.c')
-rw-r--r-- | gcc/cp/cp-lang.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/cp/cp-lang.c b/gcc/cp/cp-lang.c index d84325d..8aa01e2 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 |