From e1772ac0583495ca8fbc949988dd51dbfc83b8fa Mon Sep 17 00:00:00 2001 From: Neil Booth Date: Thu, 19 Jul 2001 21:17:09 +0000 Subject: 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 --- gcc/dwarf2out.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'gcc/dwarf2out.c') 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; { -- cgit v1.1