-
- Downloads
re PR c++/44188 (Fails to produce DW_AT_typedef for typedef of anonymous struct)
Fix PR c++/44188 gcc/ChangeLog: PR c++/44188 * c-common.c (is_typedef_decl): Move this definition ... * tree.c (is_typedef_decl): ... here. (typdef_variant_p): Move definition here from gcc/cp/tree.c. * c-common.h (is_typedef_decl): Move this declaration ... * tree.h (is_typedef_decl): ... here. (typedef_variant_p): Move declaration here from gcc/cp/cp-tree.h * dwarf2out.c (is_naming_typedef_decl): New function. (gen_tagged_type_die): Split out of ... (gen_type_die_with_usage): ... this function. When an anonymous tagged type is named by a typedef, make sure a DW_TAG_typedef DIE is emitted for the typedef. (gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming anonymous tagged types. gcc/cp/ChangeLog: PR c++/44188 * cp-tree.h (typedef_variant_p): Move this declaration to gcc/tree.h. * tree.c (typedef_variant_p): Move this definition to gcc/tree.c. * decl.c (grokdeclarator): Do not rename debug info of an anonymous tagged type named by a typedef. gcc/testsuite/ChangeLog: PR c++/44188 * g++.dg/debug/dwarf2/typedef3.C: New test. From-SVN: r159943
Showing
- gcc/ChangeLog 17 additions, 0 deletionsgcc/ChangeLog
- gcc/c-common.c 0 additions, 9 deletionsgcc/c-common.c
- gcc/c-common.h 0 additions, 1 deletiongcc/c-common.h
- gcc/cp/ChangeLog 9 additions, 0 deletionsgcc/cp/ChangeLog
- gcc/cp/cp-tree.h 0 additions, 1 deletiongcc/cp/cp-tree.h
- gcc/cp/decl.c 6 additions, 4 deletionsgcc/cp/decl.c
- gcc/cp/tree.c 0 additions, 8 deletionsgcc/cp/tree.c
- gcc/dwarf2out.c 131 additions, 55 deletionsgcc/dwarf2out.c
- gcc/testsuite/ChangeLog 5 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/g++.dg/debug/dwarf2/typedef3.C 19 additions, 0 deletionsgcc/testsuite/g++.dg/debug/dwarf2/typedef3.C
- gcc/tree.c 17 additions, 0 deletionsgcc/tree.c
- gcc/tree.h 2 additions, 0 deletionsgcc/tree.h
Loading
Please register or sign in to comment