This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH]: Fix PR c/12372
- From: Jason Merrill <jason at redhat dot com>
- To: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 10 Oct 2003 15:20:50 -0400
- Subject: Re: [PATCH]: Fix PR c/12372
- References: <200310101856.h9AIujxG018851@hiauly1.hia.nrc.ca>
On Fri, 10 Oct 2003 14:56:45 -0400 (EDT), "John David Anglin" <firstname.lastname@example.org> wrote:
>> On Fri, 10 Oct 2003 13:21:24 -0400 (EDT), "John David Anglin" <email@example.com> wrote:
>> > The enclosed patch fixes the problem of arguments being deleted in a sibcall
>> > to a const function. The change is simply to mark memory as used for
>> > const calls as well as pure calls.
>> No, this is the main difference between const and pure calls.
> Then, do we need to add the memory arguments explicitly to the C_I_F_U
> for the case of a const function or, should we be somehow marking
> the outgoing argument block that a function has access to? I recognized
> that the patch was overkill but it appeared tricky to mark just the
> specific region(s) of memory that a callee is allowed to use.
> The PA runtime allows a function to use the function argument block
> and certain parts of the frame marker region. This introduce effects
> that may be observable beyond that of the return value. In the
> particular case in the PR, we had the argument block on the stack
> being rearranged for a tail call. Note that the argument block for
> a call lies in the frame of the caller, so it could be looked at.
Then perhaps affected functions should be downgraded to pure.