diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-11-25 02:36:40 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-11-25 02:36:40 +0000 |
commit | e7b3c55cb8a5b152bb20362c37e40579b007ed44 (patch) | |
tree | b8d824a990ecfa26f4e85b6a58fd25bf6211beab /gcc/toplev.c | |
parent | 37076bbb2d70a8fcd3d03ced83dd7b6d4bd57b95 (diff) | |
download | gcc-e7b3c55cb8a5b152bb20362c37e40579b007ed44.tar.gz |
* dwarf2out.c (free_AT, free_die): New fns.
(remove_children): Call them.
(output_line_info): Disable removal of duplicate notes.
Generate minimal debug info for types with TYPE_DECL_SUPPRESS_INFO set.
* dwarf2out.c (gen_struct_or_union_type_die): TYPE_DECL_SUPPRESS_INFO
means pretend the type isn't defined.
Don't defer emitting types.
(gen_type_die_for_member): New fn.
(gen_decl_die): Call it.
(splice_child_die): New fn.
(gen_member_die): Call it rather than generate duplicate dies.
Defer emitting information for the abstract instance of an inline
until we either inline it or emit an out-of-line copy.
* dwarf2out.c (decl_ultimate_origin): Ignore DECL_ABSTRACT_ORIGIN
from output_inline_function if DECL_ABSTRACT is also set.
(block_ultimate_origin): Likewise.
(gen_abstract_function): New fn.
(gen_decl_die, gen_inlined_subroutine_die): Call it.
(gen_subprogram_die): An abstract instance is not a declaration
just because it doesn't match current_function_decl. Don't abort
because DECL_DEFER_OUTPUT isn't set. Do abort if a declaration
has an abstract origin.
* toplev.c (rest_of_compilation): Don't emit dwarf2 info for the
abstract instance here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30659 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r-- | gcc/toplev.c | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c index 53a8a792329..dbe5dceb9dc 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -3690,17 +3690,6 @@ rest_of_compilation (decl) set_decl_abstract_flags (decl, 0); } #endif -#ifdef DWARF2_DEBUGGING_INFO - /* Generate the DWARF2 info for the "abstract" instance - of a function which we may later generate inlined and/or - out-of-line instances of. */ - if (write_symbols == DWARF2_DEBUG) - { - set_decl_abstract_flags (decl, 1); - TIMEVAR (symout_time, dwarf2out_decl (decl)); - set_decl_abstract_flags (decl, 0); - } -#endif TIMEVAR (integration_time, save_for_inline_nocopy (decl)); DECL_SAVED_INSNS (decl)->inlinable = inlinable; goto exit_rest_of_compilation; |