diff options
author | Jason Merrill <jason@casey.cygnus.com> | 2000-04-26 00:36:56 +0000 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2000-04-25 20:36:56 -0400 |
commit | 1cfdcc15effc096604f32fb88ddc1ad8f67aab07 (patch) | |
tree | 86eb94bf7bf8baa171b95fd2c33f84eafa1c186c /gcc/dwarfout.c | |
parent | d25ed420a21ee1692ab894f53effeb3a0eac0207 (diff) | |
download | gcc-1cfdcc15effc096604f32fb88ddc1ad8f67aab07.zip gcc-1cfdcc15effc096604f32fb88ddc1ad8f67aab07.tar.gz gcc-1cfdcc15effc096604f32fb88ddc1ad8f67aab07.tar.bz2 |
dwarf2out.c (add_bound_info): Don't crash on an unexpanded SAVE_EXPR.
* dwarf2out.c (add_bound_info): Don't crash on an unexpanded SAVE_EXPR.
* dwarfout.c (output_decl): Ignore NAMESPACE_DECLs.
* dwarf2out.c (gen_subprogram_die): The class-scope declaration DIE
is the primary DIE for a member function.
(gen_decl_die): Call set_decl_origin_self here.
* dwarfout.c (output_decl): And here.
* integrate.c (output_inline_function): Not here.
Don't clear DECL_INLINE until after calling rest_of_compilation.
(set_decl_origin_self): No longer static.
* tree.h: Add prototype.
* toplev.c (note_deferral_of_defined_inline_function): Only write
out abstract instance for actual inlines.
* cp/decl.c (finish_function): Don't play games with DECL_INLINE.
From-SVN: r33430
Diffstat (limited to 'gcc/dwarfout.c')
-rw-r--r-- | gcc/dwarfout.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/dwarfout.c b/gcc/dwarfout.c index 400dc78..fafbcaa 100644 --- a/gcc/dwarfout.c +++ b/gcc/dwarfout.c @@ -4791,6 +4791,13 @@ output_decl (decl, containing_scope) output_type (origin, containing_scope); } + /* If we're emitting an out-of-line copy of an inline function, + set up to refer to the abstract instance emitted from + note_deferral_of_defined_inline_function. */ + if (DECL_INLINE (decl) && ! DECL_ABSTRACT (decl) + && ! (containing_scope && TYPE_P (containing_scope))) + set_decl_origin_self (decl); + /* If the following DIE will represent a function definition for a function with "extern" linkage, output a special "pubnames" DIE label just ahead of the actual DIE. A reference to this label @@ -5084,6 +5091,10 @@ output_decl (decl, containing_scope) output_die (output_formal_parameter_die, decl); break; + case NAMESPACE_DECL: + /* Ignore for now. */ + break; + default: abort (); } |