C++ Issue on GCC 3.0 branch
John David Anglin
dave@hiauly1.hia.nrc.ca
Fri Apr 27 15:14:00 GMT 2001
> If you want another challenge -- the rethrow1.C test from the g++ testsuite is
> getting into an infinite loop. A 2.95.x based compiler does the right thing.
>
> I've started poking at this, but I don't have a real clear understanding of
> the C++ language or its EH semantics. About the only tidbit I've got that
> might be helpful is that we might be missing a call to cp_pop_exception.
I think we need to define builtin_setjmp_receiver to restore r19. The
default exception method I believe is exceptions via longjmp, so we need
this. However, I have no idea whether or not this will fix the problem
with rethrow1.C.
I also noticed a while back that exception_receiver uses a stack offset
of -32 to restore the pic offset table register. This won't work on
the 64-bit target. I think we should restore from the
PIC_OFFSET_TABLE_SAVE_RTX. However, we need to wait for it to be
initialized.
Dave
--
J. David Anglin dave.anglin@nrc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6605)
More information about the Gcc
mailing list