Commit ec0810c1 by Richard Guenther Committed by Richard Biener

re PR middle-end/46559 (libstdc++ link FAILs with -flto)

2010-11-26  Richard Guenther  <rguenther@suse.de>

	PR middle-end/46559
	* dwarf2out.c (dwarf2out_finish): Use comp_unit_die as root
	for location list processing.

From-SVN: r167181
parent 1e7965d8
2010-11-26 Richard Guenther <rguenther@suse.de> 2010-11-26 Richard Guenther <rguenther@suse.de>
PR middle-end/46559
* dwarf2out.c (dwarf2out_finish): Use comp_unit_die as root
for location list processing.
2010-11-26 Richard Guenther <rguenther@suse.de>
PR lto/46560 PR lto/46560
* cgraph.c (cgraph_clone_edge): Clone call_stmt dependent * cgraph.c (cgraph_clone_edge): Clone call_stmt dependent
flags manually. flags manually.
...@@ -22965,7 +22965,6 @@ dwarf2out_finish (const char *filename) ...@@ -22965,7 +22965,6 @@ dwarf2out_finish (const char *filename)
limbo_die_node *node, *next_node; limbo_die_node *node, *next_node;
comdat_type_node *ctnode; comdat_type_node *ctnode;
htab_t comdat_type_table; htab_t comdat_type_table;
dw_die_ref die = 0;
unsigned int i; unsigned int i;
gen_remaining_tmpl_value_param_die_attribute (); gen_remaining_tmpl_value_param_die_attribute ();
...@@ -22998,8 +22997,8 @@ dwarf2out_finish (const char *filename) ...@@ -22998,8 +22997,8 @@ dwarf2out_finish (const char *filename)
instance. */ instance. */
for (node = limbo_die_list; node; node = next_node) for (node = limbo_die_list; node; node = next_node)
{ {
dw_die_ref die = node->die;
next_node = node->next; next_node = node->next;
die = node->die;
if (die->die_parent == NULL) if (die->die_parent == NULL)
{ {
...@@ -23177,7 +23176,7 @@ dwarf2out_finish (const char *filename) ...@@ -23177,7 +23176,7 @@ dwarf2out_finish (const char *filename)
add_AT_macptr (comp_unit_die (), DW_AT_macro_info, macinfo_section_label); add_AT_macptr (comp_unit_die (), DW_AT_macro_info, macinfo_section_label);
if (have_location_lists) if (have_location_lists)
optimize_location_lists (die); optimize_location_lists (comp_unit_die ());
/* Output all of the compilation units. We put the main one last so that /* Output all of the compilation units. We put the main one last so that
the offsets are available to output_pubnames. */ the offsets are available to output_pubnames. */
...@@ -23222,7 +23221,7 @@ dwarf2out_finish (const char *filename) ...@@ -23222,7 +23221,7 @@ dwarf2out_finish (const char *filename)
ASM_GENERATE_INTERNAL_LABEL (loc_section_label, ASM_GENERATE_INTERNAL_LABEL (loc_section_label,
DEBUG_LOC_SECTION_LABEL, 0); DEBUG_LOC_SECTION_LABEL, 0);
ASM_OUTPUT_LABEL (asm_out_file, loc_section_label); ASM_OUTPUT_LABEL (asm_out_file, loc_section_label);
output_location_lists (die); output_location_lists (comp_unit_die ());
} }
/* Output public names table if necessary. */ /* Output public names table if necessary. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment