After rerunning test, this will fail one gcc regression test. So I updated the patch to make sure all test will pass:
Index: gcc/dwarf2out.c =================================================================== --- gcc/dwarf2out.c (revision 201850) +++ gcc/dwarf2out.c (working copy) @@ -16545,10 +16545,9 @@ add_src_coords_attributes (dw_die_ref die, tree de static void add_linkage_name (dw_die_ref die, tree decl) { - if (debug_info_level > DINFO_LEVEL_TERSE + if (debug_info_level > DINFO_LEVEL_NONE && (TREE_CODE (decl) == FUNCTION_DECL || TREE_CODE (decl) == VAR_DECL) && TREE_PUBLIC (decl) - && !DECL_ABSTRACT (decl) && !(TREE_CODE (decl) == VAR_DECL && DECL_REGISTER (decl)) && die->die_tag != DW_TAG_member) { Index: gcc/testsuite/g++.dg/debug/dwarf2/cdtor-1.C =================================================================== --- gcc/testsuite/g++.dg/debug/dwarf2/cdtor-1.C (revision 201850) +++ gcc/testsuite/g++.dg/debug/dwarf2/cdtor-1.C (working copy) @@ -14,4 +14,4 @@ main() K k; } -// { dg-final {scan-assembler-times " DW_AT_\[MIPS_\]*linkage_name" 2 } } +// { dg-final {scan-assembler-times " DW_AT_\[MIPS_\]*linkage_name" 4 } } On Mon, Aug 19, 2013 at 9:22 AM, Cary Coutant <ccout...@google.com> wrote: >> This patch emits linkage_name at -gmlt. It also make sure abstract >> decls' linkage_names are emitted so that inlined functions can also >> find linkage name. >> >> Bootstrapped and passed regression test. >> >> OK for google branches? > > OK. > > -cary