summaryrefslogtreecommitdiff
path: root/gcc/dwarfout.c
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2000-04-26 00:36:56 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2000-04-26 00:36:56 +0000
commit0dbc398a316095658e920f48a965aef98ad953ee (patch)
tree86eb94bf7bf8baa171b95fd2c33f84eafa1c186c /gcc/dwarfout.c
parent6e6a06ca4b3803a7443541cb80d0b788df1fed94 (diff)
downloadgcc-0dbc398a316095658e920f48a965aef98ad953ee.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33430 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/dwarfout.c')
-rw-r--r--gcc/dwarfout.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/dwarfout.c b/gcc/dwarfout.c
index 400dc785ca1..fafbcaa926f 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 ();
}