This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: ia64 c++ abi exception handling
>>>>> "Richard" == Richard Henderson <rth@redhat.com> writes:
>> Thinking again about your proposed rethrow optimization, we can sometimes
>> be sure that a rethrow will be caught (or satisfy an exception spec), but
>> we can never be sure that it won't.
> I scrapped the rethrow idea. There is still a way to mark direct
> throws only. That's what you're seeing.
I actually wasn't responding to anything in the patch; it's just that as
long as you're optimizing for exception specs, it seems to me that you
might as well use the same logic for rethrows. For optimization purposes,
a rethrow from a catch block can be treated exactly like an exception spec
with a single allowed type.
Of course, this would still require a bit more code to find the
corresponding catch block, and probably a new region type, so I don't mind
if this just gets a ??? comment for now.
>> There sure are a lot of functions that contain overlapping bits of the
>> logic about when an exception can pass through to an outer handler. I
>> feel pretty strongly that we should contain all that (fairly complex)
>> logic in a single function.
> Here's a revised gcc/except.c. The whole file is smaller than the diff.
Looks good, thanks.
Jason