diff options
author | Neil Booth <neil@daikokuya.demon.co.uk> | 2001-07-17 19:47:58 +0000 |
---|---|---|
committer | Neil Booth <neil@gcc.gnu.org> | 2001-07-17 19:47:58 +0000 |
commit | 653e276c6536663cda57bda038a9df4e64adb96f (patch) | |
tree | 9abd13faa762d57f769d9f43c78300834738874b /gcc/sdbout.c | |
parent | 91a18fe0e6d96ec2cdad7d4f12ada3b4f5ed11e6 (diff) | |
download | gcc-653e276c6536663cda57bda038a9df4e64adb96f.zip gcc-653e276c6536663cda57bda038a9df4e64adb96f.tar.gz gcc-653e276c6536663cda57bda038a9df4e64adb96f.tar.bz2 |
dbxout.c (dbxout_really_begin_function): Rename to dbxout_begin_function.
* dbxout.c (dbxout_really_begin_function): Rename to
dbxout_begin_function.
(dbx_debug_hooks, xcoff_debug_hooks): Update.
(dbxout_begin_function): Remove.
(dbxout_function): Update.
(dbxout_source_line): Update prototype.
* dbxout.h (dbxout_begin_function): Remove.
* debug.c (do_nothing_debug_hooks): Update.
(debug_nothing_tree): Update.
(debug_nothing_charstar_rtx): Remove.
* debug.h (union tree_node): Declare.
(struct rtx_def): Remove.
(gcc_debug_hooks): New hooks begin_prologue, end_prologue,
begin_function. Change source_line prototype.
(debug_nothing_tree): New.
(debug_nothing_charstar_rtx): Delete.
(dwarf2out_begin_prologue): Moved from ...
* tree.h: ... here.
* dwarf2out.c (dwarf2_debug_hooks): Update.
(dwarf2out_begin_prologue): Update prototype. If genuine dwarf2
debug info, call dwarf2out_source_line.
(dwarf2out_souce_line): Update prototype.
* dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
Change prototype, make static.
(dwarfout_source_line): Update prototype.
(dwarf_debug_hooks): Update.
* dwarfout.h (dwarfout_begin_function): Remove.
* final.c (final_start_function, final_scan_insn): Use appropriate
debug hooks, update to use notice_source_line.
(output_source_line): Rename notice_source_line. Don't call the
source_line debug hook.
* sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
make static, update prototype.
(sdbout_mark_begin_function): Rename sdbout_begin_function, update
prototype.
(sdbout_end_prologue): New.
(sdbout_source_line): Update prototype.
(sdbout_debug_hooks): Update.
(sdbout_symbol): Remove unused var.
* sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
Delete.
* varasm.c: Include debug.h.
(assemble_start_function): Use begin_function debug_hook.
* xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
update with prototype.
(xcoffout_source_line): Update prototype.
* xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
update prototype.
(xcoffout_source_line): Update prototype.
From-SVN: r44087
Diffstat (limited to 'gcc/sdbout.c')
-rw-r--r-- | gcc/sdbout.c | 56 |
1 files changed, 39 insertions, 17 deletions
diff --git a/gcc/sdbout.c b/gcc/sdbout.c index 0738ca3..d6bccab 100644 --- a/gcc/sdbout.c +++ b/gcc/sdbout.c @@ -97,8 +97,13 @@ static void sdbout_start_source_file PARAMS ((unsigned, const char *)); static void sdbout_end_source_file PARAMS ((unsigned)); static void sdbout_begin_block PARAMS ((unsigned, unsigned)); static void sdbout_end_block PARAMS ((unsigned, unsigned)); -static void sdbout_source_line PARAMS ((const char *, rtx)); +static void sdbout_source_line PARAMS ((unsigned int, const char *)); static void sdbout_end_epilogue PARAMS ((void)); +#ifndef MIPS_DEBUGGING_INFO +static void sdbout_begin_prologue PARAMS ((unsigned int, const char *)); +#endif +static void sdbout_end_prologue PARAMS ((unsigned int)); +static void sdbout_begin_function PARAMS ((tree)); static void sdbout_end_function PARAMS ((unsigned int)); static char *gen_fake_label PARAMS ((void)); static int plain_type PARAMS ((tree)); @@ -299,7 +304,17 @@ struct gcc_debug_hooks sdb_debug_hooks = sdbout_begin_block, sdbout_end_block, sdbout_source_line, +#ifdef MIPS_DEBUGGING_INFO + /* Defer on MIPS systems so that parameter descriptions follow + function entry. */ + debug_nothing_int_charstar, /* begin_prologue */ + sdbout_end_prologue, /* end_prologue */ +#else + sdbout_begin_prologue, /* begin_prologue */ + debug_nothing_int, /* end_prologue */ +#endif sdbout_end_epilogue, + sdbout_begin_function, sdbout_end_function }; @@ -775,8 +790,6 @@ sdbout_symbol (decl, local) } else if (GET_CODE (value) == SUBREG) { - int offset = 0; - while (GET_CODE (value) == SUBREG) value = SUBREG_REG (value); if (GET_CODE (value) == REG) @@ -1521,12 +1534,10 @@ sdbout_end_block (line, n) } static void -sdbout_source_line (filename, note) +sdbout_source_line (line, filename) + unsigned int line; const char *filename ATTRIBUTE_UNUSED; - rtx note; { - unsigned int line = NOTE_LINE_NUMBER (note); - /* COFF relative line numbers must be positive. */ if (line > sdb_begin_function_line) { @@ -1543,21 +1554,32 @@ sdbout_source_line (filename, note) /* Output sdb info for the current function name. Called from assemble_start_function. */ -void -sdbout_mark_begin_function () +static void +sdbout_begin_function (decl) + tree decl ATTRIBUTE_UNUSED; { sdbout_symbol (current_function_decl, 0); } -/* Called at beginning of function body (after prologue). - Record the function's starting line number, so we can output - relative line numbers for the other lines. - Describe beginning of outermost block. - Also describe the parameter list. */ +/* Called at beginning of function body (before or after prologue, + depending on MIPS_DEBUGGING_INFO). Record the function's starting + line number, so we can output relative line numbers for the other + lines. Describe beginning of outermost block. Also describe the + parameter list. */ -void -sdbout_begin_function (line) - int line; +#ifndef MIPS_DEBUGGING_INFO +static void +sdbout_begin_prologue (line, file) + unsigned int line; + const char *file ATTRIBUTE_UNUSED; +{ + sdbout_end_prologue (line); +} +#endif + +static void +sdbout_end_prologue (line) + unsigned int line; { sdb_begin_function_line = line - 1; PUT_SDB_FUNCTION_START (line); |