This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] Fix PR c/9530
- From: Mark Mitchell <mark at codesourcery dot com>
- To: Eric Botcazou <ebotcazou at libertysurf dot fr>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 03 Feb 2003 08:59:15 -0800
- Subject: Re: [PATCH] Fix PR c/9530
--On Sunday, February 02, 2003 01:51:25 PM +0100 Eric Botcazou
This a regression from gcc 3.0.x on all branches.
The compiler segfaults in fixup_abnormal_edges() because it is trying to
move and insert an instruction on a non-existant edge. This SET
instruction was issued by the reg-to-stack pass because the function
baz() is declared to return a value, but doesn't actually return any.
The problem is that the call to foo() is turned into a sibling call
(CALL_INSN with /j flag) but the instruction is issued *after* the
trailing CALL_INSN, thus confusing fixup_abnormal_edges().
The proposed fix is to instruct the reg-to-stack pass to issue the
missing SET instruction before the trailing CALL_INSN (like with a
This patch is OK.
Mark Mitchell firstname.lastname@example.org
CodeSourcery, LLC http://www.codesourcery.com