This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
x86 sibling call stuff
- To: Richard Henderson <rth at twiddle dot net>, Jeff Law <law at cygnus dot com>
- Subject: x86 sibling call stuff
- From: Mark Mitchell <mark at codesourcery dot com>
- Date: Sun, 19 Mar 2000 12:18:07 -0800
- Cc: gcc-bugs at gcc dot gnu dot org
- Organization: CodeSourcery, LLC
Richard & Jeff --
The sibling call stuff seems to be responsible for the failure of
g++.jason/inline3.C on i686-pc-linux-gnu.
Right now, this test won't compile. The reason is that a
NOTE_INSN_EH_REGION_BEG note that gets created during an expand_call
never makes it into the final instruction stream, even thow the END
note does. A sanity check in flow causes an abort.
Backing out the 386 MD changes gets us back to building -- but the
call to `f' in this function:
int
main()
{
g( f() );
return r;
}
does not appear in the generated code. (No, it's not being inlined;
it's being dropped by flow2, as far as I can tell.)
I'm not sure exactly why. But, first the test started failing at
run-time, and now it's failing at compile-time; the first failure
started about when the sibling call support went in, and the second
when the x86 MD changes went in, so I'm betting they're related
somehow.
Would one of you mind checking this out?
--
Mark Mitchell mark@codesourcery.com
CodeSourcery, LLC http://www.codesourcery.com