This patch fixes an ICE in remove_addr_table_entry, where we try to
remove the .debug_addr entries for an expression where they've already
been removed earlier in the loop.

-cary


2013-03-05   Sterling Augustine  <saugust...@google.com>
             Cary Coutant  <ccout...@google.com>

        PR debug/55364
        * gcc/dwarf2out.c (resolve_addr): Don't call
        remove_loc_list_addr_table_entries a second time for the same
        expression.


Index: gcc/dwarf2out.c
===================================================================
--- gcc/dwarf2out.c     (revision 196479)
+++ gcc/dwarf2out.c     (working copy)
@@ -22691,8 +22691,6 @@ resolve_addr (dw_die_ref die)
            else
              {
                loc->replaced = 1;
-                if (dwarf_split_debug_info)
-                  remove_loc_list_addr_table_entries (loc->expr);
                loc->dw_loc_next = *start;
              }
          }

Reply via email to