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
This commit is contained in:
Neil Booth 2001-07-19 21:17:09 +00:00 committed by Neil Booth
parent 77f43519e7
commit e1772ac058
18 changed files with 139 additions and 121 deletions

View File

@ -1,3 +1,41 @@
2001-07-19 Neil Booth <neil@daikokuya.demon.co.uk>
* 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.
2001-07-19 Catherine Moore <clm@cygnus.com>
* config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.

View File

@ -1156,7 +1156,7 @@ $(srcdir)/c-parse.y: c-parse.in
c-decl.o : c-decl.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(RTL_H) $(C_TREE_H) \
$(GGC_H) $(TARGET_H) c-lex.h flags.h function.h output.h $(EXPR_H) \
toplev.h intl.h $(TM_P_H)
debug.h toplev.h intl.h $(TM_P_H)
c-typeck.o : c-typeck.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(C_TREE_H) \
$(TARGET_H) flags.h intl.h output.h $(EXPR_H) $(RTL_H) toplev.h $(TM_P_H)
c-lang.o : c-lang.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(C_TREE_H) \
@ -1339,7 +1339,7 @@ diagnostic.o : diagnostic.c diagnostic.h diagnostic.def \
$(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(RTL_H) $(TM_P_H) flags.h \
$(GGC_H) input.h $(INSN_ATTR_H) insn-config.h toplev.h intl.h
toplev.o : toplev.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(RTL_H) function.h \
flags.h input.h $(INSN_ATTR_H) xcoffout.h output.h diagnostic.h \
flags.h input.h $(INSN_ATTR_H) output.h diagnostic.h \
debug.h insn-config.h intl.h $(RECOG_H) Makefile toplev.h \
dwarf2out.h sdbout.h dbxout.h $(EXPR_H) hard-reg-set.h $(BASIC_BLOCK_H) \
graph.h $(LOOP_H) except.h $(REGS_H) $(TIMEVAR_H) $(lang_options_files) \
@ -1414,7 +1414,7 @@ xcoffout.o : xcoffout.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(RTL_H) xcoffout.h \
emit-rtl.o : emit-rtl.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TREE_H) flags.h \
function.h $(REGS_H) insn-config.h $(RECOG_H) real.h $(GGC_H) \
$(EXPR_H) $(srcdir)/../include/obstack.h hard-reg-set.h bitmap.h toplev.h \
$(HASHTAB_H) $(TM_P_H)
$(HASHTAB_H) $(TM_P_H) debug.h
real.o : real.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) toplev.h $(TM_P_H)
integrate.o : integrate.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TREE_H) flags.h \
debug.h $(INTEGRATE_H) insn-config.h $(EXPR_H) real.h $(REGS_H) \
@ -1524,8 +1524,7 @@ sched-vis.o : sched-vis.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) sched-int.h \
final.o : final.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) $(TREE_H) flags.h intl.h \
$(REGS_H) $(RECOG_H) conditions.h insn-config.h $(INSN_ATTR_H) function.h \
real.h output.h hard-reg-set.h except.h debug.h \
xcoffout.h toplev.h reload.h dwarf2out.h sdbout.h \
dbxout.h $(BASIC_BLOCK_H) $(TM_P_H) $(TARGET_H)
toplev.h reload.h dwarf2out.h $(BASIC_BLOCK_H) $(TM_P_H) $(TARGET_H)
recog.o : recog.c $(CONFIG_H) $(SYSTEM_H) $(RTL_H) function.h $(BASIC_BLOCK_H) \
$(REGS_H) $(RECOG_H) $(EXPR_H) hard-reg-set.h flags.h insn-config.h \
$(INSN_ATTR_H) real.h toplev.h output.h reload.h $(TM_P_H)

View File

@ -42,6 +42,7 @@ Boston, MA 02111-1307, USA. */
#include "tm_p.h"
#include "cpplib.h"
#include "target.h"
#include "debug.h"
/* In grokdeclarator, distinguish syntactic contexts of declarators. */
enum decl_context
@ -1960,7 +1961,7 @@ duplicate_decls (newdecl, olddecl, different_binding_level)
been written out yet. */
if (new_is_definition && DECL_INITIAL (olddecl) && TREE_USED (olddecl))
{
note_outlining_of_inline_function (olddecl);
(*debug_hooks->outlining_inline_function) (olddecl);
/* The new defn must not be inline. */
DECL_INLINE (newdecl) = 0;

View File

@ -289,6 +289,7 @@ static void dbxout_finish PARAMS ((const char *));
static void dbxout_start_source_file PARAMS ((unsigned, const char *));
static void dbxout_end_source_file PARAMS ((unsigned));
static void dbxout_source_line PARAMS ((unsigned int, const char *));
static void dbxout_source_file PARAMS ((FILE *, const char *));
#if defined(ASM_OUTPUT_SECTION_NAME)
static void dbxout_function_end PARAMS ((void));
#endif
@ -297,6 +298,7 @@ static void dbxout_type_index PARAMS ((tree));
#if DBX_CONTIN_LENGTH > 0
static void dbxout_continue PARAMS ((void));
#endif
static void dbxout_args PARAMS ((tree));
static void dbxout_type_fields PARAMS ((tree));
static void dbxout_type_method_1 PARAMS ((tree, const char *));
static void dbxout_type_methods PARAMS ((tree));
@ -329,6 +331,7 @@ struct gcc_debug_hooks dbx_debug_hooks =
dbxout_end_source_file,
dbxout_begin_block,
dbxout_end_block,
debug_true_tree, /* ignore_block */
dbxout_source_line, /* source_line */
dbxout_source_line, /* begin_prologue: just output line info */
debug_nothing_int, /* end_prologue */
@ -341,7 +344,9 @@ struct gcc_debug_hooks dbx_debug_hooks =
debug_nothing_int, /* end_function */
dbxout_function_decl,
debug_nothing_tree, /* global_decl */
debug_nothing_tree /* deferred_inline_function */
debug_nothing_tree, /* deferred_inline_function */
debug_nothing_tree, /* outlining_inline_function */
debug_nothing_rtx /* label */
};
#endif /* DBX_DEBUGGING_INFO */
@ -356,6 +361,7 @@ struct gcc_debug_hooks xcoff_debug_hooks =
dbxout_end_source_file,
xcoffout_begin_block,
xcoffout_end_block,
debug_true_tree, /* ignore_block */
xcoffout_source_line,
xcoffout_begin_prologue, /* begin_prologue */
debug_nothing_int, /* end_prologue */
@ -364,7 +370,9 @@ struct gcc_debug_hooks xcoff_debug_hooks =
xcoffout_end_function,
debug_nothing_tree, /* function_decl */
debug_nothing_tree, /* global_decl */
debug_nothing_tree /* deferred_inline_function */
debug_nothing_tree, /* deferred_inline_function */
debug_nothing_tree, /* outlining_inline_function */
debug_nothing_rtx /* label */
};
#endif /* XCOFF_DEBUGGING_INFO */
@ -547,7 +555,7 @@ dbxout_end_source_file (line)
/* Output debugging info to FILE to switch to sourcefile FILENAME. */
void
static void
dbxout_source_file (file, filename)
FILE *file;
const char *filename;
@ -2595,7 +2603,7 @@ dbxout_reg_parms (parms)
/* Given a chain of ..._TYPE nodes (as come in a parameter list),
output definitions of those names, in raw form */
void
static void
dbxout_args (args)
tree args;
{
@ -2608,24 +2616,6 @@ dbxout_args (args)
}
}
/* Given a chain of ..._TYPE nodes,
find those which have typedef names and output those names.
This is to ensure those types get output. */
void
dbxout_types (types)
register tree types;
{
while (types)
{
if (TYPE_NAME (types)
&& TREE_CODE (TYPE_NAME (types)) == TYPE_DECL
&& ! TREE_ASM_WRITTEN (TYPE_NAME (types)))
dbxout_symbol (TYPE_NAME (types), 1);
types = TREE_CHAIN (types);
}
}
/* Output everything about a symbol block (a BLOCK node
that represents a scope level),
including recursive output of contained blocks.

View File

@ -18,9 +18,6 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
extern void dbxout_source_file PARAMS ((FILE *, const char *));
extern void dbxout_types PARAMS ((tree));
extern void dbxout_args PARAMS ((tree));
extern int dbxout_symbol PARAMS ((tree, int));
extern void dbxout_parms PARAMS ((tree));
extern void dbxout_reg_parms PARAMS ((tree));

View File

@ -28,8 +28,9 @@ struct gcc_debug_hooks do_nothing_debug_hooks =
debug_nothing_int_charstar,
debug_nothing_int_charstar,
debug_nothing_int,
debug_nothing_int_int,
debug_nothing_int_int,
debug_nothing_int_int, /* begin_block */
debug_nothing_int_int, /* end_block */
debug_true_tree, /* ignore_block */
debug_nothing_int_charstar, /* source_line */
debug_nothing_int_charstar, /* begin_prologue */
debug_nothing_int, /* end_prologue */
@ -38,7 +39,9 @@ struct gcc_debug_hooks do_nothing_debug_hooks =
debug_nothing_int, /* end_function */
debug_nothing_tree, /* function_decl */
debug_nothing_tree, /* global_decl */
debug_nothing_tree /* deferred_inline_function */
debug_nothing_tree, /* deferred_inline_function */
debug_nothing_tree, /* outlining_inline_function */
debug_nothing_rtx /* label */
};
/* This file contains implementations of each debug hook that do
@ -55,6 +58,19 @@ debug_nothing_tree (decl)
{
}
bool
debug_true_tree (block)
union tree_node *block ATTRIBUTE_UNUSED;
{
return true;
}
void
debug_nothing_rtx (insn)
struct rtx_def *insn ATTRIBUTE_UNUSED;
{
}
void
debug_nothing_charstar (main_filename)
const char *main_filename ATTRIBUTE_UNUSED;

View File

@ -19,6 +19,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define GCC_DEBUG_H
union tree_node;
struct rtx_def;
/* This structure contains hooks for the debug information output
functions, accessed through the global instance debug_hooks set in
@ -53,6 +54,13 @@ struct gcc_debug_hooks
/* Record the end of a block. Arguments as for begin_block. */
void (* end_block) PARAMS ((unsigned int line, unsigned int n));
/* Returns nonzero if it is appropriate not to emit any debugging
information for BLOCK, because it doesn't contain any
instructions. This may not be the case for blocks containing
nested functions, since we may actually call such a function even
though the BLOCK information is messed up. Defaults to true. */
bool (* ignore_block) PARAMS ((union tree_node *));
/* Record a source file location at (FILE, LINE). */
void (* source_line) PARAMS ((unsigned int line, const char *file));
@ -87,6 +95,15 @@ struct gcc_debug_hooks
/* DECL is an inline function, whose body is present, but which is
not being output at this point. */
void (* deferred_inline_function) PARAMS ((union tree_node *decl));
/* DECL is an inline function which is about to be emitted out of
line. The hook is useful to, e.g., emit abstract debug info for
the inline before it gets mangled by optimization. */
void (* outlining_inline_function) PARAMS ((union tree_node *decl));
/* Called from final_scan_insn for any CODE_LABEL insn whose
LABEL_NAME is non-null. */
void (* label) PARAMS ((struct rtx_def *insn));
};
extern struct gcc_debug_hooks *debug_hooks;
@ -104,6 +121,10 @@ extern void debug_nothing_int_int
PARAMS ((unsigned int, unsigned int));
extern void debug_nothing_tree
PARAMS ((union tree_node *));
extern bool debug_true_tree
PARAMS ((union tree_node *));
extern void debug_nothing_rtx
PARAMS ((struct rtx_def *));
/* Hooks for various debug formats. */
extern struct gcc_debug_hooks do_nothing_debug_hooks;
@ -121,5 +142,13 @@ extern void dwarf2out_begin_prologue
PARAMS ((unsigned int, const char * file));
extern void dwarf2out_end_epilogue
PARAMS ((void));
extern void dwarf2out_frame_init
PARAMS ((void));
extern void dwarf2out_frame_finish
PARAMS ((void));
/* Decide whether we want to emit frame unwind information for the current
translation unit. */
extern int dwarf2out_do_frame
PARAMS ((void));
#endif /* !GCC_DEBUG_H */

View File

@ -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;
{

View File

@ -18,17 +18,13 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
extern int dwarf2out_ignore_block PARAMS ((tree));
extern void dwarf2out_decl PARAMS ((tree));
extern void dwarf2out_frame_init PARAMS ((void));
extern void dwarf2out_frame_debug PARAMS ((rtx));
extern void dwarf2out_frame_finish PARAMS ((void));
extern void debug_dwarf PARAMS ((void));
struct die_struct;
extern void debug_dwarf_die PARAMS ((struct die_struct *));
extern void dwarf2out_set_demangle_name_func PARAMS ((const char *(*) (const char *)));
extern void dwarf2out_abstract_function PARAMS ((tree));
extern void dwarf2out_add_library_unit_info PARAMS ((const char *, const char *));
extern unsigned current_funcdef_number;

View File

@ -1387,6 +1387,7 @@ struct gcc_debug_hooks dwarf_debug_hooks =
dwarfout_end_source_file_check,
dwarfout_begin_block,
dwarfout_end_block,
debug_true_tree, /* ignore_block */
dwarfout_source_line, /* source_line */
dwarfout_source_line, /* begin_prologue */
dwarfout_end_prologue,
@ -1395,7 +1396,9 @@ struct gcc_debug_hooks dwarf_debug_hooks =
dwarfout_end_function,
dwarfout_function_decl,
dwarfout_global_decl,
dwarfout_deferred_inline_function
dwarfout_deferred_inline_function,
debug_nothing_tree, /* outlining_inline_function */
debug_nothing_rtx /* label */
};
/************************ general utility functions **************************/

View File

@ -54,6 +54,7 @@ Boston, MA 02111-1307, USA. */
#include "bitmap.h"
#include "basic-block.h"
#include "ggc.h"
#include "debug.h"
/* Commonly used modes. */
@ -3003,9 +3004,13 @@ remove_unnecessary_notes ()
if (NOTE_LINE_NUMBER (tmp) == NOTE_INSN_BLOCK_BEG)
{
/* We just verified that this BLOCK matches us
with the block_stack check above. */
if (debug_ignore_block (NOTE_BLOCK (insn)))
/* We just verified that this BLOCK matches us with
the block_stack check above. Never delete the
BLOCK for the outermost scope of the function; we
can refer to names from that scope even if the
block notes are messed up. */
if (! is_body_block (NOTE_BLOCK (insn))
&& (*debug_hooks->ignore_block) (NOTE_BLOCK (insn)))
{
remove_insn (tmp);
remove_insn (insn);

View File

@ -68,22 +68,10 @@ Boston, MA 02111-1307, USA. */
#include "target.h"
#include "debug.h"
#if defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO)
#include "dbxout.h"
#endif /* DBX_DEBUGGING_INFO || XCOFF_DEBUGGING_INFO */
#ifdef XCOFF_DEBUGGING_INFO
#include "xcoffout.h"
#endif
#if defined (DWARF2_UNWIND_INFO) || defined (DWARF2_DEBUGGING_INFO)
#include "dwarf2out.h"
#endif
#ifdef SDB_DEBUGGING_INFO
#include "sdbout.h"
#endif
/* If we aren't using cc0, CC_STATUS_INIT shouldn't exist. So define a
null default for it to save conditionalization later. */
#ifndef CC_STATUS_INIT
@ -2218,10 +2206,9 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes)
FINAL_PRESCAN_INSN (insn, NULL, 0);
#endif
#ifdef SDB_DEBUGGING_INFO
if (write_symbols == SDB_DEBUG && LABEL_NAME (insn))
sdbout_label (insn);
#endif
if (LABEL_NAME (insn))
(*debug_hooks->label) (insn);
if (app_on)
{
fputs (ASM_APP_OFF, file);

View File

@ -2889,7 +2889,7 @@ output_inline_function (fndecl)
/* Do any preparation, such as emitting abstract debug info for the inline
before it gets mangled by optimization. */
note_outlining_of_inline_function (fndecl);
(*debug_hooks->outlining_inline_function) (fndecl);
/* Compile this function all the way down to assembly code. */
rest_of_compilation (fndecl);

View File

@ -106,6 +106,8 @@ static void sdbout_begin_prologue PARAMS ((unsigned int, const char *));
static void sdbout_end_prologue PARAMS ((unsigned int));
static void sdbout_begin_function PARAMS ((tree));
static void sdbout_end_function PARAMS ((unsigned int));
static void sdbout_toplevel_data PARAMS ((tree));
static void sdbout_label PARAMS ((rtx));
static char *gen_fake_label PARAMS ((void));
static int plain_type PARAMS ((tree));
static int template_name_p PARAMS ((tree));
@ -304,6 +306,7 @@ struct gcc_debug_hooks sdb_debug_hooks =
sdbout_end_source_file,
sdbout_begin_block,
sdbout_end_block,
debug_true_tree, /* ignore_block */
sdbout_source_line,
#ifdef MIPS_DEBUGGING_INFO
/* Defer on MIPS systems so that parameter descriptions follow
@ -319,7 +322,9 @@ struct gcc_debug_hooks sdb_debug_hooks =
sdbout_end_function,
debug_nothing_tree, /* function_decl */
sdbout_global_decl,
debug_nothing_tree /* deferred_inline_function */
debug_nothing_tree, /* deferred_inline_function */
debug_nothing_tree, /* outlining_inline_function */
sdbout_label
};
#if 0
@ -947,7 +952,7 @@ sdbout_symbol (decl, local)
/* Output SDB information for a top-level initialized variable
that has been delayed. */
void
static void
sdbout_toplevel_data (decl)
tree decl;
{
@ -1657,7 +1662,7 @@ sdbout_end_epilogue ()
/* Output sdb info for the given label. Called only if LABEL_NAME (insn)
is present. */
void
static void
sdbout_label (insn)
register rtx insn;
{

View File

@ -18,7 +18,5 @@ along with GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
extern void sdbout_label PARAMS ((rtx));
extern void sdbout_symbol PARAMS ((tree, int));
extern void sdbout_toplevel_data PARAMS ((tree));
extern void sdbout_types PARAMS ((tree));

View File

@ -79,10 +79,6 @@ Boston, MA 02111-1307, USA. */
#ifdef SDB_DEBUGGING_INFO
#include "sdbout.h"
#endif
#ifdef XCOFF_DEBUGGING_INFO
#include "xcoffout.h"
#endif
#ifdef VMS
/* The extra parameters substantially improve the I/O performance. */
@ -2590,24 +2586,6 @@ rest_of_type_compilation (type, toplev)
timevar_pop (TV_SYMOUT);
}
/* FNDECL is an inline function which is about to be emitted out of line.
Do any preparation, such as emitting abstract debug info for the inline
before it gets mangled by optimization. */
void
note_outlining_of_inline_function (fndecl)
tree fndecl ATTRIBUTE_UNUSED;
{
#ifdef DWARF2_DEBUGGING_INFO
/* The DWARF 2 backend tries to reduce debugging bloat by not emitting
the abstract description of inline functions until something tries to
reference them. Force it out now, before optimizations mangle the
block tree. */
if (write_symbols == DWARF2_DEBUG)
dwarf2out_abstract_function (fndecl);
#endif
}
/* This is called from finish_function (within yyparse)
after each top-level definition is parsed.
It is supposed to compile that function or variable
@ -5089,27 +5067,3 @@ print_switch_values (file, pos, max, indent, sep, term)
fprintf (file, "%s", term);
}
/* Returns nonzero if it is appropriate not to emit any debugging
information for BLOCK, because it doesn't contain any instructions.
This may not be the case for blocks containing nested functions, since
we may actually call such a function even though the BLOCK information
is messed up. */
int
debug_ignore_block (block)
tree block ATTRIBUTE_UNUSED;
{
/* Never delete the BLOCK for the outermost scope
of the function; we can refer to names from
that scope even if the block notes are messed up. */
if (is_body_block (block))
return 0;
#ifdef DWARF2_DEBUGGING_INFO
if (write_symbols == DWARF2_DEBUG)
return dwarf2out_ignore_block (block);
#endif
return 1;
}

View File

@ -37,7 +37,6 @@ extern int read_integral_parameter PARAMS ((const char *, const char *,
extern int count_error PARAMS ((int));
extern void strip_off_ending PARAMS ((char *, int));
extern void print_time PARAMS ((const char *, long));
extern int debug_ignore_block PARAMS ((union tree_node *));
extern const char *trim_filename PARAMS ((const char *));
extern void internal_error PARAMS ((const char *, ...))
ATTRIBUTE_PRINTF_1
@ -123,8 +122,6 @@ extern void fnotice PARAMS ((FILE *, const char *, ...))
extern int wrapup_global_declarations PARAMS ((union tree_node **, int));
extern void check_global_declarations PARAMS ((union tree_node **, int));
extern void note_outlining_of_inline_function
PARAMS ((union tree_node *));
extern const char *progname;
extern const char *dump_base_name;

View File

@ -2885,11 +2885,6 @@ extern tree get_file_function_name PARAMS ((int));
/* Interface of the DWARF2 unwind info support. */
/* Decide whether we want to emit frame unwind information for the current
translation unit. */
extern int dwarf2out_do_frame PARAMS ((void));
/* Generate a new label for the CFI info to refer to. */
extern char *dwarf2out_cfi_label PARAMS ((void));