X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gcc%2Fdebug.h;h=277d990c20f0e991a828ea534e4ed64f6d2527ee;hb=6566b0fb86addb5c28d3ff8b2631f7f9516d4054;hp=14c08c8e67d8f74f11bf002342a8884605dfe4f7;hpb=986ccd2171a7fd8e7d221c2d0b49aad844da836f;p=gcc.git diff --git a/gcc/debug.h b/gcc/debug.h index 14c08c8e67d..277d990c20f 100644 --- a/gcc/debug.h +++ b/gcc/debug.h @@ -1,5 +1,5 @@ /* Debug hooks for GCC. - Copyright (C) 2001-2015 Free Software Foundation, Inc. + Copyright (C) 2001-2017 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 @@ -31,7 +31,7 @@ struct gcc_debug_hooks void (* finish) (const char *main_filename); /* Run cleanups necessary after early debug generation. */ - void (* early_finish) (void); + void (* early_finish) (const char *main_filename); /* Called from cgraph_optimize before starting to assemble functions/variables/toplevel asms. */ @@ -65,13 +65,14 @@ 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, DISCRIMINATOR). */ - void (* source_line) (unsigned int line, const char *file, - int discriminator, bool is_stmt); + /* Record a source file location at (FILE, LINE, COLUMN, DISCRIMINATOR). */ + void (* source_line) (unsigned int line, unsigned int column, + const char *file, int discriminator, bool is_stmt); /* Called at start of prologue code. LINE is the first line in the function. */ - void (* begin_prologue) (unsigned int line, const char *file); + void (* begin_prologue) (unsigned int line, unsigned int column, + const char *file); /* Called at end of prologue code. LINE is the first line in the function. */ @@ -144,7 +145,16 @@ struct gcc_debug_hooks /* Debug information for imported modules and declarations. */ void (* imported_module_or_decl) (tree decl, tree name, - tree context, bool child); + tree context, bool child, + bool implicit); + + /* Return true if a DIE for the tree is available and return a symbol + and offset that can be used to refer to it externally. */ + bool (* die_ref_for_decl) (tree, const char **, unsigned HOST_WIDE_INT *); + + /* Early debug information for the tree is available at symbol plus + offset externally. */ + void (* register_external_die) (tree, const char *, unsigned HOST_WIDE_INT); /* DECL is an inline function, whose body is present, but which is not being output at this point. */ @@ -193,23 +203,31 @@ extern const struct gcc_debug_hooks *debug_hooks; /* The do-nothing hooks. */ extern void debug_nothing_void (void); extern void debug_nothing_charstar (const char *); +extern void debug_nothing_int_int_charstar (unsigned int, unsigned int, + 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_int_charstar_int_bool (unsigned int, + 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_tree (tree, tree); extern void debug_nothing_tree_int (tree, int); -extern void debug_nothing_tree_tree_tree_bool (tree, tree, tree, bool); +extern void debug_nothing_tree_tree_tree_bool_bool (tree, tree, tree, + bool, bool); extern bool debug_true_const_tree (const_tree); extern void debug_nothing_rtx_insn (rtx_insn *); extern void debug_nothing_rtx_code_label (rtx_code_label *); +extern bool debug_false_tree_charstarstar_uhwistar (tree, const char **, + unsigned HOST_WIDE_INT *); +extern void debug_nothing_tree_charstar_uhwi (tree, const char *, + unsigned HOST_WIDE_INT); /* Hooks for various debug formats. */ extern const struct gcc_debug_hooks do_nothing_debug_hooks; extern const struct gcc_debug_hooks dbx_debug_hooks; -extern const struct gcc_debug_hooks sdb_debug_hooks; extern const struct gcc_debug_hooks xcoff_debug_hooks; extern const struct gcc_debug_hooks dwarf2_debug_hooks; extern const struct gcc_debug_hooks dwarf2_lineno_debug_hooks; @@ -217,13 +235,13 @@ extern const struct gcc_debug_hooks vmsdbg_debug_hooks; /* Dwarf2 frame information. */ -extern void dwarf2out_begin_prologue (unsigned int, const char *); +extern void dwarf2out_begin_prologue (unsigned int, 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_finish (void); -/* Decide whether we want to emit frame unwind information for the current - translation unit. */ +extern bool dwarf2out_do_eh_frame (void); extern bool dwarf2out_do_frame (void); extern bool dwarf2out_do_cfi_asm (void); extern void dwarf2out_switch_text_section (void);