This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug bootstrap/48214] internal compiler error: in dwarf2out_var_location, at dwarf2out.c:21983
- From: "ubizjak at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 21 Mar 2011 10:52:33 +0000
- Subject: [Bug bootstrap/48214] internal compiler error: in dwarf2out_var_location, at dwarf2out.c:21983
- Auto-submitted: auto-generated
- References: <bug-48214-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48214
Uros Bizjak <ubizjak at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2011.03.21 10:52:19
AssignedTo|unassigned at gcc dot |ubizjak at gmail dot com
|gnu.org |
Target Milestone|--- |4.7.0
Ever Confirmed|0 |1
--- Comment #3 from Uros Bizjak <ubizjak at gmail dot com> 2011-03-21 10:52:19 UTC ---
Thanks, following patch fixes bootstrap for me:
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)