diff options
author | Neil Booth <neil@daikokuya.demon.co.uk> | 2001-07-19 21:17:09 +0000 |
---|---|---|
committer | Neil Booth <neil@gcc.gnu.org> | 2001-07-19 21:17:09 +0000 |
commit | e1772ac0583495ca8fbc949988dd51dbfc83b8fa (patch) | |
tree | 434ba7ff40dd5b0508e6609dc0b744e6680e3656 /gcc/dwarf2out.c | |
parent | 77f43519e73eaac473819ed22dd95e643f500907 (diff) | |
download | gcc-e1772ac0583495ca8fbc949988dd51dbfc83b8fa.zip gcc-e1772ac0583495ca8fbc949988dd51dbfc83b8fa.tar.gz gcc-e1772ac0583495ca8fbc949988dd51dbfc83b8fa.tar.bz2 |
Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
* Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
(final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
(toplev.o): Don't depend on xcoffout.h.
* c-decl.c: Include debug.h
(duplicate_decls): Use debug hook.
* dbxout.c (dbxout_source_file, dbxout_args): Make static.
(dbx_debug_hooks, xcoff_debug_hooks): Update.
(dbxout_types): Remove.
* dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
* debug.c (do_nothing_debug_hooks): Update.
(debug_true_tree, debug_nothing_rtx): New.
* debug.h (struct rtx_def): New.
(struct gcc_debug_hooks): New hooks ignore_block,
outlining_inline_function and label.
(debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
dwarf2out_frame_finish): New.
* dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
Make static, update prototype.
(dwarf2_debug_hooks): Update.
* dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
* dwarfout.c (dwarf_debug_hooks): Update.
* emit-rtl.c: Include debug.h.
(remove_unnecessary_notes): Use debug hook.
* final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
(final_scan_insn): Use debug hook.
* integrate.c (output_inline_function): Use debug hook.
* sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
(sdb_debug_hooks): Update.
* sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
* toplev.c: Don't include xcoffout.h.
(note_outlining_of_inline_function, debug_ignore_block): Remove.
* toplev.h (note_outlining_of_inline_function, debug_ignore_block):
Remove.
* tree.h (dwarf2out_do_frame): Remove.
From-SVN: r44163
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r-- | gcc/dwarf2out.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 99fa220..13a7e57 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -3022,7 +3022,9 @@ static void dwarf2out_start_source_file PARAMS ((unsigned, const char *)); static void dwarf2out_end_source_file PARAMS ((unsigned)); static void dwarf2out_begin_block PARAMS ((unsigned, unsigned)); static void dwarf2out_end_block PARAMS ((unsigned, unsigned)); +static bool dwarf2out_ignore_block PARAMS ((tree)); static void dwarf2out_global_decl PARAMS ((tree)); +static void dwarf2out_abstract_function PARAMS ((tree)); /* The debug hooks structure. */ @@ -3036,6 +3038,7 @@ struct gcc_debug_hooks dwarf2_debug_hooks = dwarf2out_end_source_file, dwarf2out_begin_block, dwarf2out_end_block, + dwarf2out_ignore_block, dwarf2out_source_line, dwarf2out_begin_prologue, debug_nothing_int, /* end_prologue */ @@ -3044,7 +3047,12 @@ struct gcc_debug_hooks dwarf2_debug_hooks = debug_nothing_int, /* end_function */ dwarf2out_decl, /* function_decl */ dwarf2out_global_decl, - debug_nothing_tree /* deferred_inline_function */ + debug_nothing_tree, /* deferred_inline_function */ + /* The DWARF 2 backend tries to reduce debugging bloat by not + emitting the abstract description of inline functions until + something tries to reference them. */ + dwarf2out_abstract_function, /* outlining_inline_function */ + debug_nothing_rtx /* label */ }; /* NOTE: In the comments in this file, many references are made to @@ -9619,7 +9627,7 @@ gen_type_die_for_member (type, member, context_die) of a function which we may later generate inlined and/or out-of-line instances of. */ -void +static void dwarf2out_abstract_function (decl) tree decl; { @@ -11176,7 +11184,7 @@ dwarf2out_end_block (line, blocknum) as we would end up with orphans, and in the presence of scheduling we may end up calling them anyway. */ -int +static bool dwarf2out_ignore_block (block) tree block; { |