Gale Paeper wrote:
In looking at the actual generated PPC assembly code for the trash procedure in nonloc2goto.pas and the trash function in nonloc4goto.pas, both end up using an 80 byte stack frame.
I'm at a loss to explain why the stack frame is so large. There is nothing in the assembly code for those two routines which would require that large of a stack frame but that's what the compiler generates.
Thanks for your comments to my previous post. I am experimenting a bit now and I think it has something to do with the --inline-functions flag, that is turned on by -O3. Without the --inline-functions flag, there is no stack overflow.
To see whether it is a Pascal front end issue or a generic PPC backend issue, I wrote C equivalents for those to routines.
What are the specs of the C compiler or did you use gpc as the C compiler driver ?
Regards,
Adriaan van Os