aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2010-11-26 16:01:26 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2010-11-26 16:01:26 +0000
commitec0810c1812f0f00d36880770dce2a4cd3dcb77d (patch)
tree15e00701ea8b7297bfe6abe0a442f390c3fef7a0 /gcc
parent1e7965d89ee2b04956f62a0f23aad7b4fc4a35c1 (diff)
downloadgcc-ec0810c1812f0f00d36880770dce2a4cd3dcb77d.zip
gcc-ec0810c1812f0f00d36880770dce2a4cd3dcb77d.tar.gz
gcc-ec0810c1812f0f00d36880770dce2a4cd3dcb77d.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/dwarf2out.c7
2 files changed, 9 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e64e927..2687d4e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
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
* cgraph.c (cgraph_clone_edge): Clone call_stmt dependent
flags manually.
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 3195a92..e230861 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -22965,7 +22965,6 @@ dwarf2out_finish (const char *filename)
limbo_die_node *node, *next_node;
comdat_type_node *ctnode;
htab_t comdat_type_table;
- dw_die_ref die = 0;
unsigned int i;
gen_remaining_tmpl_value_param_die_attribute ();
@@ -22998,8 +22997,8 @@ dwarf2out_finish (const char *filename)
instance. */
for (node = limbo_die_list; node; node = next_node)
{
+ dw_die_ref die = node->die;
next_node = node->next;
- die = node->die;
if (die->die_parent == NULL)
{
@@ -23177,7 +23176,7 @@ dwarf2out_finish (const char *filename)
add_AT_macptr (comp_unit_die (), DW_AT_macro_info, macinfo_section_label);
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
the offsets are available to output_pubnames. */
@@ -23222,7 +23221,7 @@ dwarf2out_finish (const char *filename)
ASM_GENERATE_INTERNAL_LABEL (loc_section_label,
DEBUG_LOC_SECTION_LABEL, 0);
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. */