When promote_debug_loc was first introduced, it would never be called with a NULL loc list. However, because of the strategy of temporarily resetting loc lists before recursion introduced a few months ago in alias.c, the earlier assumption no longer holds.
This patch adusts promote_debug_loc to deal with this case. Ok to install?
for gcc/ChangeLog from Alexandre Oliva <aol...@redhat.com> PR debug/53682 * cselib.c (promote_debug_loc): Don't crash on NULL argument. Index: gcc/cselib.c =================================================================== --- gcc/cselib.c.orig 2012-06-17 22:52:27.740087279 -0300 +++ gcc/cselib.c 2012-06-18 08:55:32.948832112 -0300 @@ -322,7 +322,7 @@ new_elt_loc_list (cselib_val *val, rtx l static inline void promote_debug_loc (struct elt_loc_list *l) { - if (l->setting_insn && DEBUG_INSN_P (l->setting_insn) + if (l && l->setting_insn && DEBUG_INSN_P (l->setting_insn) && (!cselib_current_insn || !DEBUG_INSN_P (cselib_current_insn))) { n_debug_values--;
-- Alexandre Oliva, freedom fighter http://FSFLA.org/~lxoliva/ You must be the change you wish to see in the world. -- Gandhi Be Free! -- http://FSFLA.org/ FSF Latin America board member Free Software Evangelist Red Hat Brazil Compiler Engineer