This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix PR middle-end/32602 and middle-end/32603


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]