This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Do not create assembler names for abstract decls


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)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]