Consistently using __throw_* (was: Re: PATCH: Eliminate uses of "sleep"...)
Benjamin Kosnik
bkoz@redhat.com
Wed Jan 5 19:34:00 GMT 2005
>> "__throw_exception_again;" should be used in place of "throw;" to rethrow
>> an active exception. With -fno-exceptions __throw_exception_again is
>> replaced with an empty string, which is not what's wanted.
..when -fno-exceptions, all catch blocks are turned into if (false). I
think that makes this particular issue pretty moot, since presumably all
rethrows are within catch blocks, no?
(
>I mean, some time ago I did an audit for this issue, and for a consistent
>fix we need to add a few functions to the set in functexcept.h.
>At least:
>
> __throw (which boils down to either throw or abort)
It looks like this usage is mostly ok, with the exception of some
testsuite_* files. I can fix these up.
> __throw_symbol_error
> __throw_facet_error
> __throw_positioning_error
> __throw_fuzzy_logic
Not quite sure where you are getting these? Hmm.
It is undoubtedly true that functexcept.h should contain -fno-except
versions exception objects used by the library, extensions, and
tr1 work.
-benjamin
More information about the Gcc-patches
mailing list