diff --git a/gcc/debug.cc b/gcc/debug.cc index 81f6683f4e13f791a55e285723dcb8ca0df62ee5..65725decdb1d4f6f282dc57062653bf6913cf1d3 100644 --- a/gcc/debug.cc +++ b/gcc/debug.cc @@ -32,7 +32,7 @@ const struct gcc_debug_hooks do_nothing_debug_hooks = debug_nothing_int_charstar, debug_nothing_int_charstar, debug_nothing_int, - debug_nothing_int_int, /* begin_block */ + debug_nothing_int_int_tree, /* begin_block */ debug_nothing_int_int, /* end_block */ debug_true_const_tree, /* ignore_block */ debug_nothing_int_int_charstar_int_bool, /* source_line */ @@ -146,6 +146,13 @@ debug_nothing_int_int (unsigned int line ATTRIBUTE_UNUSED, { } +void +debug_nothing_int_int_tree (unsigned int line ATTRIBUTE_UNUSED, + unsigned int n ATTRIBUTE_UNUSED, + tree block ATTRIBUTE_UNUSED) +{ +} + void debug_nothing_tree_int (tree decl ATTRIBUTE_UNUSED, int local ATTRIBUTE_UNUSED) diff --git a/gcc/debug.h b/gcc/debug.h index 1d6642aad0396574e462468300a7e72579815adf..7d35d7d58770f2aacc7f348daad1dc3a3d44afc0 100644 --- a/gcc/debug.h +++ b/gcc/debug.h @@ -57,7 +57,7 @@ struct gcc_debug_hooks /* Record the beginning of block N, counting from 1 and not including the function-scope block, at LINE. */ - void (* begin_block) (unsigned int line, unsigned int n); + void (* begin_block) (unsigned int line, unsigned int n, tree block); /* Record the end of a block. Arguments as for begin_block. */ void (* end_block) (unsigned int line, unsigned int n); @@ -223,6 +223,7 @@ extern void debug_nothing_int_int_charstar_int_bool (unsigned int, int, bool); extern void debug_nothing_int (unsigned int); extern void debug_nothing_int_int (unsigned int, unsigned int); +extern void debug_nothing_int_int_tree (unsigned int, unsigned int, tree); extern void debug_nothing_tree (tree); extern void debug_nothing_tree_tree (tree, tree); extern void debug_nothing_tree_int (tree, int); diff --git a/gcc/dwarf2out.cc b/gcc/dwarf2out.cc index 0eb339077919441c03cfd30a813fcc673fb6b6ac..a4957cf68ac9581d45d9dc5f25b834098c18b271 100644 --- a/gcc/dwarf2out.cc +++ b/gcc/dwarf2out.cc @@ -2865,7 +2865,7 @@ static void dwarf2out_undef (unsigned int, const char *); static void dwarf2out_start_source_file (unsigned, const char *); static void dwarf2out_end_source_file (unsigned); static void dwarf2out_function_decl (tree); -static void dwarf2out_begin_block (unsigned, unsigned); +static void dwarf2out_begin_block (unsigned, unsigned, tree); static void dwarf2out_end_block (unsigned, unsigned); static bool dwarf2out_ignore_block (const_tree); static void dwarf2out_set_ignored_loc (unsigned, unsigned, const char *); @@ -2950,7 +2950,7 @@ const struct gcc_debug_hooks dwarf2_lineno_debug_hooks = debug_nothing_int_charstar, debug_nothing_int_charstar, debug_nothing_int, - debug_nothing_int_int, /* begin_block */ + debug_nothing_int_int_tree, /* begin_block */ debug_nothing_int_int, /* end_block */ debug_true_const_tree, /* ignore_block */ dwarf2out_source_line, /* source_line */ @@ -27805,7 +27805,8 @@ dwarf2out_function_decl (tree decl) static void dwarf2out_begin_block (unsigned int line ATTRIBUTE_UNUSED, - unsigned int blocknum) + unsigned int blocknum, + tree block ATTRIBUTE_UNUSED) { switch_to_section (current_function_section ()); ASM_OUTPUT_DEBUG_LABEL (asm_out_file, BLOCK_BEGIN_LABEL, blocknum); diff --git a/gcc/final.cc b/gcc/final.cc index 5d911586de5bca928baeee3a68e7fe1bd37290e4..ea08c4956fb6162db0f063e0b6ec2dbda20d8e2a 100644 --- a/gcc/final.cc +++ b/gcc/final.cc @@ -2299,7 +2299,7 @@ final_scan_insn_1 (rtx_insn *insn, FILE *file, int optimize_p ATTRIBUTE_UNUSED, /* Output debugging info about the symbol-block beginning. */ if (!DECL_IGNORED_P (current_function_decl)) - debug_hooks->begin_block (last_linenum, n); + debug_hooks->begin_block (last_linenum, n, NOTE_BLOCK (insn)); /* Mark this block as output. */ TREE_ASM_WRITTEN (NOTE_BLOCK (insn)) = 1; diff --git a/gcc/vmsdbgout.cc b/gcc/vmsdbgout.cc index f5d0d84cf708536f9946a14a39383cafd132bd71..d9e6a8b7b74b379816b433a7cf5da61bb9b6fb8e 100644 --- a/gcc/vmsdbgout.cc +++ b/gcc/vmsdbgout.cc @@ -154,7 +154,7 @@ static void vmsdbgout_define (unsigned int, const char *); static void vmsdbgout_undef (unsigned int, const char *); static void vmsdbgout_start_source_file (unsigned int, const char *); static void vmsdbgout_end_source_file (unsigned int); -static void vmsdbgout_begin_block (unsigned int, unsigned int); +static void vmsdbgout_begin_block (unsigned int, unsigned int, tree); static void vmsdbgout_end_block (unsigned int, unsigned int); static bool vmsdbgout_ignore_block (const_tree); static void vmsdbgout_source_line (unsigned int, unsigned int, const char *, @@ -1230,7 +1230,8 @@ vmsdbgout_end_epilogue (unsigned int line, const char *file) a lexical block. */ static void -vmsdbgout_begin_block (unsigned line, unsigned blocknum) +vmsdbgout_begin_block (unsigned line, unsigned blocknum, + tree block ATTRIBUTE_UNUSED) { if (write_symbols == VMS_AND_DWARF2_DEBUG) (*dwarf2_debug_hooks.begin_block) (line, blocknum);