This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Do not create assembler names for abstract decls
- From: Richard Guenther <rguenther at suse dot de>
- To: gcc-patches at gcc dot gnu dot org
- Date: Fri, 11 Dec 2009 23:08:31 +0100 (CET)
- Subject: Re: [PATCH] Do not create assembler names for abstract decls
- References: <alpine.LNX.2.00.0912112035010.17161@zhemvz.fhfr.qr>
On Fri, 11 Dec 2009, Richard Guenther wrote:
>
> With free-lang-data we force assembler names for abstract decls.
> This is not needed. Bootstrapped on x86_64-unknown-linux-gnu,
> testing in progress.
This uncovers the fact that dwarf2out_abstract_function doesn't
properly preserve DECL_ABSTRACT when building SPEC 2006.
Fixed like the following - pending testing I'll commit this
as well.
Richard.
2009-12-11 Richard Guenther <rguenther@suse.de>
* dwarf2out.c (dwarf2out_abstract_function): Preserve
DECL_ABSTRACT properly.
Index: gcc/dwarf2out.c
===================================================================
--- gcc/dwarf2out.c.orig 2009-12-11 23:05:32.000000000 +0100
+++ gcc/dwarf2out.c 2009-12-11 23:04:31.000000000 +0100
@@ -17436,7 +17436,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. */
@@ -17468,6 +17468,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)