From: Eric Botcazou Date: Tue, 15 Mar 2016 17:55:39 +0000 (+0000) Subject: re PR middle-end/69513 (LTO bootstrap fails with bootstrap-profiled during linking... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2396a7b193367c89c65ab8380a8bdcc0d6017e4d;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f88750a65a1..8909a99e08b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-03-15 Eric Botcazou + + PR bootstrap/69513 + * dwarf2out.c (flush_limbo_die_list): Really flush the limbo list. + 2016-03-15 Senthil Kumar Selvaraj * config/avr/avr.md (rotl3): Set mode for operand 2. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 6d5e3f540f5..61bf267d6ec 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,