re PR debug/55328 (ICE: in output_addr_table_entry, at dwarf2out.c:21780 with -gsplit...
authorSterling Augustine <saugustine@google.com>
Wed, 14 Nov 2012 23:36:50 +0000 (23:36 +0000)
committerSterling Augustine <sterling@gcc.gnu.org>
Wed, 14 Nov 2012 23:36:50 +0000 (23:36 +0000)
2012-11-14  Sterling Augustine  <saugustine@google.com>

PR debug/55328
* dwarf2out.c (index_address_table_entry): Check a node's refcount.

From-SVN: r193515

gcc/ChangeLog
gcc/dwarf2out.c

index 109ad262df782126ec6146862900eff32d35eb8d..ee4d129d1b32edef79acfd1835b7af32e7923d37 100644 (file)
@@ -1,3 +1,8 @@
+2012-11-14  Sterling Augustine  <saugustine@google.com>
+
+       PR debug/55328
+       * dwarf2out.c (index_address_table_entry): Check a node's refcount.
+
 2012-11-14  Jan Hubicka  <jh@suse.cz>
 
        PR bootstrap/55051
index 823b49732c43274a673b7d60b6c5184881e54c8c..c5559c869e8244ceb4a11baadb1a4dccf520293b 100644 (file)
@@ -4228,6 +4228,10 @@ index_addr_table_entry (void **h, void *v)
   addr_table_entry *node = (addr_table_entry *) *h;
   unsigned int *index = (unsigned int *) v;
 
+  /* Don't index unreferenced nodes.  */
+  if (node->refcount == 0)
+    return 1;
+
   gcc_assert(node->index == NO_INDEX_ASSIGNED);
   node->index = *index;
   *index += 1;