http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52857
--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> 2012-04-03 23:28:42 UTC --- Does this patch diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index ca88fc5..935c86f 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -11664,7 +11664,8 @@ mem_loc_descriptor (rtx rtl, enum machine_mode mode, if (dwarf_strict) break; - if (REGNO (rtl) > FIRST_PSEUDO_REGISTER) + if (REGNO (rtl) > FIRST_PSEUDO_REGISTER + || dbx_reg_number (rtl) == INVALID_REGNUM) break; type_die = base_type_for_mode (mode, GET_MODE_CLASS (mode) == MODE_INT); make senses?