const sibcall crash
Richard Henderson
rth@cygnus.com
Mon May 1 17:00:00 GMT 2000
Analysis in http://gcc.gnu.org/ml/gcc-bugs/2000-04/msg00637.html .
r~
* calls.c (expand_call): Don't emit reg notes for a sibcall.
Index: calls.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/calls.c,v
retrieving revision 1.128
diff -c -p -d -r1.128 calls.c
*** calls.c 2000/04/28 23:17:41 1.128
--- calls.c 2000/05/01 23:47:03
*************** expand_call (exp, target, ignore)
*** 2908,2914 ****
Test valreg so we don't crash; may safely ignore `const'
if return type is void. Disable for PARALLEL return values, because
we have no way to move such values into a pseudo register. */
! if ((flags & (ECF_CONST | ECF_PURE))
&& valreg != 0 && GET_CODE (valreg) != PARALLEL)
{
rtx note = 0;
--- 2908,2915 ----
Test valreg so we don't crash; may safely ignore `const'
if return type is void. Disable for PARALLEL return values, because
we have no way to move such values into a pseudo register. */
! if (pass
! && (flags & (ECF_CONST | ECF_PURE))
&& valreg != 0 && GET_CODE (valreg) != PARALLEL)
{
rtx note = 0;
More information about the Gcc-patches
mailing list