This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: eh frame debug size improvement
On Wed, Oct 15, 1997 at 06:02:43PM -0400, Michael Meissner wrote:
> Note, if the comment is true, then an throwing an exception will wipe
> out all alloca'ed data, which IMHO is uncool.
No, if the epilogue can handle not caring where the stack pointer is,
as it surely must in a function using alloca, we can, as the comment
said, leave the stack pointer alone.
This will cause problems only with situations like
while (1) {
try {
diediedie(barney);
} catch (...) {
}
}
where we keep pushing parameters and not reclaiming.
Note that if the function does not use alloca, we can reinit off the
frame pointer and the above does work. Dynamicly sized arrays are
trickier, but we should still be able to reinit off the fp, since block
scope applies, and the save_expr's for the array sizes should still be
hanging out.
r~