diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2016-03-15 17:55:39 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2016-03-15 17:55:39 +0000 |
commit | 2396a7b193367c89c65ab8380a8bdcc0d6017e4d (patch) | |
tree | 8a5a8fb6e8139841966cd43d575b77510d22b510 /gcc/dwarf2out.c | |
parent | 4ccbf3a66d24a87545041185fff0cc54d87a9185 (diff) | |
download | gcc-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
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r-- | gcc/dwarf2out.c | 11 |
1 files changed, 6 insertions, 5 deletions
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, |