diff options
author | Jason Merrill <jason@redhat.com> | 2015-06-11 13:33:40 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2015-06-11 13:33:40 -0400 |
commit | 1eb231ed3ffab639276f638d0687f5299281117a (patch) | |
tree | a2668c86c2d0198336469cc73e884e947d361830 | |
parent | 2d6f2dce793e917f00a366ed0d1c5d1545f5c50d (diff) | |
download | gcc-1eb231ed3ffab639276f638d0687f5299281117a.zip gcc-1eb231ed3ffab639276f638d0687f5299281117a.tar.gz gcc-1eb231ed3ffab639276f638d0687f5299281117a.tar.bz2 |
dwarf2out.c (prune_unused_types): Handle unused top-level limbo dies.
* dwarf2out.c (prune_unused_types): Handle unused top-level limbo
dies.
From-SVN: r224391
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 13 |
2 files changed, 16 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 066d669..57900ce 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2015-06-11 Jason Merrill <jason@redhat.com> + + * dwarf2out.c (prune_unused_types): Handle unused top-level limbo + dies. + 2015-06-11 Marek Polacek <polacek@redhat.com> * match.pd ((x & y) ^ (x | y)): Don't check for single_use. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 8a36fe8..3a92b02 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -23789,8 +23789,17 @@ prune_unused_types (void) if (skeleton_debug_str_hash) skeleton_debug_str_hash->empty (); prune_unused_types_prune (comp_unit_die ()); - for (node = limbo_die_list; node; node = node->next) - prune_unused_types_prune (node->die); + for (limbo_die_node **pnode = &limbo_die_list; *pnode; ) + { + node = *pnode; + if (!node->die->die_mark) + *pnode = node->next; + else + { + prune_unused_types_prune (node->die); + pnode = &node->next; + } + } for (ctnode = comdat_type_list; ctnode; ctnode = ctnode->next) prune_unused_types_prune (ctnode->root_die); |