This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH]: Fix PR c/12372
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- To: jason at redhat dot com (Jason Merrill)
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 10 Oct 2003 14:56:45 -0400 (EDT)
- Subject: 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)