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 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.

Dave
-- 
J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)


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