This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Tail recursion problem (ptr_mode != Pmode)
- From: Richard Henderson <rth at redhat dot com>
- To: Jeffrey Naset <jnaset at rsn dot hp dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Fri, 14 Mar 2003 15:07:53 -0800
- Subject: Re: Tail recursion problem (ptr_mode != Pmode)
- References: <08FA40B9-559E-11D7-832A-0003930F25EA@rsn.hp.com>
On Thu, Mar 13, 2003 at 03:52:07PM -0600, Jeffrey Naset wrote:
> In this case, output_mangled_typename takes two args (both pointers),
> and they are swizzled at the very top of the function (probably in the
> prologue). Later, when a recursive call is made, the args are loaded
> (unswizzled, per the calling conventions) and a branch is made, to a
> point just after where the pointers are swizzled. Then the program
> dies trying to reference memory location in a register that doesn't
> have a valid 64-bit pointer value. (It is a valid 32-bit pointer)
> [Pmode for the architecture is DImode, ptr_mode in this case is SImode]
I don't suppose this is fixed by
http://gcc.gnu.org/ml/gcc-patches/2003-03/msg01324.html
r~