This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] Fix gcc.c-torture/execute/20000706-3.c for the v850
- From: Catherine Moore <clm at cygnus dot com>
- To: law at redhat dot com
- Cc: Catherine Moore <clm at redhat dot com>, gcc-patches at gcc dot gnu dot org
- Date: Fri, 03 May 2002 16:33:19 -0700
- Subject: Re: [patch] Fix gcc.c-torture/execute/20000706-3.c for the v850
- Reply-to: clm at redhat dot com
: > if (TARGET_PROLOG_FUNCTION
: > ! && (i == 2 || i >= 20 && (i < 30)))
: Where you trying to write
: A || (B && C)
:
: or
:
: (A || B) && C
:
: It seems to me this should be
:
: && (i == 2 || i >= 20)
: && i < 30
:
: Or am I mistaken?
Jeff,
Thanks for the close read.
This was an editting error with a patch that didn't apply cleanly.
This is the new (and I believe correct patch).
Catherine
Index: v850.c
===================================================================
RCS file: /cvs/cvsfiles/devo/gcc/config/v850/v850.c,v
retrieving revision 1.136
diff -p -r1.136 v850.c
*** v850.c 2002/04/21 19:06:49 1.136
--- v850.c 2002/05/03 23:31:01
*************** compute_register_save_size (p_reg_saved)
*** 1560,1573 ****
need to cover the possibility that such a helper function will
be used, despite the fact that there might be gaps in the list of
registers that need to be saved. To detect this we note that the
! helper functions always push at least register r29 if the link
! register is not used, and at least registers r27 - r31 if the
! link register is used (and provided that the function is not an
! interrupt handler). */
if (TARGET_PROLOG_FUNCTION
! && (i == 2 || i >= 20)
! && regs_ever_live[LINK_POINTER_REGNUM] ? (i < 28) : (i < 30))
{
if (i == 2)
{
--- 1560,1570 ----
need to cover the possibility that such a helper function will
be used, despite the fact that there might be gaps in the list of
registers that need to be saved. To detect this we note that the
! helper functions always push at least register r29 (and provided
! that the function is not an interrupt handler). */
if (TARGET_PROLOG_FUNCTION
! && (i == 2 || ((i >= 20) && (i < 30))))
{
if (i == 2)
{