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 c/12372


On Fri, 10 Oct 2003 14:56:45 -0400 (EDT), "John David Anglin" <dave@hiauly1.hia.nrc.ca> wrote:

>> On Fri, 10 Oct 2003 13:21:24 -0400 (EDT), "John David Anglin" <dave@hiauly1.hia.nrc.ca> 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.

Jason


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