mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-12-12 05:13:50 +08:00
dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl instead of dwarf2out_decl.
* dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl instead of dwarf2out_decl. (struct var_loc_node): Remove section_label field. (dwarf2out_function_decl): New function. (dwarf2out_var_location): Don't set section_label field. (dwarf2out_begin_function): Don't empty decl_loc_table here. From-SVN: r157771
This commit is contained in:
parent
62f7fd2195
commit
5a9c8a1bb7
@ -1,3 +1,12 @@
|
||||
2010-03-27 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
|
||||
instead of dwarf2out_decl.
|
||||
(struct var_loc_node): Remove section_label field.
|
||||
(dwarf2out_function_decl): New function.
|
||||
(dwarf2out_var_location): Don't set section_label field.
|
||||
(dwarf2out_begin_function): Don't empty decl_loc_table here.
|
||||
|
||||
2010-03-26 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||||
|
||||
PR tree-optimization/43544
|
||||
|
@ -5410,6 +5410,7 @@ static void dwarf2out_define (unsigned int, const char *);
|
||||
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_end_block (unsigned, unsigned);
|
||||
static bool dwarf2out_ignore_block (const_tree);
|
||||
@ -5447,7 +5448,7 @@ const struct gcc_debug_hooks dwarf2_debug_hooks =
|
||||
dwarf2out_end_epilogue,
|
||||
dwarf2out_begin_function,
|
||||
debug_nothing_int, /* end_function */
|
||||
dwarf2out_decl, /* function_decl */
|
||||
dwarf2out_function_decl, /* function_decl */
|
||||
dwarf2out_global_decl,
|
||||
dwarf2out_type_decl, /* type_decl */
|
||||
dwarf2out_imported_module_or_decl,
|
||||
@ -5731,7 +5732,6 @@ DEF_VEC_ALLOC_O(die_arg_entry,gc);
|
||||
struct GTY ((chain_next ("%h.next"))) var_loc_node {
|
||||
rtx GTY (()) var_loc_note;
|
||||
const char * GTY (()) label;
|
||||
const char * GTY (()) section_label;
|
||||
struct var_loc_node * GTY (()) next;
|
||||
};
|
||||
|
||||
@ -19925,6 +19925,16 @@ dwarf2out_decl (tree decl)
|
||||
gen_decl_die (decl, NULL, context_die);
|
||||
}
|
||||
|
||||
/* Write the debugging output for DECL. */
|
||||
|
||||
static void
|
||||
dwarf2out_function_decl (tree decl)
|
||||
{
|
||||
dwarf2out_decl (decl);
|
||||
|
||||
htab_empty (decl_loc_table);
|
||||
}
|
||||
|
||||
/* Output a marker (i.e. a label) for the beginning of the generated code for
|
||||
a lexical block. */
|
||||
|
||||
@ -20317,11 +20327,6 @@ dwarf2out_var_location (rtx loc_note)
|
||||
newloc->label = last_postcall_label;
|
||||
}
|
||||
|
||||
if (cfun && in_cold_section_p)
|
||||
newloc->section_label = crtl->subsections.cold_section_label;
|
||||
else
|
||||
newloc->section_label = text_section_label;
|
||||
|
||||
last_var_location_insn = next_real;
|
||||
last_in_cold_section_p = in_cold_section_p;
|
||||
}
|
||||
@ -20334,8 +20339,6 @@ dwarf2out_var_location (rtx loc_note)
|
||||
static void
|
||||
dwarf2out_begin_function (tree fun)
|
||||
{
|
||||
htab_empty (decl_loc_table);
|
||||
|
||||
if (function_section (fun) != text_section)
|
||||
have_multiple_function_sections = true;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user