Hello! Attached patch fixes recent bootstrap failure on alpha-pc-linux-gnu in in dwarf2out_var_location, at dwarf2out.c:21983.
2011-03-21 Uros Bizjak <ubiz...@gmail.com> * config/alpha/alpha.c (alpha_pad_noreturn): Do not emit an unop between a call and its CALL_ARG_LOCATION note. Bootstrapped and regression tested on alphaev68-pc-linux-gnu. OK for mainline SVN? Uros.
Index: alpha.c =================================================================== --- alpha.c (revision 171208) +++ alpha.c (working copy) @@ -9644,10 +9644,20 @@ alpha_pad_noreturn (void) for (insn = get_insns (); insn; insn = NEXT_INSN (insn)) { - if (!CALL_P (insn) - || !find_reg_note (insn, REG_NORETURN, NULL_RTX)) + if (! (CALL_P (insn) + && find_reg_note (insn, REG_NORETURN, NULL_RTX))) continue; + /* Make sure we do not split a call and its corresponding + CALL_ARG_LOCATION note. */ + if (CALL_P (insn)) + { + next = NEXT_INSN (insn); + if (next && NOTE_P (next) + && NOTE_KIND (next) == NOTE_INSN_CALL_ARG_LOCATION) + insn = next; + } + next = next_active_insn (insn); if (next)