aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2016-03-15 17:55:39 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2016-03-15 17:55:39 +0000
commit2396a7b193367c89c65ab8380a8bdcc0d6017e4d (patch)
tree8a5a8fb6e8139841966cd43d575b77510d22b510
parent4ccbf3a66d24a87545041185fff0cc54d87a9185 (diff)
downloadgcc-2396a7b193367c89c65ab8380a8bdcc0d6017e4d.zip
gcc-2396a7b193367c89c65ab8380a8bdcc0d6017e4d.tar.gz
gcc-2396a7b193367c89c65ab8380a8bdcc0d6017e4d.tar.bz2
re PR middle-end/69513 (LTO bootstrap fails with bootstrap-profiled during linking gnat1 in stagefeedback)
PR bootstrap/69513 * dwarf2out.c (flush_limbo_die_list): Really flush the limbo list. From-SVN: r234226
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/dwarf2out.c11
2 files changed, 11 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f88750a..8909a99 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2016-03-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR bootstrap/69513
+ * dwarf2out.c (flush_limbo_die_list): Really flush the limbo list.
+
2016-03-15 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* config/avr/avr.md (rotl<mode>3): Set mode for operand 2.
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 6d5e3f5..61bf267 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -27281,12 +27281,15 @@ optimize_location_lists (dw_die_ref die)
static void
flush_limbo_die_list (void)
{
- limbo_die_node *node, *next_node;
+ limbo_die_node *node;
- for (node = limbo_die_list; node; node = next_node)
+ /* get_context_die calls force_decl_die, which can put new DIEs on the
+ limbo list in LTO mode when nested functions are put in a different
+ partition than that of their parent function. */
+ while ((node = limbo_die_list))
{
dw_die_ref die = node->die;
- next_node = node->next;
+ limbo_die_list = node->next;
if (die->die_parent == NULL)
{
@@ -27324,8 +27327,6 @@ flush_limbo_die_list (void)
}
}
}
-
- limbo_die_list = NULL;
}
/* Output stuff that dwarf requires at the end of every file,