summaryrefslogtreecommitdiff
path: root/gcc/dbxout.c
diff options
context:
space:
mode:
authorneil <neil@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-19 06:22:04 +0000
committerneil <neil@138bc75d-0d04-0410-961f-82ee72b054a4>2001-07-19 06:22:04 +0000
commitc37d72e9931dff0b6d6e649996c1bdaaeb654870 (patch)
treeb1d514bcbcb3022999013a3add1442cb71310221 /gcc/dbxout.c
parentf26876eec29e7a7ca6c69b854d4822f9cacd519e (diff)
downloadgcc-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.c64
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 */