http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46389
--- Comment #7 from Richard Guenther <rguenth at gcc dot gnu.org> 2010-11-10 13:12:24 UTC --- #2 0x008c620a in add_var_loc_to_decl (decl=0x77628058, loc_note=0x76fef3e8, label=0x76c0b7a0 "*.LVL884") at ../../gcc/dwarf2out.c:8221 8221 gcc_assert (temp->first == temp->last); (gdb) p *temp->first $11 = {loc = 0x7700c028, label = 0x76c41630 "*.LVL859", next = 0x76c41700} (gdb) p *temp->first->next $12 = {loc = 0x76761790, label = 0x76c416f0 "*.LVL860", next = 0x76c41970} (gdb) p *temp->first->next->next $13 = {loc = 0x7700c550, label = 0x76c41980 "*.LVL862", next = 0x76c41ec0} (gdb) p *temp->first->next->next->next $14 = {loc = 0x76761760, label = 0x76c41ed0 "*.LVL875", next = 0x76c41f00} (gdb) p *temp->first->next->next->next->next $15 = {loc = 0x76761750, label = 0x76c41ef0 "*.LVL876", next = 0x76c41f20} (gdb) p *temp->first->next->next->next->next->next $16 = {loc = 0x76ff91e0, label = 0x76c41f30 "*.LVL877", next = 0x76c0b1e0} ... breakpoint as suggested: Breakpoint 2, add_var_loc_to_decl (decl=0x77628058, loc_note=0x7700c028, label=0x76c41630 "*.LVL859") at ../../gcc/dwarf2out.c:8165 8165 slot = htab_find_slot_with_hash (decl_loc_table, decl, decl_id, INSERT); (note 1234 1233 1235 (var_location new_item (reg:DI 4 %r4 [ new_item ])) NOTE_INSN_VAR_LOCATION) $19 = 0x76c41630 "*.LVL859" (note 1236 725 1237 (var_location new_item$P_ARRAY (reg:SI 4 %r4 [ new_item ])) NOTE_INSN_VAR_LOCATION) $20 = 0x0 (note 1237 1236 1238 (var_location new_item (reg:DI 4 %r4 [ new_item ])) NOTE_INSN_VAR_LOCATION) $21 = 0x76c416f0 "*.LVL860" (note 1238 1237 1671 (var_location new_item$P_BOUNDS (reg:SI 5 %r5 [orig:301 new_item+4 ] [301])) NOTE_INSN_VAR_LOCATION) $22 = 0x76c416f0 "*.LVL860" (note 1254 1045 1255 (var_location new_item$P_ARRAY (reg:SI 14 %r14 [orig:300 new_item ] [300])) NOTE_INSN_VAR_LOCATION) $23 = 0x0 (note 1255 1254 51 (var_location new_item (parallel [ (expr_list:REG_DEP_TRUE (reg:SI 14 %r14 [orig:300 new_item ] [300]) (const_int 0 [0])) (expr_list:REG_DEP_TRUE (reg:SI 5 %r5 [orig:301 new_item+4 ] [301]) (const_int 4 [0x4])) ])) NOTE_INSN_VAR_LOCATION) $24 = 0x76c41980 "*.LVL862" (note 1292 473 483 (var_location new_item$P_BOUNDS (nil)) NOTE_INSN_VAR_LOCATION) $25 = 0x0 (note 1294 1293 1295 (var_location new_item$P_ARRAY (nil)) NOTE_INSN_VAR_LOCATION) $26 = 0x76c41ef0 "*.LVL876" (note 1312 1680 1311 (var_location new_item (nil)) NOTE_INSN_VAR_LOCATION) $27 = 0x0 (note/c 1302 1303 1301 (var_location new_item (nil)) NOTE_INSN_VAR_LOCATION) $28 = 0x76c41f50 "*.LVL877-1" (note 1320 1319 1321 (var_location new_item (parallel [ (expr_list:REG_DEP_TRUE (reg:SI 14 %r14 [orig:300 new_item ] [300]) (const_int 0 [0])) (expr_list:REG_DEP_TRUE (reg:SI 5 %r5 [orig:301 new_item+4 ] [301]) (const_int 4 [0x4])) ])) NOTE_INSN_VAR_LOCATION) $29 = 0x76c0b170 "*.LVL878" (note 1323 1322 1324 (var_location new_item$P_BOUNDS (reg:SI 5 %r5 [orig:301 new_item+4 ] [301])) NOTE_INSN_VAR_LOCATION) $30 = 0x76c0b170 "*.LVL878" (note 1324 1323 1325 (var_location new_item$P_ARRAY (reg:SI 14 %r14 [orig:300 new_item ] [300])) NOTE_INSN_VAR_LOCATION) $31 = 0x76c0b170 "*.LVL878" (note 1399 573 1400 (var_location new_item$P_ARRAY (nil)) NOTE_INSN_VAR_LOCATION) $32 = 0x0 (note 1400 1399 1398 (var_location new_item (nil)) NOTE_INSN_VAR_LOCATION) $33 = 0x76c0b7a0 "*.LVL884" (note/c 1395 1396 1394 (var_location new_item$P_BOUNDS (nil)) NOTE_INSN_VAR_LOCATION) $34 = 0x76c0b7d0 "*.LVL884-1" (note/c 1388 1389 1387 (var_location new_item (nil)) NOTE_INSN_VAR_LOCATION) $35 = 0x76c0b7d0 "*.LVL884-1" (note 1403 1402 1404 (var_location new_item (parallel [ (expr_list:REG_DEP_TRUE (reg:SI 14 %r14 [orig:300 new_item ] [300]) (const_int 0 [0])) (expr_list:REG_DEP_TRUE (reg:SI 5 %r5 [orig:301 new_item+4 ] [301]) (const_int 4 [0x4])) ])) NOTE_INSN_VAR_LOCATION) $36 = 0x76c0b7a0 "*.LVL884"