X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fdebug.h;h=828ede2304e2b93f76eeba17af7d573b4091ac7a;hb=f53dc1beca14933ff21b68564c9ff4f93eb882ac;hp=cab1e2603e2b910716dacc20a640cb9b7feca2b2;hpb=9bf03e068fa76b6f77b60b10e990a476c798b199;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/debug.h b/gcc/debug.h index cab1e2603e2..828ede2304e 100644 --- a/gcc/debug.h +++ b/gcc/debug.h @@ -1,5 +1,6 @@ /* Debug hooks for GCC. - Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2010, 2011 + Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the @@ -30,6 +31,10 @@ struct gcc_debug_hooks /* Output debug symbols. */ void (* finish) (const char *main_filename); + /* Called from cgraph_optimize before starting to assemble + functions/variables/toplevel asms. */ + void (* assembly_start) (void); + /* Macro defined on line LINE with name and expansion TEXT. */ void (* define) (unsigned int line, const char *text); @@ -58,18 +63,21 @@ struct gcc_debug_hooks though the BLOCK information is messed up. Defaults to true. */ bool (* ignore_block) (const_tree); - /* Record a source file location at (FILE, LINE). */ - void (* source_line) (unsigned int line, const char *file); + /* Record a source file location at (FILE, LINE, DISCRIMINATOR). */ + void (* source_line) (unsigned int line, const char *file, + int discriminator, bool is_stmt); /* Called at start of prologue code. LINE is the first line in the - function. This has been given the same prototype as source_line, - so that the source_line hook can be substituted if appropriate. */ + function. */ void (* begin_prologue) (unsigned int line, const char *file); /* Called at end of prologue code. LINE is the first line in the function. */ void (* end_prologue) (unsigned int line, const char *file); + /* Called at beginning of epilogue code. */ + void (* begin_epilogue) (unsigned int line, const char *file); + /* Record end of epilogue code. */ void (* end_epilogue) (unsigned int line, const char *file); @@ -98,7 +106,8 @@ struct gcc_debug_hooks void (* type_decl) (tree decl, int local); /* Debug information for imported modules and declarations. */ - void (* imported_module_or_decl) (tree decl, tree context); + void (* imported_module_or_decl) (tree decl, tree name, + tree context, bool child); /* DECL is an inline function, whose body is present, but which is not being output at this point. */ @@ -124,9 +133,17 @@ struct gcc_debug_hooks text sections. */ void (* switch_text_section) (void); + /* Called from grokdeclarator. Replaces the anonymous name with the + type name. */ + void (* set_name) (tree, tree); + /* This is 1 if the debug writer wants to see start and end commands for the main source files, and 0 otherwise. */ int start_end_main_source_file; + + /* The type of symtab field used by these debug hooks. This is one + of the TYPE_SYMTAB_IS_xxx values defined in tree.h. */ + int tree_type_symtab_field; }; extern const struct gcc_debug_hooks *debug_hooks; @@ -135,13 +152,17 @@ extern const struct gcc_debug_hooks *debug_hooks; extern void debug_nothing_void (void); extern void debug_nothing_charstar (const char *); extern void debug_nothing_int_charstar (unsigned int, const char *); +extern void debug_nothing_int_charstar_int_bool (unsigned int, const char *, + int, bool); extern void debug_nothing_int (unsigned int); extern void debug_nothing_int_int (unsigned int, unsigned int); extern void debug_nothing_tree (tree); -extern void debug_nothing_tree_int (tree, int); extern void debug_nothing_tree_tree (tree, tree); +extern void debug_nothing_tree_int (tree, int); +extern void debug_nothing_tree_tree_tree_bool (tree, tree, tree, bool); extern bool debug_true_const_tree (const_tree); extern void debug_nothing_rtx (rtx); +extern void debug_nothing_rtx_rtx (rtx, rtx); /* Hooks for various debug formats. */ extern const struct gcc_debug_hooks do_nothing_debug_hooks; @@ -154,21 +175,22 @@ extern const struct gcc_debug_hooks vmsdbg_debug_hooks; /* Dwarf2 frame information. */ extern void dwarf2out_begin_prologue (unsigned int, const char *); +extern void dwarf2out_vms_end_prologue (unsigned int, const char *); +extern void dwarf2out_vms_begin_epilogue (unsigned int, const char *); extern void dwarf2out_end_epilogue (unsigned int, const char *); -extern void dwarf2out_frame_init (void); extern void dwarf2out_frame_finish (void); /* Decide whether we want to emit frame unwind information for the current translation unit. */ -extern int dwarf2out_do_frame (void); +extern bool dwarf2out_do_frame (void); +extern bool dwarf2out_do_cfi_asm (void); extern void dwarf2out_switch_text_section (void); -extern void debug_flush_symbol_queue (void); -extern void debug_queue_symbol (tree); -extern void debug_free_queue (void); -extern int debug_nesting; -extern int symbol_queue_index; - const char *remap_debug_filename (const char *); void add_debug_prefix_map (const char *); +/* For -fdump-go-spec. */ + +extern const struct gcc_debug_hooks * +dump_go_spec_init (const char *, const struct gcc_debug_hooks *); + #endif /* !GCC_DEBUG_H */