diff options
author | Neil Booth <neil@daikokuya.demon.co.uk> | 2001-07-19 06:22:04 +0000 |
---|---|---|
committer | Neil Booth <neil@gcc.gnu.org> | 2001-07-19 06:22:04 +0000 |
commit | 2b85879e637df70ff99b3d7bbea2dd0997cc907f (patch) | |
tree | b1d514bcbcb3022999013a3add1442cb71310221 /gcc/dwarf2out.c | |
parent | c60e94a70efc44dd419ec5119dad3aa7813949d3 (diff) | |
download | gcc-2b85879e637df70ff99b3d7bbea2dd0997cc907f.zip gcc-2b85879e637df70ff99b3d7bbea2dd0997cc907f.tar.gz gcc-2b85879e637df70ff99b3d7bbea2dd0997cc907f.tar.bz2 |
Makefile.in (toplev.o, [...]): Don't depend on dwarfout.h.
* Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
dwarfout.h.
* dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
to conditionally compiled block.
(dbx_debug_hooks, xcoff_debug_hooks): Update.
* dbxout.h (dbxout_function): Remove.
* debug.c (do_nothing_debug_hooks): Update.
* debug.h (struct gcc_debug_hooks): New hooks function_decl,
global_decl, deferred_inline_function.
* dwarf2out.c (dwarf2_debug_hooks): Update.
(dwarf2out_global_decl): New.
* dwarfout.c: Don't include dwarfout.h.
(dwarfout_global_decl, dwarfout_function_decl,
dwarfout_deferred_inline_function): New.
(dwarf_debug_hooks): Update.
* dwarfout.h: Remove.
* final.c: Don't include dwarfout.h.
* sdbout.c (sdbout_global_decl): New.
(sdbout_debug_hooks): Update.
* toplev.c: Don't include dwarfout.h.
(check_global_declarations, rest_of_compilation): Use new debug hooks.
(note_deferral_of_defined_inline_function): Remove.
* toplev.h (note_deferral_of_defined_inline_function): Remove.
* ch/Makefile.in (lex.o): No dependence on dwarfout.h.
* ch/lex.c: Don't include dwarfout.h.
* cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
(semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
* cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
* cp/optimize.c: Include debug.h.
(maybe_clone_body): Use debug hook.
* cp/semantics.c: Include debug.h.
(expand_body): Use debug hook.
* po/POTFILES.in: Remove dwarfout.h.
From-SVN: r44145
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r-- | gcc/dwarf2out.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 1dbdae0..99fa220 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -3022,6 +3022,7 @@ 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 void dwarf2out_global_decl PARAMS ((tree)); /* The debug hooks structure. */ @@ -3040,7 +3041,10 @@ struct gcc_debug_hooks dwarf2_debug_hooks = debug_nothing_int, /* end_prologue */ dwarf2out_end_epilogue, debug_nothing_tree, /* begin_function */ - debug_nothing_int /* end_function */ + debug_nothing_int, /* end_function */ + dwarf2out_decl, /* function_decl */ + dwarf2out_global_decl, + debug_nothing_tree /* deferred_inline_function */ }; /* NOTE: In the comments in this file, many references are made to @@ -11011,6 +11015,21 @@ dwarf2out_add_library_unit_info (filename, context_list) } } +/* Debug information for a global DECL. Called from toplev.c after + compilation proper has finished. */ +static void +dwarf2out_global_decl (decl) + tree decl; +{ + /* Output DWARF2 information for file-scope tentative data object + declarations, file-scope (extern) function declarations (which + had no corresponding body) and file-scope tagged type + declarations and definitions which have not yet been forced out. */ + + if (TREE_CODE (decl) != FUNCTION_DECL || !DECL_INITIAL (decl)) + dwarf2out_decl (decl); +} + /* Write the debugging output for DECL. */ void |