From 2bcbee3aae8e27021a1f41b77efa965483901825 Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Sat, 12 Dec 2009 01:12:55 +0000 Subject: [PATCH] tree.c (need_assembler_name_p): Abstract decls do not need an assembler name. 2009-12-12 Richard Guenther * tree.c (need_assembler_name_p): Abstract decls do not need an assembler name. * dwarf2out.c (dwarf2out_abstract_function): Preserve DECL_ABSTRACT properly. From-SVN: r155189 --- gcc/ChangeLog | 7 +++++++ gcc/dwarf2out.c | 3 ++- gcc/tree.c | 4 ++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a555f3f165d..daad24950ad 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2009-12-12 Richard Guenther + + * tree.c (need_assembler_name_p): Abstract decls do not need + an assembler name. + * dwarf2out.c (dwarf2out_abstract_function): Preserve + DECL_ABSTRACT properly. + 2009-12-11 Richard Guenther * lto-streamer-in.c (lto_input_tree_ref): Do not register diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 3e3cf316acb..ec5298c0ccb 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -17434,7 +17434,7 @@ dwarf2out_abstract_function (tree decl) dw_die_ref old_die; tree save_fn; tree context; - int was_abstract = DECL_ABSTRACT (decl); + int was_abstract; htab_t old_decl_loc_table; /* Make sure we have the actual abstract inline, not a clone. */ @@ -17466,6 +17466,7 @@ dwarf2out_abstract_function (tree decl) current_function_decl = decl; push_cfun (DECL_STRUCT_FUNCTION (decl)); + was_abstract = DECL_ABSTRACT (decl); set_decl_abstract_flags (decl, 1); dwarf2out_decl (decl); if (! was_abstract) diff --git a/gcc/tree.c b/gcc/tree.c index 35bfd68dfcc..769b332e244 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -4273,6 +4273,10 @@ need_assembler_name_p (tree decl) || DECL_ASSEMBLER_NAME_SET_P (decl)) return false; + /* Abstract decls do not need an assembler name. */ + if (DECL_ABSTRACT (decl)) + return false; + /* For VAR_DECLs, only static, public and external symbols need an assembler name. */ if (TREE_CODE (decl) == VAR_DECL