This is the mail archive of the gcc@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: Tail recursion problem (ptr_mode != Pmode)


 I don't think it's fixed by that (the bootstrap failure doesn't involve a
struct return and does involve tail recursion), but I do believe it would be
fixed by this patch:

http://gcc.gnu.org/ml/gcc-patches/2003-03/msg01352.html


-- Jeff


> -----Original Message-----
> From: Richard Henderson [mailto:rth at redhat dot com]
> Sent: Friday, March 14, 2003 5:08 PM
> To: Jeffrey Naset
> Cc: gcc at gcc dot gnu dot org
> Subject: Re: Tail recursion problem (ptr_mode != Pmode)
> 
> 
> 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~
> 


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