This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix PR middle-end/32602 and middle-end/32603
- From: Ian Lance Taylor <iant at google dot com>
- To: Josh Conner <jconner at apple dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>, Roger Sayle <roger at eyesopen dot com>, Diego Novillo <dnovillo at google dot com>
- Date: 03 Jul 2007 17:37:24 -0700
- Subject: Re: [PATCH] Fix PR middle-end/32602 and middle-end/32603
- References: <468A847F.6080707@apple.com>
Josh Conner <jconner@apple.com> writes:
> 2007-07-03 Josh Conner <jconner@apple.com>
>
> PR middle-end/32602
> PR middle-end/32603
> * calls.c (store_one_arg): Handle arguments which are partially
> on the stack when detecting argument overlap.
>
> 2007-07-03 Josh Conner <jconner@apple.com>
>
> PR middle-end/32602
> * gcc.dg/sibcall-8.c: New test.
>
> 2007-07-03 Josh Conner <jconner@apple.com>
>
> PR middle-end/32603
> * gcc.target/arm/sibcall-1.c: New test.
This is OK if you add a gcc_assert that arg->local.size.var == 0, or
simply add that to the existing assert:
/* expand_call should ensure this. */
gcc_assert (!arg->locate.offset.var
&& GET_CODE (size_rtx) == CONST_INT);
I suspect it is implied by GET_CODE (size_rtx) == CONST_INT, but I
would feel happier if we check for it explicitly.
Thanks.
Ian