This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Code motion around labels
- To: kenner at vlsi1 dot ultra dot nyu dot edu, rth at redhat dot com
- Subject: Re: Code motion around labels
- From: dewar at gnat dot com
- Date: Sun, 15 Apr 2001 08:42:03 -0400 (EDT)
- Cc: gcc at gcc dot gnu dot org
<<Because that's a significant amount of work, which shouldn't be on the
critical path.
>>
Also this work raises all sorts of technical issues. for example, the Ada
implementation of zero cost exceptions on the x86 does not require external
tables, so we have to look carefully at the (rather considerable) cost
of going to the use of unwind tables on this target.
Another issue is compatibility with unwinding of third party library
stuff (this has particularly been an issue on HPUX).
Another issue is that the existing scheme does not quite handle Ada semantics
completely, and yes, of course the right thing is to modify it so that it
does, being careful not to discombobulate g++.
Another issue is that we urgently need zero cost exceptions on targets for
which gcc does not provide them. What we would like to do here is to enhance
gcc so that it does provide them, but that's also not zero work.
Historically, we had to zoom ahead and implement exceptions before the
gcc scheme got completed, so that's how the divergence occurred. Of course
it is on our list of important goals to reintegrate. Indeed what we want to
do in the long run is make Ada and C++ have interoperable exceptions (we
also need to accomodate the VMS notion of exportable exceptions).
So there is a lot of important work there, but it is not urgent and it
is better to do it right, rather than put it on the critical path and
be forced to kludge things.