diff options
author | neil <neil@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-07-19 06:22:04 +0000 |
---|---|---|
committer | neil <neil@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-07-19 06:22:04 +0000 |
commit | c37d72e9931dff0b6d6e649996c1bdaaeb654870 (patch) | |
tree | b1d514bcbcb3022999013a3add1442cb71310221 /gcc/dbxout.c | |
parent | f26876eec29e7a7ca6c69b854d4822f9cacd519e (diff) | |
download | gcc-c37d72e9931dff0b6d6e649996c1bdaaeb654870.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@44145 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/dbxout.c')
-rw-r--r-- | gcc/dbxout.c | 64 |
1 files changed, 36 insertions, 28 deletions
diff --git a/gcc/dbxout.c b/gcc/dbxout.c index e2f21ff88c9..ea05106fb02 100644 --- a/gcc/dbxout.c +++ b/gcc/dbxout.c @@ -317,6 +317,7 @@ static void dbxout_begin_function PARAMS ((tree)); static void dbxout_begin_block PARAMS ((unsigned, unsigned)); static void dbxout_end_block PARAMS ((unsigned, unsigned)); +static void dbxout_function_decl PARAMS ((tree)); struct gcc_debug_hooks dbx_debug_hooks = { @@ -337,7 +338,10 @@ struct gcc_debug_hooks dbx_debug_hooks = #else debug_nothing_tree, /* begin_function */ #endif - debug_nothing_int /* end_function */ + debug_nothing_int, /* end_function */ + dbxout_function_decl, + debug_nothing_tree, /* global_decl */ + debug_nothing_tree /* deferred_inline_function */ }; #endif /* DBX_DEBUGGING_INFO */ @@ -357,7 +361,10 @@ struct gcc_debug_hooks xcoff_debug_hooks = debug_nothing_int, /* end_prologue */ xcoffout_end_epilogue, debug_nothing_tree, /* begin_function */ - xcoffout_end_function + xcoffout_end_function, + debug_nothing_tree, /* function_decl */ + debug_nothing_tree, /* global_decl */ + debug_nothing_tree /* deferred_inline_function */ }; #endif /* XCOFF_DEBUGGING_INFO */ @@ -608,6 +615,33 @@ dbxout_end_block (line, n) ASM_OUTPUT_INTERNAL_LABEL (asmfile, "LBE", n); } +/* Output dbx data for a function definition. + This includes a definition of the function name itself (a symbol), + definitions of the parameters (locating them in the parameter list) + and then output the block that makes up the function's body + (including all the auto variables of the function). */ + +static void +dbxout_function_decl (decl) + tree decl; +{ +#ifndef DBX_FUNCTION_FIRST + dbxout_begin_function (decl); +#endif + dbxout_block (DECL_INITIAL (decl), 0, DECL_ARGUMENTS (decl)); +#ifdef DBX_OUTPUT_FUNCTION_END + DBX_OUTPUT_FUNCTION_END (asmfile, decl); +#endif +#if defined(ASM_OUTPUT_SECTION_NAME) + if (use_gnu_debug_info_extensions +#if defined(NO_DBX_FUNCTION_END) + && ! NO_DBX_FUNCTION_END +#endif + ) + dbxout_function_end (); +#endif +} + #endif /* DBX_DEBUGGING_INFO */ /* At the end of compilation, finish writing the symbol table. @@ -2733,30 +2767,4 @@ dbxout_begin_function (decl) dbxout_symbol (DECL_RESULT (decl), 1); } -/* Output dbx data for a function definition. - This includes a definition of the function name itself (a symbol), - definitions of the parameters (locating them in the parameter list) - and then output the block that makes up the function's body - (including all the auto variables of the function). */ - -void -dbxout_function (decl) - tree decl; -{ -#ifndef DBX_FUNCTION_FIRST - dbxout_begin_function (decl); -#endif - dbxout_block (DECL_INITIAL (decl), 0, DECL_ARGUMENTS (decl)); -#ifdef DBX_OUTPUT_FUNCTION_END - DBX_OUTPUT_FUNCTION_END (asmfile, decl); -#endif -#if defined(ASM_OUTPUT_SECTION_NAME) - if (use_gnu_debug_info_extensions -#if defined(NO_DBX_FUNCTION_END) - && ! NO_DBX_FUNCTION_END -#endif - ) - dbxout_function_end (); -#endif -} #endif /* DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO */ |